src/vs/workbench/browser/editor.ts/EditorRegistry/findEditorDescriptors
class EditorRegistry:	private findEditorDescriptors(input: EditorInput, byInstanceOf?: boolean): EditorDescriptor[] {
		const matchingDescriptors: EditorDescriptor[] = [];

		for (const editor of this.editors) {
			const inputDescriptors = this.mapEditorToInputs.get(editor) || [];
			for (const inputDescriptor of inputDescriptors) {
				const inputClass = inputDescriptor.ctor;

				// Direct check on constructor type (ignores prototype chain)
				if (!byInstanceOf && input.constructor === inputClass) {
					matchingDescriptors.push(editor);
					break;
				}

				// Normal instanceof check
				else if (byInstanceOf && input instanceof inputClass) {
					matchingDescriptors.push(editor);
					break;
				}
			}
		}

		// If no descriptors found, continue search using instanceof and prototype chain
		if (!byInstanceOf && matchingDescriptors.length === 0) {
			return this.findEditorDescriptors(input, true);
		}

		return matchingDescriptors;
	}