private @NotNull GitChangesSaver configureSaver(@NotNull GitSaveChangesPolicy saveMethod, boolean reportLocalHistoryActivity) {
    GitChangesSaver saver = GitChangesSaver.getSaver(myProject, myGit, myProgressIndicator, myStashMessage, saveMethod, reportLocalHistoryActivity);
    MergeDialogCustomizer mergeDialogCustomizer = new MergeDialogCustomizer() {
      @Override
      public @NotNull String getMultipleFileMergeDescription(@NotNull Collection<VirtualFile> files) {
        return wrapInHtml(
          GitBundle.message(
            "restore.conflict.dialog.description.label.text",
            myOperationTitle,
            wrapInHtmlTag(myDestinationName, "code")
          )
        );
      }

      @Override
      public @NotNull String getLeftPanelTitle(@NotNull VirtualFile file) {
        return saveMethod.selectBundleMessage(
          GitBundle.message("restore.conflict.diff.dialog.left.stash.title"),
          GitBundle.message("restore.conflict.diff.dialog.left.shelf.title")
        );
      }

      @Override
      public @NotNull String getRightPanelTitle(@NotNull VirtualFile file, VcsRevisionNumber revisionNumber) {
        return wrapInHtml(GitBundle.message("restore.conflict.diff.dialog.right.title", wrapInHtmlTag(myDestinationName, "b")));
      }
    };

    GitConflictResolver.Params params = new GitConflictResolver.Params(myProject).
      setReverse(true).
      setMergeDialogCustomizer(mergeDialogCustomizer).
      setErrorNotificationTitle(GitBundle.message("preserving.process.local.changes.not.restored.error.title"));

    saver.setConflictResolverParams(params);
    return saver;
  }
private @NotNull GitChangesSaver configureSaver(@NotNull GitSaveChangesPolicy saveMethod, boolean reportLocalHistoryActivity)