docs: public CompletableFuture<Revision> updatePerRolePermissions(Author author,
                                                                  String projectName, String repoName,
                                                                  PerRolePermissions perRolePermissions) {
          requireNonNull(author, "author");
          requireNonNull(projectName, "projectName");
          requireNonNull(repoName, "repoName");
          requireNonNull(perRolePermissions, "perRolePermissions");
  
          final JsonPointer path = JsonPointer.compile("/repos" + encodeSegment(repoName) +
                                                       "/perRolePermissions");
          final Change<JsonNode> change =
                  Change.ofJsonPatch(METADATA_JSON,
                                     new ReplaceOperation(path, Jackson.valueToTree(perRolePermissions))
                                             .toJsonNode());
          final String commitSummary = "Update the role permission of the '" + repoName +
                                       "' in the project " + projectName;
          return metadataRepo.push(projectName, Project.REPO_DOGMA, author, commitSummary, change);
      }