void (@NotNull AnActionEvent e) { if (!e.isFromActionToolbar()) { e.getPresentation().setEnabledAndVisible(true); return; } DiffRequest request = e.getData(DiffDataKeys.DIFF_REQUEST); DiffContext context = e.getData(DiffDataKeys.DIFF_CONTEXT); if (DiffUtil.isUserDataFlagSet(DiffUserDataKeys.GO_TO_SOURCE_DISABLE, request, context)) { e.getPresentation().setEnabledAndVisible(false); return; } if (e.getProject() == null) { e.getPresentation().setVisible(true); e.getPresentation().setEnabled(false); return; } Navigatable[] navigatables = e.getData(DiffDataKeys.NAVIGATABLE_ARRAY); if (navigatables == null || !ContainerUtil.exists(navigatables, (it) -> it.canNavigate())) { e.getPresentation().setVisible(true); e.getPresentation().setEnabled(false); return; } e.getPresentation().setEnabledAndVisible(true); }