This dynamic_cast should be completely un-needed. The return type is already the "right" one
dynamic_cast