Solidity for multiple files and multiple contracts per file.

You are using a lot (2 in this case) dynamic casts. Can you explain why they are absolutely neccesary?