boost::shared_static_cast -> boost::static_pointer_cast