'Fills the result cache with \'num\' more entries (or until the results
iterator is exhausted).'

def _fill_cache(self, num=None):

    if self._iter:
        try:
            for i in range((num or ITER_CHUNK_SIZE)):
                self._result_cache.append(next(self._iter))
        except StopIteration:
            self._iter = None
