docs: public CompletableFuture<Revision> addPerTokenPermission(Author author, String projectName,
                                                               String repoName, String appId,
                                                               Collection<Permission> permission) {
          requireNonNull(author, "author");
          requireNonNull(projectName, "projectName");
          requireNonNull(repoName, "repoName");
          requireNonNull(appId, "appId");
          requireNonNull(permission, "permission");
  
          return getProject(projectName).thenCompose(project -> {
              ensureProjectToken(project, appId);
              return addPermissionAtPointer(author, projectName,
                                            perTokenPermissionPointer(repoName, appId), permission,
                                            "Add permission of the token '" + appId +
                                            "' as '" + permission + "' to the project " + projectName);
          });
      }