docs: @Override
      void atEnlist(ContainerTx tx, BeanO bean)
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "atEnlist (" + tx + ", " + bean + ")");
  
          // Get the current ContainerAS
          ContainerAS as = ContainerAS.getContainerAS(tx);
  
          // Allow the parent to properly enlist the bean in the transaction.
          // Really, just takes a pin, as processTxContextChange did the enlist.
          super.atEnlist(tx, bean);
  
          // If there is an AS, then perform any ActivitySession specific stuff...
          if (as != null)
          {
              if (isTraceOn && tc.isDebugEnabled())
                  Tr.debug(tc, "atEnlist : running in AS : " + as);
  
              // Make sure the beanO is associated with the current TX
              bean.setContainerTx(tx);
  
              // Enlist the bean with the AS; a no-op if already enlisted.
              // Another pin is not needed, nor does one need to be dropped.
              //
              // Here are the possible scenarios:
              // 1 - UAS.beginSession: a pin will have been taken for the method
              //     call... that becomes the AS pin.
              // 2 - UAS completion: AS is not active, AS pin is now the pin
              //     for the current method call.
              // 3 - UTx.begin: either an AS is not present or the bean is already
              //     enlisted with the AS and pinned. If there is an AS, there is
              //     no method pin, as atAtivate would not have taken one.
              // 4 - UTx completion - if an AS is present, it already has a pin
              //     and a method pin was not taken. If no AS, then method has
              //     a pin.
              //
              // Net is, we must insure the bean is enlisted with the AS, as it
              // takes over ownership of one of the pins. If not enlisted here,
              // then the next activate will take an extra pin.               d655854
              as.enlist(bean);
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "atEnlist");
      }