Ditto - if you can pull these conditional and tree-walking chains into properly named methods it can make it all more readable.