code: @Override
      public Set<Principal> getPrincipals(final HttpServletRequest request) {
          LOGGER.debug("Checking for principals using {}", HttpHeaderPrincipalProvider.class.getSimpleName());
  
          if (headerName == null || separator == null) {
              LOGGER.debug("headerName or separator not initialized");
              return emptySet();
          }
  
          LOGGER.debug("Trying to get principals from header: {}; separator: {}", headerName, separator);
  
          if (request == null) {
              LOGGER.debug("Servlet request from servletCredentials was null");
              return emptySet();
          }
  
          final String value = request.getHeader(headerName);
  
          if (value == null) {
              LOGGER.debug("Value for header {} is null", headerName);
              return emptySet();
          }
  
          final String[] names = value.split(separator);
  
          final Set<Principal> principals = new HashSet<>();
  
          for (final String name : names) {
              LOGGER.debug("Adding HTTP header-provided principal: {}", name.trim());
              principals.add(createPrincipal(name));
          }
  
          return principals;
  
      }
docs: /*
  (non-Javadoc)
  @see
  org.fcrepo.auth.PrincipalProvider#getPrincipals(javax.servlet.http.HttpServletRequest)