Я не уверен, что правильно понял ваш вопрос, так как он не очень понятен, некоторые примеры вашего класса и того, что вы пытаетесь достичь, помогут.
В любом случае, я понял, что вы должны проверить шаблон посетителя.
http://en.wikipedia.org/wiki/Visitor_pattern
Проще говоря, я бы разделил действия, которые вы хотите выполнить с каждым типом, и имел бы один класс для каждого из них (вместо того, чтобы использовать все эти методы как методы во всех ваших подклассах).
И вы бы сделали что-то подобное:
yourSubclass.accept(yourAction)
Метод посещения будет определен в интерфейсе Visitor, один раз для каждого типа вашего подкласса. И каждый из ваших классов действий должен будет реализовать, что делать для каждого из них. И метод accept в вашем суперклассе просто вызовет визит из действия.
Если это не то, что вы спросили, извините:)