title: Repeat a request X number of times or till Y items is returned
body: <p>I have trouble creating an Observable with the following conditions:</p>
  <ol>
  <li>Fetch items from API. API can return between 0 and 10 items.</li>
  <li>If less then 10 items is returned, request more items from the API.</li>
  <li>Repeat 5 times or till 10 or more items are collected.</li>
  </ol>
  <p>So far I have this Observable:</p>
  <pre><code>fetchData().flatMapIterable { dataList }
              .distinct()
              .filter { --some filtering--- }
              .repeat(5)
              .take(10)
              .toList()
  </code></pre>
  <p>This works ok, with one nitpick. If API returns 9 items and then 10 items, the Observable returns 10 items. The remaining 9 are discarded and I don't want that. Any way to make it work that way?</p>