title: RXJava create an observable on completion of other
body: <p>Hi I have been quite struggling with this for a while. Any help is appreciated. </p>
  
  <p>I have a requirement to run one observable after completion of another observable. So e.g. The following code creates an observable from input value to value + 10. </p>
  
  <pre><code> Observable&lt;ColoredIntegerModel&gt; getSequenceObservable(int value, int delay, int color) {
      return Observable.range(value,10)
              .map(i -&gt; {
                  Log.d(TAG, "Value " + i
                          + " evaluating on " + Thread.currentThread().getName()
                          + " emitting item at " + System.currentTimeMillis());
                  try {
                      Thread.sleep(delay);
                  } catch (InterruptedException e) {
  
                  }
                  return new ColoredIntegerModel(i, color);
              });
  }
  </code></pre>
  
  <p>The ColorIntegerModel is as follows </p>
  
  <pre><code>public class ColoredIntegerModel {
  
      private Integer mValue;
      private int mColor;
  
      public ColoredIntegerModel(Integer value, int color) {
          mValue = value;
          mColor = color;
      }
  
      public Integer getValue() {
          return mValue;
      }
  
      public int getColor() {
          return mColor;
      }
  }
  </code></pre>
  
  <p>I create the two observables as follows and concat them like so . </p>
  
  <pre><code>Observable&lt;ColoredIntegerModel&gt; observable1 = getSequenceObservable(1, 1000, Color.BLUE);
  
  Observable&lt;ColoredIntegerModel&gt; observable11 = getSequenceObservable(11, 1000, Color.RED);
  
   mDisposable =
              observable1.concatWith(observable11)
              .doOnDispose(() -&gt; {Log.d(TAG, "observable disposed");})
              .subscribeOn(Schedulers.newThread())
              .observeOn(AndroidSchedulers.mainThread())
              .repeat(2)
              .subscribe((m) -&gt; {
                  Utils.appendColoredText(mResultTextView, "Adding item "
                          + m.getValue().toString() + "\n", m.getColor());
              });
  </code></pre>
  
  <p>The above code prints 1..10 (in blue each item delayed by 1s) and 11..20 (in red). </p>
  
  <p>So far so good. </p>
  
  <p>But my requirement is to create the second observable only after the first is complete. Infact it could be array of observables, where the n+1 observable is only created after the nth is done. Each observable can emit multiple items. Is there any operator to achieve this? </p>