BinaryOperator<Integer> operator = (l, r) -> l + r;
BiFunction<Integer, Integer, Integer> function = (l, r) -> l + r;
Integer reduce = Stream.of(1, 2, 3).parallel().reduce(3, function, operator);
// 15
System.out.println(reduce);
reduce = Stream.of(1, 2, 3).reduce(3, function, operator);
// 9
System.out.println(reduce);
reduce = Stream.of(1, 2, 3).reduce(3, operator);
// 9
System.out.println(reduce);