class AuditAdapter {

    public void auditPrepared(MD5Digest id, CQLStatement statement, ClientState state, QueryOptions options, Status status, long timestamp)
    {
        if (auditor.shouldLogForStatus(status))
        {
            AuditEntry logEntry = entryBuilderFactory.createEntryBuilder(statement)
                                                     .client(state.getRemoteAddress())
                                                     .coordinator(FBUtilities.getBroadcastAddress())
                                                     .user(state.getUser().getName())
                                                     .operation(new PreparedAuditOperation(idQueryCache.get(id), options, boundValueSuppressor))
                                                     .status(status)
                                                     .timestamp(timestamp)
                                                     .build();

            auditor.audit(logEntry);
        }
    }

      AuditAdapter(Auditor auditor, AuditEntryBuilderFactory entryBuilderFactory, BoundValueSuppressor boundValueSuppressor);

}