void (@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); } }