Please refactor this method.  Try to break it up into methods which are no longer than five lines.