Another round of fixes destined for an emergency patch that I spent most of the day hacking out with one of my co-workers. The code in the neighborhood is much cleaner now -- I wrote this fairly early in my Java adventure and was able to make a bunch of fairly trivial, but major improvements while cleaning up the bad behavior that was going on. And I managed to eliminate a lot of duplicate code, which is always a bonus.
It's passed our initial smoke tests to see if it has fixed all of the client bugs, so a build is underway and QE will have at it in the morning.
Chaos! It's what's for lunch.