src/vs/workbench/contrib/tasks/browser/taskQuickPick.ts/TaskQuickPick/doPickerSecondLevel
class TaskQuickPick:	private async doPickerSecondLevel(picker: IQuickPick<TaskTwoLevelQuickPickEntry>, type: string) {
		picker.busy = true;
		if (type === SHOW_ALL) {
			const items = (await this.taskService.tasks()).sort((a, b) => this.sorter.compare(a, b)).map(task => this.createTaskEntry(task));
			items.push(...TaskQuickPick.allSettingEntries(this.configurationService));
			picker.items = items;
		} else {
			picker.value = '';
			picker.items = await this.getEntriesForProvider(type);
		}
		picker.busy = false;
		const secondLevelPickerResult = await new Promise<TaskTwoLevelQuickPickEntry | undefined | null>(resolve => {
			Event.once(picker.onDidAccept)(async () => {
				resolve(picker.selectedItems ? picker.selectedItems[0] : undefined);
			});
		});

		return secondLevelPickerResult;
	}