@Override
  public void actionPerformed(@NotNull AnActionEvent e) {
    VcsLogUsageTriggerCollector.triggerUsage(e, this);

    Project project = e.getData(CommonDataKeys.PROJECT);
    if (project == null) return;
    VcsLogCommitSelection selection = e.getData(VcsLogDataKeys.VCS_LOG_COMMIT_SELECTION);
    if (selection == null) return;
    FileHistoryModel model = e.getData(VcsLogInternalDataKeys.FILE_HISTORY_MODEL);
    if (model == null) return;

    List<CommitId> commits = selection.getCommits();
    if (commits.size() != 1) return;
    CommitId commit = Objects.requireNonNull(getFirstItem(commits));

    if (ChangeListManager.getInstance(project).isFreezedWithNotification(null)) return;

    FilePath localPath = e.getData(VcsDataKeys.FILE_PATH);
    if (localPath == null) return;
    FilePath pathInCommit = model.getPathInCommit(commit.getHash());
    VcsLogDiffHandler handler = e.getData(VcsLogInternalDataKeys.LOG_DIFF_HANDLER);
    if (handler == null) return;

    handler.showDiffWithLocal(commit.getRoot(), pathInCommit, commit.getHash(), localPath);
  }
@Override
  public void actionPerformed(@NotNull AnActionEvent e)