code: public void audit(GenericRecord inputRecord) throws IOException {
      if (this.rowSelectionPolicy.shouldSelectRow(inputRecord)) {
        auditSink.write(columnProjectionPolicy.project(inputRecord));
      }
    }
docs: Write an audit record for the <code>inputRecord</code> to the {@link AuditSink}.
  An audit record is generated for every <code>inputRecord</code> that satisfies the {@link RowSelectionPolicy}.
  An audit record is created by projecting  <code>inputRecord</code> using the {@link ColumnProjectionPolicy}
  
  @param inputRecord to be audited
  @throws IOException if auditing failed for this record