replace StreamListDesc by SectionIterator
let SectionIteratorAdapter handle first result (if any)
add SectionIterator.sectionBy(..)
fix: filter fn must be Tuple3.project1 composed with Predicate.notNull(); add const predicate TRUE and FALSE; add SeqIterator.sectionBy(..) without filter fn (default: const true)
add Fn1.compose(Fn1<...>) and Fn2.compose(Fn1<...>)
enable null as possible value in sections
again produce a List<AlternateDataStream> from method getStreams(...)