  @Test
  public void testFromIteratorWithExecutor() throws InterruptedException {

    Iterator<Integer> iter = Arrays.asList(1,2,3).iterator();
    SettableFuture<Iterator<Integer>> future = SettableFuture.create();
    Executors.newSingleThreadScheduledExecutor().schedule(()->future.set(iter), 100, TimeUnit.MILLISECONDS);
    CountDownLatch latch = new CountDownLatch(3);
    AtomicReference<String> threadName = new AtomicReference<>();
    Observable<Integer> o = RxGuava.fromIterator(future, executor);
    o.doOnNext(item->threadName.set(Thread.currentThread().getName()))
      .subscribe(item->latch.countDown());
    latch.await();
    Assert.assertNotNull(threadName.get());
    Assert.assertEquals("test-fixed-0", threadName.get());
  }