class IssuerFunction implements Function<MessageContext, String> {
    /** {@inheritDoc} */
    @Override
    public String apply(final MessageContext context) {<FILL_FUNCTION_BODY>}
}

        if (context == null) {
            return null;
        }
        val message = (SAMLObject) context.getMessage();
        Issuer issuer = null;
        if (message instanceof RequestAbstractType) {
            issuer = ((RequestAbstractType) message).getIssuer();
        } else if (message instanceof StatusResponseType) {
            issuer = ((StatusResponseType) message).getIssuer();
        }
        return issuer != null ? issuer.getValue() : null;
    
<no_super_class>