GithubRepo (@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; } }