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: 
Were you thinking of Google's "[The Clean Code Talks -- Inheritance, Polymorphism, & Testing](http://www.youtube.com/watch?v=4F72VULWFvc)" video? It discusses approaches to using Object Oriented techniques to remove if/switch conditionals.
How about:

```
/* Code Block 1... */

if(/* result of some condition or function call */)
{
   /* Code Block 2... */

   if(/* result of some condition or function call */)
   {
      /* Code Block 3... */

      if(/* result of some condition or function call */)
      {
         /* Code Block 4... */
      }
   }
}

```

Becomes this:

```
/* Code Block 1... */
IsOk = /* result of some condition or function call */

if(IsOK)
{
   /* Code Block 2... */
   IsOk = /* result of some condition or function call */
}

if(IsOK)
{
   /* Code Block 3...*/
   IsOk = /* result of some condition or function call */
}

if(IsOK)
{
   /* Code Block 4...*/
   IsOk = /* result of some condition or function call */
}

/* And so on... */

```

You can of course return if ever IsOk becomes false, if appropriate.