docs: private CompletableFuture<Collection<Permission>> findPermissions0(String projectName, String repoName,
                                                                         User user) {
          requireNonNull(projectName, "projectName");
          requireNonNull(repoName, "repoName");
          requireNonNull(user, "user");
  
          return getProject(projectName).thenApply(metadata -> {
              final RepositoryMetadata repositoryMetadata = metadata.repo(repoName);
              final Member member = metadata.memberOrDefault(user.id(), null);
  
              // If the member is guest.
              if (member == null) {
                  return repositoryMetadata.perRolePermissions().guest();
              }
              final Collection<Permission> p = repositoryMetadata.perUserPermissions().get(member.id());
              if (p != null) {
                  return p;
              }
              return findPerRolePermissions(repositoryMetadata, member.role());
          });
      }