code: public static ThreadPoolExecutor newFixedThreadPool(int threads, String groupname, int queueSize) {
  		return new ThreadPoolExecutor( threads, threads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(
  				queueSize ), new SearchThreadFactory( groupname ), new BlockPolicy() );
  	}
docs: Creates a new fixed size ThreadPoolExecutor
  
  @param threads
  the number of threads
  @param groupname
  a label to identify the threadpool; useful for profiling.
  @param queueSize
  the size of the queue to store Runnables when all threads are busy
  @return the new ExecutorService