@_generative(_no_statement_condition, _no_limit_offset)
    def filter(self, *criterion):
        for criterion in list(criterion):
            criterion = expression._literal_as_text(criterion)

            criterion = self._adapt_clause(criterion, True, True)

            if self._criterion is not None:
                self._criterion = self._criterion & criterion
            else:
                self._criterion = criterion
apply the given filtering criterion to a copy
dataset/ETHPy150Open goFrendiAsgard/kokoropy/kokoropy/packages/sqlalchemy/orm/query.py/Query.filter