docs: def to_dict(self, remove_nones=False):
          """
          Creates a dictionary representation of the page.
  
          :param remove_nones: Whether ``None`` values should be filtered out of the dictionary.  Defaults to ``False``.
          :return: A dictionary representation of the page.
          """
  
          items = []
  
          # attempt to replace each item with its dictionary representation if possible
          for item in self.items:
              if hasattr(item, 'to_dict'):
                  items.append(item.to_dict(remove_nones=remove_nones))
              else:
                  items.append(item)
  
          return {
              'items': items,
              'pageNumber': self.page_number,
              'pageSize': self.page_size,
              'totalElements': self.total_elements,
              'hasNext': self.has_next
          }