src/vs/base/common/async.ts/TimeoutTimer/setIfNotSet
class TimeoutTimer:	setIfNotSet(runner: () => void, timeout: number): void {
		if (this._token !== -1) {
			// timer is already set
			return;
		}
		this._token = setTimeout(() => {
			this._token = -1;
			runner();
		}, timeout);
	}