void (@NotNull AnActionEvent e) { Presentation presentation = e.getPresentation(); final DataContext dataContext = e.getDataContext(); Project project = CommonDataKeys.PROJECT.getData(dataContext); if (project == null) { presentation.setEnabled(false); return; } VirtualFile[] files = CommonDataKeys.VIRTUAL_FILE_ARRAY.getData(dataContext); if (files == null || files.length == 0) { presentation.setEnabled(false); return; } final HgVcs vcs = HgVcs.getInstance(project); if ((vcs == null)) { presentation.setEnabled(false); return; } if (!ProjectLevelVcsManager.getInstance(project).checkAllFilesAreUnder(vcs, files)) { presentation.setEnabled(false); return; } boolean enabled = false; for (VirtualFile file : files) { boolean fileEnabled = isEnabled(project, vcs, file); if (fileEnabled) { enabled = true; break; } } presentation.setEnabled(enabled); }