def METHOD_NAME(self, expression: Expression, operator: str, value: T) -> Condition:
    if operator == "=":
        visitor = self.query.visit_eq
    elif operator == "!=":
        visitor = self.query.visit_neq
    elif operator == ">":
        visitor = self.query.visit_gt
    elif operator == ">=":
        visitor = self.query.visit_gte
    elif operator == "<":
        visitor = self.query.visit_lt
    elif operator == "<=":
        visitor = self.query.visit_lte
    else:
        raise Exception(f"Unsupported search operator: '{operator}'")
    return visitor(expression, value)