Чистка кода.
Использование операторов динапического приведения типов.