src/main/java/io/reactivex/Observable.java
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <R> Observable<R> concatMapEager(Function<? super T, ? extends ObservableSource<? extends R>> mapper) {
        return concatMapEager(mapper, Integer.MAX_VALUE, bufferSize());
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <R> Observable<R> concatMapEager(Function<? super T, ? extends ObservableSource<? extends R>> mapper) {
        return concatMapEager(mapper, Integer.MAX_VALUE, bufferSize());
    }
Maps a sequence of values into ObservableSources and concatenates these ObservableSources eagerly into a single
ObservableSource.
<p>
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the
source ObservableSources. The operator buffers the values emitted by these ObservableSources and then drains them in
order, each one after the previous one completes.
<p>
<img width="640" height="360" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapEager.o.png" alt="">
<dl>
<dt><b>Scheduler:</b></dt>
<dd>This method does not operate by default on a particular {@link Scheduler}.</dd>
</dl>
@param <R> the value type
@param mapper the function that maps a sequence of values into a sequence of ObservableSources that will be
eagerly concatenated
@return the new ObservableSource instance with the specified concatenation behavior
@since 2.0