public static <T, T_RESULT_PAGE extends ResultPage<T>> BinaryOperator<T_RESULT_PAGE> reducer(
            final Function<List<T>, T_RESULT_PAGE> resultPageFactory,
            final Class<T> itemType) {

        return (final T_RESULT_PAGE resultPage1, final T_RESULT_PAGE resultPage2) -> {
            final List<T> combinedList = new ArrayList<>();
            combinedList.addAll(resultPage1.getValues());
            combinedList.addAll(resultPage2.getValues());
            return resultPageFactory.apply(combinedList);
        };
    }
Creates a collector that builds a sub class of a ResultPage, e.g.
.collect(ListConfigResponse.collector(ListConfigResponse::new));
stroom-util/src/main/java/stroom/util/ResultPageFactory.java