def collect_variables(self, context):
     variables = FilteredExpression.collect_variables(self, context)
     if self.expressions:
         variables |= set.union(*[collect_variables(expr, context) for expr in self.expressions])
     variables |= collect_variables(self.take_filter, context)
     variables |= collect_variables(self.leave_filter, context)
     return variables