docs: public final void removeChainEventListener(ChainEventListener listener) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "removeChainEventListener: " + listener);
          }
  
          if (null != listener) {
              // Remove the listener from the list monitored by this group.
              if (!getChainEventListeners().remove(listener)) {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                      Tr.debug(tc, "Listener " + listener + " was not found in list monitored by group " + getName());
                  }
              }
              // Remove the listener from each of the chains in this group.
              for (ChainData chain : getChains()) {
                  removeListenerFromChain(listener, chain);
              }
          }
      }