code: public <U> TransactionLog<U> map(Function<T, U> mapper) {
      return new TransactionLog<>(transactionId, version, Lists.transform(records, mapper::apply));
    }
docs: Maps this instance to another {@code MapTransaction} with different key and value types.
  
  @param mapper function for mapping record types
  @param <U>    record type of returned instance
  @return newly typed instance