title: RxJava2 observable take throws UndeliverableException
body: <p>As I understand RxJava2 <code>values.take(1)</code> creates another Observable that contains only one element from the original Observable. Which <strong>MUST NOT</strong> throw an exception as it is filtered out by the effect of <code>take(1)</code> as it's happened second.</p>
  
  <p>as in the <strong>following</strong> code snippet</p>
  
  <pre><code>    Observable&lt;Integer&gt; values = Observable.create(o -&gt; {
          o.onNext(1);
          o.onError(new Exception("Oops"));
      });
  
      values.take(1)
              .subscribe(
                      System.out::println,
                      e -&gt; System.out.println("Error: " + e.getMessage()),
                      () -&gt; System.out.println("Completed")
              );
  </code></pre>
  
  <h2>Output</h2>
  
  <pre><code>1
  Completed
  io.reactivex.exceptions.UndeliverableException: java.lang.Exception: Oops
      at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:366)
      at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onError(ObservableCreate.java:83)
      at ch02.lambda$main$0(ch02.java:28)
      at io.reactivex.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:40)
      at io.reactivex.Observable.subscribe(Observable.java:10841)
      at io.reactivex.internal.operators.observable.ObservableTake.subscribeActual(ObservableTake.java:30)
      at io.reactivex.Observable.subscribe(Observable.java:10841)
      at io.reactivex.Observable.subscribe(Observable.java:10827)
      at io.reactivex.Observable.subscribe(Observable.java:10787)
      at ch02.main(ch02.java:32)
  Caused by: java.lang.Exception: Oops
      ... 8 more
  Exception in thread "main" io.reactivex.exceptions.UndeliverableException: java.lang.Exception: Oops
      at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:366)
      at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.onError(ObservableCreate.java:83)
      at ch02.lambda$main$0(ch02.java:28)
      at io.reactivex.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:40)
      at io.reactivex.Observable.subscribe(Observable.java:10841)
      at io.reactivex.internal.operators.observable.ObservableTake.subscribeActual(ObservableTake.java:30)
      at io.reactivex.Observable.subscribe(Observable.java:10841)
      at io.reactivex.Observable.subscribe(Observable.java:10827)
      at io.reactivex.Observable.subscribe(Observable.java:10787)
      at ch02.main(ch02.java:32)
  Caused by: java.lang.Exception: Oops
      ... 8 more
  </code></pre>
  
  <h2>My questions :</h2>
  
  <ol>
  <li>Am I understanding it correct ?</li>
  <li>What's really happening to cause the exception.</li>
  <li>How to solve this from the consumer ?</li>
  </ol>