title: Deferred observable call
body: <p>I have 5 observables say</p>
  
  <pre><code>Observable&lt;String&gt; obs1 = getObs1();
  Observable&lt;String&gt; obs2 = getObs2();
  Observable&lt;String&gt; obs3 = getObs3();
  Observable&lt;String&gt; obs4 = getObs4();
  Observable&lt;String&gt; obs5 = getObs5();
  </code></pre>
  
  <p>The implementation of <code>getObsX()</code> is to do a network call through RxNetty.</p>
  
  <p>Since all are independent calls I need to start them at the same time.</p>
  
  <p>On completion of <code>obs1</code> and <code>obs2</code>, I need to start call <code>getObs6()</code> which depends on <code>obs1</code> and <code>obs2</code>. I can do something like this.</p>
  
  <pre><code>    Observable.zip(obs1, obs2, (obs1, obs2) -&gt; {
          return getObs6()
      })
  
  ;
  </code></pre>
  
  <p>Once I get <code>obs6</code>, then I need to use <code>obs1</code>, <code>obs2</code>, <code>obs3</code>, <code>obs4</code>, <code>obs5</code> and <code>obs6</code> to fetch <code>obs7</code>.</p>
  
  <p>So how can I subscribe <code>obs1</code> twice, once to get <code>obs5</code> and another </p>