title: Behaviour of onNext and onComplete
body: <p>I have an Observable that does something without the need to emit a value. Also I have a list of objects I want the Observable to work with. So for all elements in this list: doSomething()</p>
  
  <pre><code>Observable.from(uris)
          .flatMap(new Func1&lt;Uri, Observable&lt;Void&gt;&gt;() {
              @Override
              public Observable&lt;Void&gt; call(Uri uri) {
                  return createDoSomethingObservable(uri);
              }
          })
          .observeOn(AndroidSchedulers.mainThread())
          .subscribeOn(Schedulers.io())
          .subscribe(new Observer&lt;Void&gt;() {
              @Override
              public void onCompleted() {
                  Log.d(TAG, "completed");
              }
  
              @Override
              public void onError(Throwable e) {
  
              }
  
              @Override
              public void onNext(Void aVoid) {
                  Log.d(TAG, "next");
              }
          });
  </code></pre>
  
  <p>And the method that creates the Observable:</p>
  
  <pre><code>Observable&lt;Void&gt; createDoSomethingObservable(final Uri uri) {
      return Observable.create(new Observable.OnSubscribe&lt;Void&gt;() {
          @Override
          public void call(Subscriber&lt;? super Void&gt; subscriber) {
              //doSomething
              subscriber.onNext(null);
              subscriber.onCompleted();
          }
      });
  }
  </code></pre>
  
  <p>Now when I run this with a List with 3 elements I get:</p>
  
  <pre><code>next
  next
  next
  completed
  </code></pre>
  
  <p>which is good, because that is what I wanted, but I don't know why it's working. First I started to just call onComplete, because in the end the observable does its job and completes. But then of course onNext is never called on the subscriber. The same goes for the other way round.</p>
  
  <p>So my questions are:</p>
  
  <ol>
  <li>Why is onComplete only called for the last list element?</li>
  <li>Is there a better way to solve this?</li>
  </ol>