title: Delay between iterated elements and on subscribe
body: <p>FIXED to yield the desired output!</p>
  
  <p>I have a list of items that I need to iterate and between each element I would like to wait 2 seconds. when all items are processed and subscribe is called then I would like to wait another 2 seconds.</p>
  
  <p>Here is my code:</p>
  
  <pre><code>rx.Observable.from(new String[] {"Test1", "Test2", "Test3", "Test4"})
          .zipWith(rx.Observable.interval(2000, 1000,TimeUnit.MILLISECONDS), (a,b) -&gt; a)
          .subscribe(name -&gt; {
              System.out.println(name);
          }, e -&gt; {
              System.out.println("ERROR" + e);
          }, () -&gt; {
              rx.Observable.timer(4000, TimeUnit.MILLISECONDS)
                           .subscribe(notUsed -&gt; "THE END!");
          });
  
  
          try {
              // Sleep so the program doesn't exit immediately
              Thread.sleep(10000);
          }
          catch (Exception e) {
  
          }
  </code></pre>
  
  <p>It runs pretty nice, but when it performs the 'interval' in the subscribe it prints "THE END!" three times !</p>
  
  <pre><code>TEST1
  TEST2
  TEST3
  TEST4
  THE END!
  THE END!
  THE END!
  </code></pre>
  
  <p>Any idea how to improve this?</p>
  
  <p>Thank you! </p>