src/vs/workbench/api/common/extHostTreeViews.ts/ExtHostTreeView/reveal
class ExtHostTreeView:	reveal(element: T | undefined, options?: IRevealOptions): Promise<void> {
		options = options ? options : { select: true, focus: false };
		const select = isUndefinedOrNull(options.select) ? true : options.select;
		const focus = isUndefinedOrNull(options.focus) ? false : options.focus;
		const expand = isUndefinedOrNull(options.expand) ? false : options.expand;

		if (typeof this.dataProvider.getParent !== 'function') {
			return Promise.reject(new Error(`Required registered TreeDataProvider to implement 'getParent' method to access 'reveal' method`));
		}

		if (element) {
			return this.refreshPromise
				.then(() => this.resolveUnknownParentChain(element))
				.then(parentChain => this.resolveTreeNode(element, parentChain[parentChain.length - 1])
					.then(treeNode => this.proxy.$reveal(this.viewId, { item: treeNode.item, parentChain: parentChain.map(p => p.item) }, { select, focus, expand })), error => this.logService.error(error));
		} else {
			return this.proxy.$reveal(this.viewId, undefined, { select, focus, expand });
		}
	}