code: public static RecordingTransaction wrap(Transaction tx, Predicate<LogEntry> filter) {
      return new RecordingTransaction(tx, filter);
    }
docs: Creates a RecordingTransaction using the provided LogEntry filter and existing Transaction