src/vs/workbench/contrib/files/common/explorerModel.ts/ExplorerItem/fetchChildren
class ExplorerItem:	async fetchChildren(sortOrder: SortOrder): Promise<ExplorerItem[]> {
		if (!this._isDirectoryResolved) {
			// Resolve metadata only when the mtime is needed since this can be expensive
			// Mtime is only used when the sort order is 'modified'
			const resolveMetadata = sortOrder === SortOrder.Modified;
			try {
				const stat = await this.fileService.resolve(this.resource, { resolveSingleChildDescendants: true, resolveMetadata });
				const resolved = ExplorerItem.create(this.fileService, stat, this);
				ExplorerItem.mergeLocalWithDisk(resolved, this);
			} catch (e) {
				this.isError = true;
				throw e;
			}
			this._isDirectoryResolved = true;
		}

		const items: ExplorerItem[] = [];
		this.children.forEach(child => {
			items.push(child);
		});

		return items;
	}