class BoundedMaxAggregator implements BiFunction<Integer, Integer, Integer> {
    final public int maxBound;

    public BoundedMaxAggregator(int maxBound) {
        this.maxBound = maxBound;
    }

    @Override
    public Integer apply(@Nullable Integer aggregate, @Nullable Integer next) {<FILL_FUNCTION_BODY>}
}

        if (next != null && next < maxBound) return MaxAggregator.INSTANCE.apply(aggregate, next);
        else return aggregate;
    
<no_super_class>