Don't cast, change the interface.