void (@NotNull List<? extends VcsFullCommitDetails> commits) { ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator(); if (indicator != null) { indicator.setIndeterminate(false); } IntRef cherryPickedCommitsCount = new IntRef(1); new GitApplyChangesProcess(myProject, commits, true, GitBundle.message("cherry.pick.name"), GitBundle.message("cherry.pick.applied"), (repository, commit, autoCommit, listeners) -> { GitCommandResult result = cherryPickSingleCommit( repository, commit, autoCommit, listeners, indicator, cherryPickedCommitsCount.get(), commits.size() ); cherryPickedCommitsCount.inc(); return result; }, new GitAbortOperationAction.CherryPick(), result -> isNothingToCommitMessage(result), (repository, commit) -> createCommitMessage(repository, commit), true, (repository, autoCommit) -> cancelCherryPick(repository, autoCommit)).execute(); }