final Stream<Stream<String>> streamStream = createStreameSomeHow();
final List<String> result = streamStream
.reduce(Stream.empty(), Stream::concat)
.collect(toList());
final List<String> list = asList("a", "ba", "aaa", "baaa", "aaa", "ba");
final Map<Boolean, List<String>> map = list.stream()
.collect(Collectors.partitioningBy(s -> s.startsWith("a")));
assertThat(map.get(true)).contains("a", "aaa", "aaa");
assertThat(map.get(false)).contains("ba", "baaa", "ba");
final Predicate<String> predicate = "GET"::equals;