docs: public static ThreadFactory getThreadFactory(
              final String groupName,
              final String name,
              final int stackSize,
              final boolean incrementThreadNames,
              final Queue<String> coreList) {
          ThreadGroup group = null;
          if (groupName != null) {
              group = new ThreadGroup(Thread.currentThread().getThreadGroup(), groupName);
          }
          final ThreadGroup finalGroup = group;
  
          return new ThreadFactory() {
              private final AtomicLong m_createdThreadCount = new AtomicLong(0);
              private final ThreadGroup m_group = finalGroup;
              @Override
              public synchronized Thread newThread(final Runnable r) {
                  final String threadName = name +
                          (incrementThreadNames ? " - " + m_createdThreadCount.getAndIncrement() : "");
                  String coreTemp = null;
                  if (coreList != null && !coreList.isEmpty()) {
                      coreTemp = coreList.poll();
                  }
                  final String core = coreTemp;
                  Runnable runnable = new Runnable() {
                      @Override
                      public void run() {
                          if (core != null) {
                              // Remove Affinity for now to make this dependency dissapear from the client.
                              // Goal is to remove client dependency on this class in the medium term.
                              //PosixJNAAffinity.INSTANCE.setAffinity(core);
                          }
                          try {
                              r.run();
                          } catch (Throwable t) {
                              new VoltLogger("HOST").error("Exception thrown in thread " + threadName, t);
                          } finally {
                              m_threadLocalDeallocator.run();
                          }
                      }
                  };
  
                  Thread t = new Thread(m_group, runnable, threadName, stackSize);
                  t.setDaemon(true);
                  return t;
              }
          };
      }