@Nullable
    private GithubRepo validateRepoAndLoadParent(@NotNull GithubApiRequestExecutor executor, @NotNull ProgressIndicator indicator) {
      try {
        GithubRepoDetailed repositoryInfo =
          executor.execute(indicator,
                           GithubApiRequests.Repos.get(myAccount.getServer(), myRepoPath.getOwner(), myRepoPath.getRepository()));
        if (repositoryInfo == null) {
          GithubNotifications.showError(myProject,
                                        GithubNotificationIdsHolder.REBASE_REPO_NOT_FOUND,
                                        GithubBundle.message("rebase.error"),
                                        GithubBundle.message("rebase.error.repo.not.found", myRepoPath.toString()));
          return null;
        }

        GithubRepo parentRepo = repositoryInfo.getParent();
        if (!repositoryInfo.isFork() || parentRepo == null) {
          GithubNotifications.showWarningURL(myProject,
                                             GithubNotificationIdsHolder.REBASE_REPO_IS_NOT_A_FORK,
                                             GithubBundle.message("rebase.error"),
                                             "GitHub repository ", "'" + repositoryInfo.getName() + "'", " is not a fork",
                                             repositoryInfo.getHtmlUrl());
          return null;
        }
        return parentRepo;
      }
      catch (IOException e) {
        GithubNotifications.showError(myProject,
                                      GithubNotificationIdsHolder.REBASE_CANNOT_LOAD_REPO_INFO,
                                      GithubBundle.message("cannot.load.repo.info"),
                                      e);
        return null;
      }
    }
@Nullable
    private GithubRepo validateRepoAndLoadParent(@NotNull GithubApiRequestExecutor executor, @NotNull ProgressIndicator indicator)