protected String getInResponseTo(final RequestAbstractType request, final String entityId, final boolean skipInResponseTo) {
        var generateInResponseTo = !skipInResponseTo && StringUtils.isNotBlank(request.getID());
        if (generateInResponseTo && request.getExtensions() != null) {
            val extensions = Optional.ofNullable(request.getExtensions())
                .map(ElementExtensibleXMLObject::getUnknownXMLObjects).orElseGet(List::of);
            generateInResponseTo = extensions
                .stream()
                .filter(RequesterID.class::isInstance)
                .map(RequesterID.class::cast)
                .noneMatch(info -> entityId.equalsIgnoreCase(info.getURI()));
        }
        return generateInResponseTo ? request.getID() : null;
    }
New attribute.

@param attributeFriendlyName the attribute friendly name
@param attributeName         the attribute name
@param attributeValue        the attribute value
@param configuredNameFormats the configured name formats. If an attribute is
                             found in this collection, the linked name format will be used.
@param defaultNameFormat     the default name format
@param attributeValueTypes   the attribute value types
@return the attribute
support/cas-server-support-saml-core-api/src/main/java/org/apereo/cas/support/saml/util/AbstractSaml20ObjectBuilder.java