private void assertIsNotSubscribed()

in src/main/java/com/googlesource/gerrit/plugins/renameproject/conditions/RenamePreconditions.java [109:127]


  private void assertIsNotSubscribed(Project.NameKey key) throws CannotRenameProjectException {
    try (Repository repo = repoManager.openRepository(key);
        MergeOpRepoManager orm = ormProvider.get()) {
      Set<BranchNameKey> branches =
          repo.getRefDatabase().getRefsByPrefix(REFS_HEADS).stream()
              .map(ref -> BranchNameKey.create(key, ref.getName()))
              .collect(toSet());
      SubscriptionGraph sub = subscriptionGraphFactory.compute(branches, orm);
      for (BranchNameKey b : branches) {
        if (sub.hasSuperproject(b)) {
          String message = "Cannot rename a project subscribed to by the other projects";
          log.error(message);
          throw new CannotRenameProjectException(message);
        }
      }
    } catch (IOException | SubmoduleConflictException e) {
      throw new CannotRenameProjectException(e);
    }
  }