src/main/java/io/reactivex/Observable.java
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <U, V> Observable<V> flatMapIterable(final Function<? super T, ? extends Iterable<? extends U>> mapper,
            BiFunction<? super T, ? super U, ? extends V> resultSelector) {
        ObjectHelper.requireNonNull(mapper, "mapper is null");
        ObjectHelper.requireNonNull(resultSelector, "resultSelector is null");
        return flatMap(ObservableInternalHelper.flatMapIntoIterable(mapper), resultSelector, false, bufferSize(), bufferSize());
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <U, V> Observable<V> flatMapIterable(final Function<? super T, ? extends Iterable<? extends U>> mapper,
            BiFunction<? super T, ? super U, ? extends V> resultSelector) {
        ObjectHelper.requireNonNull(mapper, "mapper is null");
        ObjectHelper.requireNonNull(resultSelector, "resultSelector is null");
        return flatMap(ObservableInternalHelper.flatMapIntoIterable(mapper), resultSelector, false, bufferSize(), bufferSize());
    }
@ CheckReturnValue @ SchedulerSupport ( SchedulerSupport . NONE ) public final < U , V > Observable < V > flatMapIterable ( final Function < ? super T , ? extends Iterable < ? extends U > > mapper , BiFunction < ? super T , ? super U , ? extends V > resultSelector ) { ObjectHelper . requireNonNull ( mapper , "mapper is null" ) ; ObjectHelper . requireNonNull ( resultSelector , "resultSelector is null" ) ; return flatMap ( ObservableInternalHelper . flatMapIntoIterable ( mapper ) , resultSelector , false , bufferSize ( ) , bufferSize ( ) ) ; }
Returns an Observable that emits the results of applying a function to the pair of values from the source
ObservableSource and an Iterable corresponding to that item that is generated by a selector.
<p>
<img width="640" height="410" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapIterable.o.r.png" alt="">
<dl>
<dt><b>Scheduler:</b></dt>
<dd>{@code flatMapIterable} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>

@param <U>
the collection element type
@param <V>
the type of item emitted by the resulting Iterable
@param mapper
a function that returns an Iterable sequence of values for each item emitted by the source
ObservableSource
@param resultSelector
a function that returns an item based on the item emitted by the source ObservableSource and the
Iterable returned for that item by the {@code collectionSelector}
@return an Observable that emits the items returned by {@code resultSelector} for each item in the source
ObservableSource
@see <a href="http://reactivex.io/documentation/operators/flatmap.html">ReactiveX operators documentation: FlatMap</a>
Returns an Observable that emits the results of applying a function to the pair of values from the source ObservableSource and an Iterable corresponding to that item that is generated by a selector . <p > <img width = 640 height = 410 src = https : // raw . github . com / wiki / ReactiveX / RxJava / images / rx - operators / flatMapIterable . o . r . png alt = > <dl > <dt > <b > Scheduler : < / b > < / dt > <dd > { @code flatMapIterable } does not operate by default on a particular { @link Scheduler } . < / dd > < / dl >