src/vs/workbench/services/extensions/browser/extensionUrlHandler.ts/ExtensionUrlHandler/waitUntilExtensionIsAdded
class ExtensionUrlHandler:	private async waitUntilExtensionIsAdded(extensionId: IExtensionIdentifier): Promise<void> {
		if (!(await this.extensionService.getExtension(extensionId.id))) {
			await new Promise<void>((c, e) => {
				const disposable = this.extensionService.onDidChangeExtensions(async () => {
					try {
						if (await this.extensionService.getExtension(extensionId.id)) {
							disposable.dispose();
							c();
						}
					} catch (error) {
						e(error);
					}
				});
			});
		}
	}