protected static Map<String, List<Object>> convertPersonAttributesToPrincipalAttributes(final Map<String, List<Object>> attributes) {
        return attributes.entrySet()
            .stream()
            .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
    }
The merging strategy that deals with existing principal attributes
and those that are retrieved from the source. By default, existing attributes
are ignored and the source is always consulted.
core/cas-server-core-authentication-attributes/src/main/java/org/apereo/cas/authentication/principal/cache/AbstractPrincipalAttributesRepository.java