I have the following for each loop:
int someOtherVal = 0;
List<Applicators> applicatorList = List.of(applicator1, applicator2);
MyClass result = initialClassValue;
for(Applicator applicator: applicatorList) {
    result = applicator.apply(result, someOtherVal);
}
The closest I can get to it using Stream API is:
applicatorList.stream()
    .reduce(
         initialClassValue,
         (intermediateResult, applicator) -> applicator.apply(intermediateResult, someOtherVal),
         (intermediateResult1, intermediateResult2) -> intermediateResult1 // complete garbage but need to provide for parallel streams which I am not using
    )
Is there some other way to implement this which does not involve the needless overriding of combiner function?
My beef with using combiner function is that -
- I am not using parallel streams, so combining of intermediate results should not be required
 - the garbage combiner override actually doesn't make sense in this context