code: @SuppressWarnings("unchecked")
      @Override
      public <RESULT> OptionalThing<RESULT> required(TransactionShow<RESULT> txLambda) {
          try {
              return wrapOptional((RESULT) transactionManagerAdapter.required(adapter -> {
                  return performTx(txLambda, adapter, TransactionGenre.REQUIRED);
              }), txLambda);
          } catch (Throwable e) {
              handleTransactionFailure(txLambda, e);
              return null; // unreachable
          }
      }
docs: =====================