src/main/java/io/reactivex/Observable.java
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.CUSTOM)
    public final Observable<T> take(long time, TimeUnit unit, Scheduler scheduler) {
        return takeUntil(timer(time, unit, scheduler));
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.CUSTOM)
    public final Observable<T> take(long time, TimeUnit unit, Scheduler scheduler) {
        return takeUntil(timer(time, unit, scheduler));
    }
Returns an Observable that emits those items emitted by source ObservableSource before a specified time (on a
specified Scheduler) runs out.
<p>
If time runs out before the {@code Observable} completes normally, the {@code onComplete} event will be
signaled on the provided {@link Scheduler}.
<p>
<img width="640" height="305" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/take.ts.png" alt="">
<dl>
<dt><b>Scheduler:</b></dt>
<dd>You specify which {@link Scheduler} this operator will use.</dd>
</dl>

@param time
the length of the time window
@param unit
the time unit of {@code time}
@param scheduler
the Scheduler used for time source
@return an Observable that emits those items emitted by the source ObservableSource before the time runs out,
according to the specified Scheduler
@see <a href="http://reactivex.io/documentation/operators/take.html">ReactiveX operators documentation: Take</a>