def METHOD_NAME(
    self, var: LocalVariable, node: Node, explored: List[Node]
) -> bool:
    """
    Detects (recursively) if var is (zero address) checked in the function node
    """
    if node in explored:
        return False
    explored.append(node)
    # Heuristic: Assume zero address checked if variable is used within conditional or require/assert
    # TBD: Actually check for zero address in predicate
    if (node.contains_if() or node.contains_require_or_assert()) and (
        var in node.variables_read
    ):
        return True
    # Check recursively in all the parent nodes
    for father in node.fathers:
        if self.METHOD_NAME(var, father, explored):
            return True
    return False