docs: private static ThreadFactory newThreadFactory(final String id) {
      return new ThreadFactory() {
        private final AtomicInteger next = new AtomicInteger();
  
        @Override public Thread newThread(Runnable r) {
          final String name = "spectator-" + id + "-" + next.getAndIncrement();
          final Thread t = new Thread(r, name);
          t.setDaemon(true);
          return t;
        }
      };
    }