code: def _base_get_list(self, url, limit=None, *, query=None, order_by=None,
                         batch=None):
          
  
          if limit is None or limit > self.protocol.max_top_value:
              batch = self.protocol.max_top_value
  
          params = {'$top': batch if batch else limit}
  
          if order_by:
              params['$orderby'] = order_by
  
          if query:
              if query.has_filters:
                  warnings.warn(
                      'Filters are not allowed by the Api Provider '
                      'in this method')
                  query.clear_filters()
              if isinstance(query, str):
                  params['$filter'] = query
              else:
                  params.update(query.as_params())
  
          response = self.con.get(url, params=params)
          if not response:
              return iter(())
  
          data = response.json()
  
          # Everything received from cloud must be passed as self._cloud_data_key
          items = (
              self._classifier(item)(parent=self, **{self._cloud_data_key: item})
              for item in data.get('value', []))
          next_link = data.get(NEXT_LINK_KEYWORD, None)
          if batch and next_link:
              return Pagination(parent=self, data=items,
                                constructor=self._classifier,
                                next_link=next_link, limit=limit)
          else:
              return items
docs: Returns a collection of drive items