void (@NotNull AnActionEvent e) { final Project project = e.getData(CommonDataKeys.PROJECT); final VcsKey vcsKey = e.getData(VcsDataKeys.VCS); if (project == null || vcsKey == null) { e.getPresentation().setEnabled(false); return; } final Boolean isNonLocal = e.getData(VcsDataKeys.VCS_NON_LOCAL_HISTORY_SESSION); final VirtualFile revisionVirtualFile = e.getData(VcsDataKeys.VCS_VIRTUAL_FILE); boolean enabled = (e.getData(VcsDataKeys.VCS_FILE_REVISION) != null) && (revisionVirtualFile != null); enabled = enabled && (!Boolean.TRUE.equals(isNonLocal) || canPresentNonLocal(project, vcsKey, revisionVirtualFile)); e.getPresentation().setEnabled(enabled); }