in src/main/java/com/googlesource/gerrit/plugins/replicationstatus/ReplicationStatusAction.java [56:94]
  public Response<ProjectReplicationStatus> apply(ReplicationStatusProjectRemoteResource resource)
      throws AuthException, PermissionBackendException, BadRequestException,
          ResourceConflictException, IOException {
    Project.NameKey projectNameKey = resource.getProjectNameKey();
    String remoteURL = resource.getRemoteUrl();
    checkIsOwnerOrAdmin(projectNameKey);
    ProjectReplicationStatus.ProjectReplicationStatusResult overallStatus =
        ProjectReplicationStatus.ProjectReplicationStatusResult.OK;
    Map<String, RemoteReplicationStatus> remoteStatuses = new HashMap<>();
    try (Repository git = repoManager.openRepository(projectNameKey)) {
      Map<String, ReplicationStatus> refStatuses = new HashMap<>();
      for (Ref r : git.getRefDatabase().getRefs()) {
        ReplicationStatus replicationStatus =
            replicationStatusCache.getIfPresent(
                ReplicationStatus.Key.create(projectNameKey, remoteURL, r.getName()));
        if (replicationStatus != null) {
          refStatuses.put(r.getName(), replicationStatus);
          if (replicationStatus.isFailure()) {
            overallStatus = ProjectReplicationStatus.ProjectReplicationStatusResult.FAILED;
          }
        }
      }
      remoteStatuses.put(remoteURL, RemoteReplicationStatus.create(refStatuses));
      ProjectReplicationStatus projectStatus =
          ProjectReplicationStatus.create(remoteStatuses, overallStatus, projectNameKey.get());
      return Response.ok(projectStatus);
    } catch (RepositoryNotFoundException e) {
      throw new BadRequestException(
          String.format("Project %s does not exist", projectNameKey.get()));
    }
  }