I would suggest changing the system to use an interface, just so that you do not need to cast.
Just loop through the item, use the Does Implement Interface to test, a branch to block the call if it does not, and call an interface function if true.
You need to hook up the models with the interface, and build their function, and you should be done.