code: public CompletableFuture<Revision> updatePerUserPermission(Author author, String projectName,
                                                                 String repoName, User member,
                                                                 Collection<Permission> permission) {
          requireNonNull(author, "author");
          requireNonNull(projectName, "projectName");
          requireNonNull(repoName, "repoName");
          requireNonNull(member, "member");
          requireNonNull(permission, "permission");
  
          final String memberId = member.id();
          return replacePermissionAtPointer(author, projectName,
                                            perUserPermissionPointer(repoName, memberId), permission,
                                            "Update permission of the '" + memberId +
                                            "' as '" + permission + "' for the project " + projectName);
      }
docs: Updates {@link Permission}s for the specified {@code member} of the specified {@code repoName}
  in the specified {@code projectName}.