I\'ve heard that it is bad design to use instanceof or equivalent (http://www.javapractices.com/topic/TopicAction.do?Id=31, when should we use instanceof and when not) which
In general, polymorphism is the way to avoid unnecessary instanceof operator.