code: public CompletableFuture<Revision> updatePerTokenPermission(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 replacePermissionAtPointer(author, projectName,
                                            perTokenPermissionPointer(repoName, appId), permission,
                                            "Update permission of the token '" + appId +
                                            "' as '" + permission + "' for the project " + projectName);
      }
docs: Updates {@link Permission}s for the {@link Token} of the specified {@code appId} of the specified
  {@code repoName} in the specified {@code projectName}.