docs: def execute(self, lst):
          '''
              execute - Execute the series of filters, in order, on the provided list.
  
              @param lst <list/ A QueryableList type> - The list to filter. If you already know the types of items within
                  the list, you can pick a QueryableList implementing class to get faster results. Otherwise, if a list type that does
                  not extend QueryableListBase is provided, QueryableListMixed will be used (Supports both object-like and dict-like items)
  
              @return - QueryableList of results. If you provided #lst as a QueryableList type already, that same type will be returned.
                  Otherwise, a QueryableListMixed will be returned.
          '''
          from . import QueryableListMixed
          if not issubclass(lst.__class__, QueryableListBase):
              lst = QueryableListMixed(lst)
          filters = copy.copy(self.filters)
          nextFilter = filters.popleft()
          while nextFilter:
              (filterMethod, filterArgs) = nextFilter
              lst = self._applyFilter(lst, filterMethod, filterArgs)
              if len(lst) == 0:
                  return lst
              try:
                  nextFilter = filters.popleft()
              except:
                  break
          return lst