@Override
    public void actionPerformed(@NotNull AnActionEvent e) {
      VcsSelectionHistoryDialog dialog = e.getRequiredData(SELECTION_HISTORY_DIALOG_KEY);

      BlockData blockData = dialog.myBlockLoader.getLoadedData();
      if (blockData.getRevisions().isEmpty()) return;

      IntPair range = dialog.getSelectedRevisionsRange(blockData);

      List<VcsFileRevision> revisions = blockData.getRevisions();
      VcsFileRevision beforeRevision = range.second < revisions.size() ? revisions.get(range.second) : VcsFileRevision.NULL;
      VcsFileRevision afterRevision = revisions.get(range.first);

      FilePath filePath = VcsUtil.getFilePath(dialog.myFile);

      if (range.second - range.first > 1) {
        dialog.getDiffHandler().showDiffForTwo(dialog.myProject, filePath, beforeRevision, afterRevision);
      }
      else {
        dialog.getDiffHandler().showDiffForOne(e, dialog.myProject, filePath, beforeRevision, afterRevision);
      }
    }
@Override
    public void actionPerformed(@NotNull AnActionEvent e)