Скажем, у меня есть этот поток:
list.stream()
.map(fn1) // part1
.map(fn2) //
.filter(fn3) //
.flatMap(fn4) // part 2
.map(fn5) //
.filter(fn6) //
.map(fn7) //
.collect(Collectors.toList())
Как я могу сделать так:
list.stream()
.map(fnPart1)
.map(fnPart2)
.collect(Collectors.toList())
Без ручного размотки частей fnX и их объединения (по причинам технического обслуживания я хочу сохранить их нетронутыми и выразить fnPartX с ними).