public AuthenticationStatement newAuthenticationStatement(final ZonedDateTime authenticationDate,
                                                              final Collection<Object> authenticationMethod,
                                                              final String subjectId) {

        val authnStatement = SamlUtils.newSamlObject(AuthenticationStatement.class);
        authnStatement.setAuthenticationInstant(authenticationDate.toInstant());

        authnStatement.setAuthenticationMethod(
            authenticationMethod != null && !authenticationMethod.isEmpty()
                ? authenticationMethod.iterator().next().toString()
                : SamlAuthenticationMetaDataPopulator.AUTHN_METHOD_UNSPECIFIED);
        authnStatement.setSubject(newSubject(subjectId));
        return authnStatement;
    }
New authentication statement.

@param authenticationDate   the authentication date
@param authenticationMethod the authentication method
@param subjectId            the subject id
@return the authentication statement
support/cas-server-support-saml-core-api/src/main/java/org/apereo/cas/support/saml/util/Saml10ObjectBuilder.java