title: How to make multiple requests with reactive android and retrofit
body: <p>I have presenter which calls getShops() method.</p>
  
  <pre><code>Observable&lt;List&lt;Shop&gt;&gt; observable = interactor.getData();
          Subscription subscription = observable
                  .subscribeOn(Schedulers.newThread())
                  .observeOn(AndroidSchedulers.mainThread())
                  .subscribe(new Subscriber&lt;List&lt;Shop&gt;&gt;() {
                      @Override
                      public void onCompleted() {
                          view.hideProgress();
                      }
  
                      @Override
                      public void onError(Throwable e) {
                          super.onError(e);
                          view.hideProgress();
                      }
  
                      @Override
                      public void onNext(List&lt;Shop&gt; shops) {
                          handleShops(shops);
                          view.onSuccess();
                      }
                  });
          composite.add(subscription);
  </code></pre>
  
  <p>In data layer I have Interactor which makes request to server with Retrofit and return <code>List&lt;Shop&gt;</code>.</p>
  
  <pre><code>@Override
  public Observable&lt;List&lt;Shop&gt;&gt; getData() {
      return api.getShops(pageNum).map(new Func1&lt;ShopWrapper, List&lt;Shop&gt;&gt;() {
          @Override
          public List&lt;Shop&gt; call(ShopWrapper wrapper) {
              return wrapper.getShops();
          }
      });
  }
  </code></pre>
  
  <p>The problem is that I need to make multiple identical requests with different page parameter, because server returns N shops per page, and I need collect all shops and then return the <code>Observable&lt;List&lt;Shop&gt;&gt;</code> to presenter.</p>
  
  <p>I'm new to Reactive programming, maybe there is some operator which allows to do this.</p>
  
  <p>Any help would be appreciated.</p>