code: public static InstrumentedExecutorService newSingleThreadExecutor(
              ThreadFactory threadFactory, MetricRegistry registry) {
          return new InstrumentedExecutorService(Executors.newSingleThreadExecutor(threadFactory), registry);
      }
docs: Creates an InstrumentedExecutor that uses a single worker thread operating
  off an unbounded queue, and uses the provided ThreadFactory to
  create a new thread when needed. Unlike the otherwise
  equivalent {@code newFixedThreadPool(1, threadFactory)} the
  returned executor is guaranteed not to be reconfigurable to use
  additional threads.
  
  @param threadFactory the factory to use when creating new threads
  @param registry      the {@link MetricRegistry} that will contain the metrics.
  @return the newly created single-threaded Executor
  @throws NullPointerException if threadFactory is null
  @see Executors#newSingleThreadExecutor(ThreadFactory)