/** * flatten nested SimpleReactStreams * * @param stream Stream to flatten * @return flattened Stream */ static <U, R> SimpleReactStream<R> join(SimpleReactStream<SimpleReactStream<U>> stream) { Queue queue = stream.getQueueFactory().build(); stream.then(it -> it.sync().then(queue::offer)).allOf(it -> queue.close()); return stream.fromStream(queue.stream(stream.getSubscription())); }