src/vs/workbench/services/editor/browser/editorService.ts/EditorService/openEditor
class EditorService:	async openEditor(editor: IEditorInput | IUntypedEditorInput, optionsOrPreferredGroup?: IEditorOptions | OpenInEditorGroup, preferredGroup?: OpenInEditorGroup): Promise<IEditorPane | undefined> {
		let typedEditor: IEditorInput | undefined = undefined;
		let group: IEditorGroup | undefined = undefined;

		// Resolve override unless disabled
		let options = isEditorInput(editor) ? (optionsOrPreferredGroup as IEditorOptions) : editor.options;
		if (options?.override !== EditorOverride.DISABLED) {
			const [overrideResult, resolvedGroup, resolvedOptions] = await this.doResolveEditor(
				isEditorInput(editor) ? { editor, options } : editor,
				isOpenInEditorGroup(optionsOrPreferredGroup) ? optionsOrPreferredGroup : preferredGroup
			);

			group = resolvedGroup;
			options = resolvedOptions;

			if (overrideResult === OverrideStatus.ABORT) {
				return; // skip editor if override is aborted
			}

			if (overrideResult !== OverrideStatus.NONE) {
				typedEditor = overrideResult.editor;
				options = overrideResult.options ?? options;
			}
		}

		// Override is disabled or did not apply
		if (!typedEditor) {
			typedEditor = isEditorInput(editor) ? editor : this.createEditorInput(editor);
		}

		// If group still isn't defined because of a disabled override we resolve it
		if (!group) {
			const [resolvedGroup, activation] = this.findTargetGroup(typedEditor, options, isOpenInEditorGroup(optionsOrPreferredGroup) ? optionsOrPreferredGroup : preferredGroup);
			if (activation) {
				options = { ...options, activation };
			}

			group = resolvedGroup;
		}

		return group.openEditor(typedEditor, options);
	}