src/vs/workbench/api/browser/mainThreadDecorations.ts/DecorationRequestsQueue/enqueue
class DecorationRequestsQueue:	enqueue(uri: URI, token: CancellationToken): Promise<DecorationData> {
		const id = ++this._idPool;
		const result = new Promise<DecorationData>(resolve => {
			this._requests.set(id, { id, uri });
			this._resolver.set(id, resolve);
			this._processQueue();
		});
		const sub = token.onCancellationRequested(() => {
			this._requests.delete(id);
			this._resolver.delete(id);
		});
		return result.finally(() => sub.dispose());
	}