UIController (@NotNull Editor editor) { ApplicationManager.getApplication().assertIsNonDispatchThread(); // to assert no slow ops in EDT boolean mergeEditor = editor.getUserData(DiffUserDataKeys.MERGE_EDITOR_FLAG) == Boolean.TRUE; return editor.getEditorKind() == EditorKind.DIFF && !mergeEditor ? new AbstractUIController() : new DefaultUIController(); }