private @Nullable VcsCherryPicker getCherryPickerOrReportError(@NotNull VcsFullCommitDetails details) {
      CommitId commitId = new CommitId(details.getId(), details.getRoot());
      if (myIdsInProgress.contains(commitId)) {
        showError(DvcsBundle.message("cherry.pick.process.is.already.started.for.commit.from.root",
                                     commitId.getHash().toShortString(),
                                     commitId.getRoot().getName()));
        return null;
      }
      myIdsInProgress.add(commitId);

      VcsCherryPicker cherryPicker = getCherryPickerForCommit(details);
      if (cherryPicker == null) {
        showError(DvcsBundle.message("cherry.pick.is.not.supported.for.commit.from.root",
                                     commitId.getHash().toShortString(),
                                     commitId.getRoot().getName()));
        return null;
      }
      return cherryPicker;
    }
private @Nullable VcsCherryPicker getCherryPickerOrReportError(@NotNull VcsFullCommitDetails details)