code: protected SITransaction getActiveTransaction() {
  
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr.entry(this, TRACE, "getActiveTransaction");
          }
  
          SITransaction activeTransaction = null;
  
          if ((_xaResource != null) && _xaResource.isEnlisted()) {
  
              if (TraceComponent.isAnyTracingEnabled() && TRACE.isDebugEnabled()) {
                  SibTr.debug(this, TRACE,
                              "Current transaction is an XA global transaction");
              }
  
              activeTransaction = _xaResource;
  
          } else if ((_localTransaction != null)
                     && (_localTransaction.getLocalSITransaction() != null)) {
  
              if (TraceComponent.isAnyTracingEnabled() && TRACE.isDebugEnabled()) {
                  SibTr.debug(TRACE, "Current transaction is a "
                                     + "container-managed local transaction");
              }
  
              activeTransaction = _localTransaction.getLocalSITransaction();
  
          }
  
          if (TraceComponent.isAnyTracingEnabled() && TRACE.isEntryEnabled()) {
              SibTr.exit(this, TRACE, "getActiveTransaction", activeTransaction);
          }
          return activeTransaction;
  
      }
docs: Returns the current global or container local transaction, if any, for
  this managed connection. Unlike
  <code>getCurrentTransation<code> it does not do a
  <code>lazyEnlist</code> if there is not already an active transaction.
  
  @return the current transaction