src/vs/base/common/async.ts/TimeoutTimer/cancelAndSet
class TimeoutTimer:	cancelAndSet(runner: () => void, timeout: number): void {
		this.cancel();
		this._token = setTimeout(() => {
			this._token = -1;
			runner();
		}, timeout);
	}