def METHOD_NAME(self, context):
    node = self.get_node(context)
    if not node:
        return {'CANCELLED'}
    if not any(socket.is_linked for socket in node.outputs):
        return {'CANCELLED'}
    try:
        node.inputs['Subd Obj'].sv_get()[0]
    except:
        return {'CANCELLED'}
    node.Approximate(node)
    updateNode(node,context)
    return {'FINISHED'}