The following code prints true for 100 times:
for(int i=0; i<100; i++) {
String s2 = Arrays.asList("A", "E", "I", "O", "U").parallelStream().reduce("x", String::concat, String::concat);
System.out.println("xAxExIxOxU".equals(s2));
}
Granted, 100 times is not a guarantee. But doesn't it seem though that even if the identity used here does not meet the requirement "...for all u, combiner.apply(identity, u) is equal to u" per the doc, we can still say that a parallel stream derived from a list or any other inherently ordered structure will behave just like a sequential stream in reduce() returning the same output?