src/vs/workbench/services/editor/browser/editorOverrideService.ts/EditorOverrideService/resolveEditorInput
class EditorOverrideService:	async resolveEditorInput(editor: IUntypedEditorInput, group: IEditorGroup, conflictingDefault?: boolean): Promise<ReturnedOverride> {
		let resource = EditorResourceAccessor.getCanonicalUri(editor, { supportSideBySide: SideBySideEditor.PRIMARY });
		let options = editor.options;


		if (resource === undefined) {
			resource = URI.from({ scheme: Schemas.untitled });
		}

		if (!options?.override || typeof options.override !== 'string') {
			await this.populateEditorId(editor);
		}

		// Resolved the override as much as possible, now find a given editor (cast here is ok because we resolve down to a string above)
		const { editor: selectedEditor } = this.getEditor(resource, editor.options?.override as string | undefined);
		if (!selectedEditor) {
			return OverrideStatus.NONE;
		}

		const handlesDiff = typeof selectedEditor.options?.canHandleDiff === 'function' ? selectedEditor.options.canHandleDiff() : selectedEditor.options?.canHandleDiff;
		if (handlesDiff === false && isResourceDiffEditorInput(editor)) {
			return OverrideStatus.NONE;
		}

		// If it's the currently active editor we shouldn't do anything
		const activeEditor = group.activeEditor;
		const isActive = activeEditor ? activeEditor.editorId === selectedEditor.editorInfo.id && isEqual(activeEditor.resource, resource) : false;
		if (isActive) {
			return OverrideStatus.NONE;
		}
		const input = await this.doOverrideEditorInput(editor, group, selectedEditor);
		if (conflictingDefault && input) {
			// Show the conflicting default dialog
			await this.doHandleConflictingDefaults(resource, selectedEditor.editorInfo.label, editor, input.editor, group);
		}

		if (input) {
			this.sendOverrideTelemetry(input.editor);
			return input;
		}
		return OverrideStatus.ABORT;
	}