docs: def add(self, filter_or_query):
          """Add a filter, or a list of filters, to the query.
  
          If a sequence of filters is supplied, they are all added, and will be
          combined with an ANDFilter.
  
          If a sequence of queries is supplied, they are all added, and will be
          combined with an BooleanQuery(must) .
  
          """
          if isinstance(filter_or_query, Filter):
              if self.queries:
                  raise QueryError("A Query is required")
              self.filters.append(filter_or_query)
          elif isinstance(filter_or_query, Query):
              if self.filters:
                  raise QueryError("A Filter is required")
              self.queries.append(filter_or_query)
          else:
              for item in filter_or_query:
                  self.add(item)
          return self