class ParallelProcessingTraverserWorker extends AbstractTraverserWorker implements TraverserWorker {

  public ParallelProcessingTraverserWorker(
      TraverserConfiguration conf,
      IndexingService indexingService,
      @Nullable ExecutorService executor) {
    super(conf, indexingService);
    this.itemRetriever = conf.getItemRetriever();
    this.hostload = conf.getHostload();
    this.sharedExecutor = executor != null;
    this.executor = sharedExecutor ? executor : Executors.newCachedThreadPool();
    queue = new ConcurrentLinkedQueue<>();
  }

  public  ParallelProcessingTraverserWorker(
      TraverserConfiguration conf,
      IndexingService indexingService,
      @Nullable ExecutorService executor);

}