package htsjdk.samtools.cram.paralell; import java.util.function.Consumer; class ConsumerJob<I> extends Job { private Conveyer<I> input; private Consumer<I> consumer; public ConsumerJob(Conveyer<I> input, Consumer<I> consumer) { this.input = input; this.consumer = consumer; } @Override protected void doRun() throws Exception { if (input.hasCompleted()) { stop(); return; } I object = input.tryAdvance(); if (object == null) { return; } consumer.accept(object); } }