src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts/AbstractTaskService/_runTaskCommand
class AbstractTaskService:	private _runTaskCommand(arg?: any): void {
		if (!this._canRunCommand()) {
			return;
		}
		const identifier = this._getTaskIdentifier(arg);
		if (identifier !== undefined) {
			this._getGroupedTasks().then(async (grouped) => {
				const resolver = this._createResolver(grouped);
				const folderURIs: (URI | string)[] = this._contextService.getWorkspace().folders.map(folder => folder.uri);
				if (this._contextService.getWorkbenchState() === WorkbenchState.WORKSPACE) {
					folderURIs.push(this._contextService.getWorkspace().configuration!);
				}
				folderURIs.push(USER_TASKS_GROUP_KEY);
				for (const uri of folderURIs) {
					const task = await resolver.resolve(uri, identifier);
					if (task) {
						this.run(task).then(undefined, reason => {
							// eat the error, it has already been surfaced to the user and we don't care about it here
						});
						return;
					}
				}
				this._doRunTaskCommand(grouped.all());
			}, () => {
				this._doRunTaskCommand();
			});
		} else {
			this._doRunTaskCommand();
		}
	}