reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final Flux<T> expand(Function<? super T, ? extends Publisher<? extends T>> expander) {
		return expand(expander, Queues.SMALL_BUFFER_SIZE);
	}
public final Flux<T> expand(Function<? super T, ? extends Publisher<? extends T>> expander) {
		return expand(expander, Queues.SMALL_BUFFER_SIZE);
	}
Recursively expand elements into a graph and emit all the resulting element using
a breadth-first traversal strategy.
<p>
That is: emit the values from this {@link Flux} first, then expand each at a first level of
recursion and emit all of the resulting values, then expand all of these at a second
level and so on..
<p>
For example, given the hierarchical structure
<pre>
A
- AA
- aa1
B
- BB
- bb1
</pre>

Expands {@code Flux.just(A, B)} into
<pre>
A
B
AA
BB
aa1
bb1
</pre>

@param expander the {@link Function} applied at each level of recursion to expand
values into a {@link Publisher}, producing a graph.

@return an breadth-first expanded {@link Flux}