code: @OverrideOnDemand
    protected void initializeThread (@Nonnull final Thread aThread)
    {
      if (m_sNamingPattern != null)
      {
        final Long aCount = Long.valueOf (m_aThreadCounter.incrementAndGet ());
        aThread.setName (String.format (CGlobal.DEFAULT_LOCALE, m_sNamingPattern, aCount));
      }
  
      if (m_aUncaughtExceptionHandler != null)
        aThread.setUncaughtExceptionHandler (m_aUncaughtExceptionHandler);
  
      if (m_aPriority != null)
        aThread.setPriority (m_aPriority.intValue ());
  
      if (m_eDaemon.isDefined ())
        aThread.setDaemon (m_eDaemon.getAsBooleanValue ());
    }
docs: Initializes the specified thread. This method is called by
  {@link #newThread(Runnable)} after a new thread has been obtained from the
  wrapped thread factory. It initializes the thread according to the options
  set for this factory.
  
  @param aThread
  the thread to be initialized