code: public ContainerTx getActiveContainerTx() throws CSITransactionRolledbackException {
          ContainerTx result = null;
          SynchronizationRegistryUOWScope currTxKey = uowCtrl.getCurrentTransactionalUOW(true);
  
          if (currTxKey != null) {
              result = (ContainerTx) currTxKey.getResource(containerTxResourceKey);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              Tr.debug(tc, "getActiveContainerTx() : " + result);
  
          return result;
      }
docs: Returns container transaction associated with the current thread. <p>
  
  Similar to {@link #getCurrentContainerTx()}, but this method will
  throw an exception if the current transaction has been rolled back or
  marked for rollback only. <p>
  
  Will return null if a container transaction is not associated with
  the current thread. For example, during after_completion callbacks. <p>
  
  @return container transaction associated with the current thread.
  
  @exception CSITransactionRolledbackException if the current transaction
  has been marked for rolled back only, is rolling back, or
  has rolled back.