I have a java class with a thousand line method of if/else logic like this:
if (userType == \"admin\") {
if (age > 12) {
if (location == \"
Take a look at the Visitor pattern. It makes use of polymorphism but is a little more flexible in that it is easier to add new cases later.
The downside is you'd need some way to convert the state info into different instances. The benefit is a cleaner way to add behavior without having to modify your inheritance hierarchy.