<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def visit_boolop(self, node, parent):
 """visit a BoolOp node by returning a fresh instance of it"""

        newnode = nodes.BoolOp(
            self._bool_op_classes[type(node.op)], node.lineno, node.col_offset, parent
        )
        newnode.postinit([self.visit(child, newnode) for child in node.values])
        return newnode