src/vs/workbench/services/editor/browser/editorService.ts/EditorService/extractEditorResources
class EditorService:	private extractEditorResources(editors: Array<EditorInputWithOptions | IUntypedEditorInput>): { resources: URI[]; diffMode?: boolean } {
		const resources = new ResourceMap<boolean>();
		let diffMode = false;

		for (const editor of editors) {

			// Typed Editor
			if (isEditorInputWithOptions(editor)) {
				const resource = EditorResourceAccessor.getOriginalUri(editor.editor, { supportSideBySide: SideBySideEditor.BOTH });
				if (URI.isUri(resource)) {
					resources.set(resource, true);
				} else if (resource) {
					if (resource.primary) {
						resources.set(resource.primary, true);
					}

					if (resource.secondary) {
						resources.set(resource.secondary, true);
					}

					diffMode = editor.editor instanceof DiffEditorInput;
				}
			}

			// Untyped editor
			else {
				if (isResourceDiffEditorInput(editor)) {
					const originalResourceEditor = editor.original;
					if (URI.isUri(originalResourceEditor.resource)) {
						resources.set(originalResourceEditor.resource, true);
					}

					const modifiedResourceEditor = editor.modified;
					if (URI.isUri(modifiedResourceEditor.resource)) {
						resources.set(modifiedResourceEditor.resource, true);
					}

					diffMode = true;
				} else if (isResourceEditorInput(editor)) {
					resources.set(editor.resource, true);
				}
			}
		}

		return {
			resources: Array.from(resources.keys()),
			diffMode
		};
	}