public Pipeline<I> andFinishWith(final String stageName, final Consumer<T> completer) {
    return new Pipeline<>(
        inputPipe,
        pipelineName,
        tracingEnabled,
        stages,
        pipes,
        new CompleterStage<>(stageName, pipeEnd, completer));
  }
End the pipeline with a {@link Consumer} that is the last stage of the pipeline.

@param stageName the name of this stage. Used as the label for the output count metric.
@param completer the {@link Consumer} that accepts the final output of the pipeline.
@return the constructed pipeline ready to execute.
services/pipeline/src/main/java/org/hyperledger/besu/services/pipeline/PipelineBuilder.java