'Returns a new QuerySet instance with the args ANDed to the existing
set.'

def query(self, *args, **kwargs):

    clone = self._clone()
    queries = []
    from pyes.query import Query
    if args:
        for f in args:
            if isinstance(f, Query):
                queries.append(f)
            else:
                raise TypeError('Only    Query    objects    can    be    passed    as    argument')
    for (field, value) in kwargs.items():
        if (value == [None]):
            value = ['$$$$']
        queries.append(self._build_inner_query(field, value))
    clone._queries.extend(queries)
    return clone
