/**
  * Find content validator for given repository. If no format-specific validator is configured, the
  * default is used.
  *
  * @param repository The repository for content validator is looked up.
  * @return the repository specific content validator to be used, or the default content validator,
  *     never {@code null}.
  */
 @Nonnull
 public ContentValidator validator(final Repository repository) {
   checkNotNull(repository);
   String format = repository.getFormat().getValue();
   log.trace("Looking for content validator for format: {}", format);
   ContentValidator contentValidator = contentValidators.get(format);
   if (contentValidator == null) {
     return defaultContentValidator;
   }
   return contentValidator;
 }
  @Override
  @Guarded(by = STARTED)
  public List<Repository> members() {
    final Repository repository = getRepository();

    List<Repository> members = new ArrayList<>(config.memberNames.size());
    for (String name : config.memberNames) {
      Repository member = repositoryManager.get(name);
      if (member == null) {
        log.warn("Ignoring missing member repository: {}", name);
      } else if (!repository.getFormat().equals(member.getFormat())) {
        log.warn(
            "Group {} includes an incompatible-format member: {} with format {}",
            repository.getName(),
            name,
            member.getFormat());
      } else {
        members.add(member);
      }
    }
    return members;
  }