void (@NotNull AnActionEvent e) { Presentation presentation = e.getPresentation(); if (myForcedDiffTool != null) { presentation.setEnabledAndVisible(false); return; } DiffTool activeTool = e.getData(ACTIVE_DIFF_TOOL); DiffContext diffContext = e.getData(DiffDataKeys.DIFF_CONTEXT); DiffRequest diffRequest = e.getData(DiffDataKeys.DIFF_REQUEST); if (activeTool == null || diffContext == null || diffRequest == null) { presentation.setEnabledAndVisible(false); return; } //noinspection DialogTitleCapitalization presentation.setText(activeTool.getName()); for (DiffTool tool : filterFittedTools(getAllKnownTools(), diffContext, diffRequest)) { if (!isSameToolOrSubstitutor(tool, activeTool, diffContext, diffRequest)) { presentation.setEnabledAndVisible(true); return; } } presentation.setEnabledAndVisible(false); }