@Override
    public Map<String, List<Object>> getAttributesInternal(final RegisteredServiceAttributeReleasePolicyContext context,
                                                           final Map<String, List<Object>> attributes) {
        val resolvedAttributes = new TreeMap<String, List<Object>>(String.CASE_INSENSITIVE_ORDER);
        resolvedAttributes.putAll(attributes);
        val attributesToRelease = new HashMap<String, List<Object>>(resolvedAttributes.size());
        getAllowedAttributes().forEach((key, value) -> {
            if (resolvedAttributes.containsKey(value)) {
                val attributeValue = resolvedAttributes.get(value);
                if (attributeValue != null) {
                    val claimName = StringUtils.appendIfMissing(this.namespace, "/") + key;
                    LOGGER.debug("Adding claim name [{}] with value [{}]", claimName, attributeValue);
                    attributesToRelease.put(claimName, attributeValue);
                }
            }
        });
        return attributesToRelease;
    }
This is {@link CustomNamespaceWSFederationClaimsReleasePolicy}.

@author Misagh Moayyed
@since 6.1.0
support/cas-server-support-ws-idp-api/src/main/java/org/apereo/cas/ws/idp/services/CustomNamespaceWSFederationClaimsReleasePolicy.java