@Override
    public RegisteredServicePrincipalAttributesRepository getPrincipalAttributesRepository() {
        val repositories = policies
            .stream()
            .filter(Objects::nonNull)
            .sorted(AnnotationAwareOrderComparator.INSTANCE)
            .map(RegisteredServiceAttributeReleasePolicy::getPrincipalAttributesRepository)
            .sorted(AnnotationAwareOrderComparator.INSTANCE)
            .collect(Collectors.toList());
        return new ChainingPrincipalAttributesRepository(repositories);
    }
This is {@link ChainingAttributeReleasePolicy}.

@author Misagh Moayyed
@since 5.1.0
core/cas-server-core-authentication-attributes/src/main/java/org/apereo/cas/services/ChainingAttributeReleasePolicy.java