Question: Are there any design patterns/methods/ways to remove nested if then else conditions/switch statements?

I remember coming across some methods used by the Google folks listed in a Google code blog post. Can’t seem to find it now though

Answer: 
Have you read [this](http://www.codinghorror.com/blog/archives/000486.html) on flattening arrow code from Coding Horror?

You can replace throw with return or goto if you're using a language without exceptions.
I actually wrote about how to solve this issues in my blog in April of 2008. Take a look [here](http://adotnetdude.blogspot.com/2008/03/refactoring-code-with-too-many.html) and let me know what you think.

I recommend you: 

1. Use polymorphism to get the correct run-time behavior you need without conditional statements.
2. Take all your conditional statements, and move them into some sort of "factory" which will hand you the appropriate type at run-time.
3. You're done. Wasn't that easy? :)

If you want to see some actual code sample on how transform your code, head over to my blog.

*P.S. This is not a cheap attempt at self promotion; I've been a SO user for a long time now, and this is the first time I've linked to my blog - and I've only done so because I think it's relevant.*