class DefaultAuditor implements Auditor {

    @Override
    public void audit(AuditEntry logEntry)
    {
        if (shouldAudit(logEntry))
        {
            AuditEntry obfuscatedEntry = obfuscator.obfuscate(logEntry);
            performAudit(obfuscatedEntry);
        }
    }

    public  DefaultAuditor(AuditLogger logger, AuditFilter filter, AuditObfuscator obfuscator, LogTimingStrategy logTimingStrategy);
      DefaultAuditor(AuditLogger logger, AuditFilter filter, AuditObfuscator obfuscator, AuditMetrics auditMetrics, LogTimingStrategy logTimingStrategy);

}