code: def _fill_buffer(self):
          
          # If we cannot fetch anymore from the server then we're done here.
          if self._all_results_fetched:
              self._eof()
  
          raw_results = self.result_fetcher(page=self._page, per_page=self.per_page)
  
          entities = []
          for raw in raw_results:
              entities.append(self.entity.deserialize(raw, bind_client=self.bind_client))
  
          self._buffer = collections.deque(entities)
  
          self.log.debug("Requested page {0} (got: {1} items)".format(self._page,
                                                                      len(self._buffer)))
          if len(self._buffer) < self.per_page:
              self._all_results_fetched = True
  
          self._page += 1
docs: Fills the internal size-50 buffer from Strava API.