code: public Txn<T> txn(final Txn<T> parent, final TxnFlags... flags) {
      if (closed) {
        throw new AlreadyClosedException();
      }
      return new Txn<>(this, parent, proxy, flags);
    }
docs: Obtain a transaction with the requested parent and flags.
  
  @param parent parent transaction (may be null if no parent)
  @param flags  applicable flags (eg for a reusable, read-only transaction)
  @return a transaction (never null)