docs: public void removeBean(BeanO beanO) throws CSITransactionRolledbackException {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled(); // d532639.2
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "removeBean with BeanO");
  
          //------------------------------------------------------------------------
          // If bean id is null then beanO could not have been added to this
          // container. Also, if beanO is not enlisted in the tran, then it either
          // was never added to this container, or it was added, but already
          // removed.  This may occur for example in the case of a
          // DuplicateKeyException.                                 dPQ51806 d145697
          //------------------------------------------------------------------------
  
          BeanId id = beanO.getId();
  
          if (id != null) {
              try {
                  // If this particular BeanO was enlisted, then it needs to be
                  // removed from the tran and the ejb cache.                  d145697
                  ContainerTx currentTx = getCurrentTx(false); //d171654 // d139352-2
                  if (currentTx.delist(beanO)) {
                      activator.removeBean(currentTx, beanO);
                  } else {
                      // This is normal, it just means the failure occurred early in
                      // the create proccess, before the bean was ever enlisted or
                      // added to the EJB Cache.                                d145697
                      if (isTraceOn && tc.isDebugEnabled())
                          Tr.debug(tc, "BeanO not enlisted - not removed from tx or cache");
                  }
              } catch (Throwable th) {
                  // The transaction may have already rolled back.             d145697
                  FFDCFilter.processException(th, CLASS_NAME + ".removeBean(BeanO)",
                                              "1949", this);
                  if (isTraceOn && tc.isEventEnabled())
                      Tr.event(tc, "Exception thrown in removeBean()",
                               new Object[] { beanO, th });
              }
          } else {
              // This is normal, it just means the failure occurred early in
              // the create proccess, before the bean was ever enlisted or
              // added to the EJB Cache.                                      d145697
              if (isTraceOn && tc.isDebugEnabled())
                  Tr.debug(tc, "BeanId is null");
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "removeBean");
      }