code: private synchronized void createSystemThreadPool() {
          if (TraceComponent.isAnyTracingEnabled()
              && tc.isEntryEnabled())
              SibTr.entry(tc, "createSystemThreadPool");
          if (_systemThreadPool == null) {
              // 214163 Add a threadpool listener to associate threads in trace
              // with the messaging engine.
              _systemThreadPool = new ThreadPool(
                              "System " + getMessagingEngineName(),
                              1,
                              _customProperties.get_max_system_threadpool_size(),
                              new ThreadPoolListener[] { new ThreadPoolListenerImpl(this) });
              _systemThreadPool.setRequestBufferExpansionLimit(Integer.MAX_VALUE);
  
              // note that setting this to true means that the MAX_SYSTEM_THREADS
              // value is ignored
              _systemThreadPool.setGrowAsNeeded(true);
          }
          if (TraceComponent.isAnyTracingEnabled()
              && tc.isEntryEnabled())
              SibTr.exit(tc, "createSystemThreadPool");
      }
docs: If the consumer thread pool hasn't been created, create one here.