class CollectionFunctions {

    public static <T, R, S> List<R> zipAndMap(List<T> list1, List<S> list2, BiFunction<T, S, R> biFunction) {
        return zipAndMapWithIndex(list1, list2, (o1, o2, i) -> biFunction.apply(o1, o2));
    }

    private  CollectionFunctions();

}