This is a hugely, huge method.  Could you chunk this out so that it is more readable?