<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_unaryop(self, node, parent):
 """visit a UnaryOp node by returning a fresh instance of it"""

        newnode = nodes.UnaryOp(
            self._unary_op_classes[node.op.__class__],
            node.lineno,
            node.col_offset,
            parent,
        )
        newnode.postinit(self.visit(node.operand, newnode))
        return newnode