common/src/main/java/org/beiter/michael/authn/jaas/common/audit/SampleAuditLogger.java
@Override
    // Check is broken [LOG.info()]: PMD reports issues although log stmt is guarded. @todo revisit when upgrading PMD.
    @SuppressWarnings("PMD.GuardLogStatementJavaUtil")
    public final void audit(final Events event, final String domain, final String username) {

        Validate.notNull(event, "The validated object 'event' is null");
        Validate.notBlank(domain, "The validated character sequence 'domain' is null or empty");
        Validate.notBlank(username, "The validated character sequence 'username' is null or empty");

        // PMD does not recognize the guarded log statement
        if (LOG.isInfoEnabled()) {
            LOG.info("[AUDIT] " + event.getValue() + ". User name '" + username + "', domain '" + domain + "'");
        }
    }
@Override
    // Check is broken [LOG.info()]: PMD reports issues although log stmt is guarded. @todo revisit when upgrading PMD.
    @SuppressWarnings("PMD.GuardLogStatementJavaUtil")
    public final void audit(final Events event, final String domain, final String username) {

        Validate.notNull(event, "The validated object 'event' is null");
        Validate.notBlank(domain, "The validated character sequence 'domain' is null or empty");
        Validate.notBlank(username, "The validated character sequence 'username' is null or empty");

        // PMD does not recognize the guarded log statement
        if (LOG.isInfoEnabled()) {
            LOG.info("[AUDIT] " + event.getValue() + ". User name '" + username + "', domain '" + domain + "'");
        }
    }
{@inheritDoc}

@throws NullPointerException     When the {@code event}, {@code domain} or {@code username} are {@code null}
@throws IllegalArgumentException When {@code domain}, {@code username} is empty