code: @Override
      protected void doBegin() throws NotSupportedException, SystemException {
          if (canLazyTransaction()) {
              if (!isLazyTransactionLazyBegun()) { // first transaction
                  incrementHierarchyLevel();
                  toBeLazyTransaction(); // not begin real transaction here for lazy
              } else { // lazy now, this begin() means nested transaction
                  if (!isLazyTransactionRealBegun()) { // not begun lazy transaction yet
                      beginRealTransactionLazily(); // forcedly begin outer transaction before e.g. 'requiresNew' scope
                      suspendForcedlyBegunLazyTransactionIfNeeds(); // like requires new transaction
                  }
                  incrementHierarchyLevel();
                  superDoBegin(); // nested transaction is not lazy fixedly
              }
          } else { // normal transaction
              superDoBegin();
          }
      }
docs: =====