code: @Override
      public void setMessageRouter(MessageRouter msgRouter) {
  
          externalMessageRouter.set(msgRouter);
  
          if (msgRouter instanceof WsMessageRouter) {
              setWsMessageRouter((WsMessageRouter) msgRouter);
          }
      }
docs: Inject the SPI MessageRouter.
  
  This is injected by TrConfigurator, which is also SPI. So it's possible for
  third-party code to implement and inject their own MessageRouter.