code: public void purgeThreadLocal() {
          // if thread local pools exist, check to see if we have one created and
          // therefore need to tell it to purge
          if (null != threadLocals) {
              LocalThreadObjectPool pool = threadLocals.get();
              if (null != pool) {
                  Object[] data = pool.purge();
                  if (0 < data.length) {
                      mainPool.putBatch(data);
                  }
              }
          }
      }
docs: This is used to purge the ThreadLocal level information back to the main
  group when the thread is being killed off.