code: def ReadHuntObjects(self,
                        offset,
                        count,
                        with_creator=None,
                        created_after=None,
                        with_description_match=None):
      
      filter_fns = []
      if with_creator is not None:
        filter_fns.append(lambda h: h.creator == with_creator)
      if created_after is not None:
        filter_fns.append(lambda h: h.create_time > created_after)
      if with_description_match is not None:
        filter_fns.append(lambda h: with_description_match in h.description)
      filter_fn = lambda h: all(f(h) for f in filter_fns)
  
      result = [self._DeepCopy(h) for h in self.hunts.values() if filter_fn(h)]
      return sorted(
          result, key=lambda h: h.create_time,
          reverse=True)[offset:offset + (count or db.MAX_COUNT)]
docs: Reads all hunt objects from the database.