private boolean handleRebaseContinueFailure(final VirtualFile root,
                                              @NotNull GitCommandResult commandResult,
                                              @NotNull GitRebaseProblemDetector rebaseConflictDetector) {
    if (rebaseConflictDetector.isMergeConflict()) {
      LOG.info("handleRebaseFailure merge conflict");
      return new GitRebaser.ResumeConflictResolver(myProject, root, this).merge();
    }
    else if (rebaseConflictDetector.isNoChangeError()) {
      LOG.info("handleRebaseFailure no changes error detected");
      try {
        if (GitUtil.hasLocalChanges(true, myProject, root)) {
          LOG.error("The rebase detector incorrectly detected 'no changes' situation. Attempting to continue rebase.");
          return continueRebase(root);
        }
        else if (GitUtil.hasLocalChanges(false, myProject, root)) {
          LOG.warn("No changes from patch were not added to the index. Adding all changes from tracked files.");
          stageEverything(root);
          return continueRebase(root);
        }
        else {
          LOG.info("no changes confirmed. Skipping commit " + GitRebaseUtils.getCurrentRebaseCommit(myProject, root));
          return skipCommitAndContinue(root);
        }
      }
      catch (VcsException e) {
        LOG.info("Failed to work around 'no changes' error.", e);
        VcsNotifier.getInstance(myProject)
          .notifyError(
            REBASE_UPDATE_PROJECT_ERROR,
            GitBundle.message("rebase.update.project.notification.failed.title"),
            GitBundle.message("rebase.update.project.notification.failed.message", e.getMessage()));
        return false;
      }
    }
    else {
      List<VcsException> errors = ContainerUtil.map(collectErrorOutputLines(commandResult), it -> new VcsException(it));
      LOG.info("handleRebaseFailure error");
      VcsNotifier.getInstance(myProject)
        .notifyError(
          REBASE_UPDATE_PROJECT_ERROR,
          GitBundle.message("rebase.update.project.notification.failed.title"),
          "",
          errors);
      return false;
    }
  }
private boolean handleRebaseContinueFailure(final VirtualFile root,
                                              @NotNull GitCommandResult commandResult,
                                              @NotNull GitRebaseProblemDetector rebaseConflictDetector)