I think declaring a method in another class, which will accept the argument of superclass and it's subclass at runtime is the fine solution of it. This is also called polymorphism. [ October 24, 2008: Message edited by: Pawan Arora ]
But in general, using these techniques is a sign for a design that doesn't make full use of the advantages of OOP, especially polymorphism.
Why do you feel the need to do it?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus