def visit_if(self, node, parent):
newnode = nodes.If(node.lineno, node.col_offset, parent)<EOL>newnode.postinit(<EOL>self.visit(node.test, newnode),<EOL>[self.visit(child, newnode) for child in node.body],<EOL>[self.visit(child, newnode) for child in node.orelse],<EOL>)<EOL>return newnode<EOL>
visit an If node by returning a fresh instance of it