@Override
      public void run(@NotNull ProgressIndicator indicator) {
        try {
          List<Change> preprocessed = ChangesPreprocess.preprocessChangesRemoveDeletedForDuplicateMoved(changesList);
          List<FilePatch> patches = IdeaTextPatchBuilder.buildPatch(project, preprocessed, baseDir.toNioPath(), myReverse, false);
          String activityName = myReverse ? VcsBundle.message("activity.name.rollback") : VcsBundle.message("activity.name.apply.patch");
          ActivityId activityId = myReverse ? VcsActivity.Rollback : VcsActivity.ApplyPatch;
          new PatchApplier(project, baseDir, new ArrayList<>(patches), targetList, null, false, null, null,
                           activityName, activityId).execute();
        }
        catch (final VcsException ex) {
          WaitForProgressToShow.runOrInvokeLaterAboveProgress(() -> {
            Messages.showErrorDialog(project, errorPrefix + ex.getMessage(), title);
          }, null, project);
          indicator.cancel();
        }
      }
@Override
      public void run(@NotNull ProgressIndicator indicator)