src/vs/workbench/api/common/extHostLanguageFeatures.ts/LinkedEditingRangeAdapter/provideLinkedEditingRanges
class LinkedEditingRangeAdapter:	provideLinkedEditingRanges(resource: URI, position: IPosition, token: CancellationToken): Promise<modes.LinkedEditingRanges | undefined> {

		const doc = this._documents.getDocument(resource);
		const pos = typeConvert.Position.to(position);

		return asPromise(() => this._provider.provideLinkedEditingRanges(doc, pos, token)).then(value => {
			if (value && Array.isArray(value.ranges)) {
				return {
					ranges: coalesce(value.ranges.map(typeConvert.Range.from)),
					wordPattern: value.wordPattern
				};
			}
			return undefined;
		});
	}