void (@NotNull AnActionEvent e) { Project project = e.getProject(); VcsLogCommitSelection selection = e.getData(VcsLogDataKeys.VCS_LOG_COMMIT_SELECTION); if (project == null || selection == null) { e.getPresentation().setEnabledAndVisible(false); return; } List<CommitId> commits = selection.getCommits(); if (commits.isEmpty()) { e.getPresentation().setEnabledAndVisible(false); return; } CommitId commit = ContainerUtil.getFirstItem(commits); assert commit != null; Repo repository = getRepositoryForRoot(project, commit.getRoot()); if (repository == null) { e.getPresentation().setEnabledAndVisible(false); return; } e.getPresentation().setVisible(isVisible(project, repository, commit.getHash())); e.getPresentation().setEnabled(commits.size() == 1 && isEnabled(repository, commit.getHash())); }