class DefaultReduceIdentityCombinerTerminator<ENTITY> implements ReduceIdentityCombinerTerminator<ENTITY> {

    private DefaultReduceIdentityCombinerTerminator() {
    }

    @Override
    public <T, U> U apply(
        final SqlStreamOptimizerInfo<ENTITY> info,
        final SqlStreamTerminator<ENTITY> sqlStreamTerminator,
        final ReferencePipeline<T> pipeline,
        final U identity,
        final BiFunction<U, ? super T, U> accumulator,
        final BinaryOperator<U> combiner
    ) {<FILL_FUNCTION_BODY>}

    public static final ReduceIdentityCombinerTerminator<?> DEFAULT = new DefaultReduceIdentityCombinerTerminator<>();

}

        requireNonNull(info);
        requireNonNull(sqlStreamTerminator);
        requireNonNull(pipeline);
        // identity nullable
        requireNonNull(accumulator);
        requireNonNull(combiner);

        final ReferencePipeline<T> optimizedPipeline = sqlStreamTerminator.optimize(pipeline);
        return sqlStreamTerminator
            .attachTraceData(optimizedPipeline)
            .getAsReferenceStream().reduce(identity, accumulator, combiner);
    
<no_super_class>