src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.ts/MergeEditor/_toggleEditorOverwrite
class MergeEditor:	private _toggleEditorOverwrite(haveIt: boolean) {
		if (!haveIt) {
			this._editorOverrideHandle.clear();
			return;
		}
		// this is RATHER UGLY. I dynamically register an editor for THIS (editor,input) so that
		// navigating within the merge editor works, e.g navigating from the outline or breakcrumps
		// or revealing a definition, reference etc
		// TODO@jrieken @bpasero @lramos15
		const input = this.input;
		if (input instanceof MergeEditorInput) {
			this._editorOverrideHandle.value = this._editorResolverService.registerEditor(
				`${input.result.scheme}:${input.result.fsPath}`,
				{
					id: `${this.getId()}/fake`,
					label: this.input?.getName()!,
					priority: RegisteredEditorPriority.exclusive
				},
				{},
				(candidate): EditorInputWithOptions => {
					const resource = EditorResourceAccessor.getCanonicalUri(candidate);
					if (!isEqual(resource, this.model?.result.uri)) {
						throw new Error(`Expected to be called WITH ${input.result.toString()}`);
					}
					return { editor: input };
				}
			);
		}
	}