def METHOD_NAME(self, node):
    if len(node.comparators) == 1:
        left = node.left
        right = node.comparators[0]
        op = node.ops[0]
        args = None
        # special handling of X == NA, NA == X, X != NA, NA != X
        if isinstance(right, Name) and right.id == 'NA':
            if isinstance(op, Eq):
                args = [ left, Num(n=1), Num(n=0) ]
            elif isinstance(op, NotEq):
                args = [ left, Num(n=0), Num(n=1) ]
        elif isinstance(left, Name) and left.id == 'NA':
            if isinstance(op, Eq):
                args = [ right, Num(n=1), Num(n=0) ]
            elif isinstance(op, NotEq):
                args = [ right, Num(n=0), Num(n=1) ]
        if args is not None:
            nu = Call(func=Name(id='IFMISS'), args=args, keywords=[ ])
            return self.visit(nu)
    left = self.visit(node.left)
    new_comps = node.comparators
    for i in range(len(new_comps)):
        new_comp = new_comps[i]
        new_comp = self.visit(new_comp)
        new_comps[i] = new_comp
    nu = Compare(left=left, ops=node.ops, comparators=new_comps)
    left._add_node_parent(nu)
    for comp in new_comps:
        comp._add_node_parent(nu)
    return nu