Calling `hasNext()` on a a blocking iterator never returns if the iterator has been disposed. Tested on 2.2.11 To reproduce: ``` Iterator<Integer> iterator = Flowable.fromArray(1, 2, 3).delay(1, TimeUnit.SECONDS).blockingIterable().iterator(); System.out.println("start"); ((Disposable)iterator).dispose(); iterator.hasNext(); //Hangs forever ```