public <O> PipelineBuilder<I, O> thenProcess(
      final String stageName, final Function<T, O> processor) {
    final Processor<T, O> singleStepStage = new MapProcessor<>(processor);
    return addStage(singleStepStage, stageName);
  }
Adds a 1-to-1 processing stage to the pipeline. A single thread processes each item in the
pipeline with <i>processor</i> outputting its return value to the next stage.

@param <O> the output type for this processing step.
@param stageName the name of this stage. Used as the label for the output count metric.
@param processor the processing to apply to each item.
@return a {@link PipelineBuilder} ready to extend the pipeline with additional stages.
services/pipeline/src/main/java/org/hyperledger/besu/services/pipeline/PipelineBuilder.java