Just seeing those asserts,
could you pls make them a 
REQUIRE(mch, "Instance of %s could not be casted to COnlineLibLinear\n", node->machine()->get_name())
also add a REQUIRE(node, "Node must not be NULL\n")
and REQUIRE(node->machine(), "Node's machine must not be NULL\n")
before the cast.
Just makes things nicer for users