title: Chaining 2 different async operations that is dependant on the value of an observable
body: <p>Hi all I'm new to RxJava and trying to wrap my head around some concepts. I need to get a value from the api, and run 2 more queries to the api that is dependent on the value.</p>
  
  <p>I tried implementing it this way but it's giving me a NetworkOnMainThreadException. Is there a way to 'fork' the stream, or is my understanding flawed? Any help is appreciated.</p>
  
  <pre><code>ConnectableObservable&lt;Value&gt; getSomeValueStream =
                  _api
                      .someHttpAsyncTask()
                      .map(parseJsonResponse)
                      .subscribeOn(Schedulers.newThread())
                      .observeOn(AndroidSchedulers.mainThread())
                      .publish();
  
  getSomeValueStream 
              .flatMap(HttpAsyncTask2Stream)
              .subscribe();
  
  getSomeValueStream 
              .flatMap(HttpAsyncTask3Stream)
              .subscribe();
  
  getSomeValueStream.connect();
  </code></pre>