code: @FFDCIgnore(InvalidRuntimeStateException.class)
      public synchronized void stop() {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) {
              Tr.event(this, tc, "stop chain " + this);
          }
  
          // When the chain is being stopped, remove the previously
          // registered EndPoint created in update
          endpointMgr.removeEndPoint(endpointName);
  
          // We don't have to check enabled/disabled here: chains are always allowed to stop.
          if (currentConfig == null || chainState.get() <= ChainState.QUIESCED.val)
              return;
  
          // Quiesce and then stop the chain. The CFW internally uses a StopTimer for
          // the quiesce/stop operation-- the listener method will be called when the chain
          // has stopped. So to see what happens next, visit chainStopped
          try {
              ChainData cd = cfw.getChain(chainName);
              if (cd != null) {
                  cfw.stopChain(cd, cfw.getDefaultChainQuiesceTimeout());
                  stopWait.waitForStop(cfw.getDefaultChainQuiesceTimeout(), this); // BLOCK
                  try {
                      cfw.destroyChain(cd);
                      cfw.removeChain(cd);
                  } catch (InvalidRuntimeStateException e) {
                      if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                          Tr.debug(this, tc, "Error destroying or removing chain " + chainName, this, e);
                      }
                  }
              }
          } catch (ChannelException e) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(this, tc, "Error stopping chain " + chainName, this, e);
              }
          } catch (ChainException e) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(this, tc, "Error stopping chain " + chainName, this, e);
              }
          }
      }
docs: Stop this chain. The chain will have to be recreated when port is updated
  notification/follow-on of stop operation is in the chainStopped listener method.