default <U> U reduce(U identity, BiFunction<U, T, U> accumulator) {
        try (Stream<T> stream = stream()) {
            return stream.reduce(identity, accumulator,
                (u, v) -> {
                    throw new UnsupportedOperationException("parallel operation not supported");
                });
        }
    }
Reduce the results.  Using a {@code BiFunction<U, T, U>}, repeatedly
combine query results until only a single value remains.

@param <U> the accumulator type
@param identity the {@code U} to combine with the first result
@param accumulator the function to apply repeatedly
@return the final {@code U}
core/src/main/java/org/jdbi/v3/core/result/ResultIterable.java