We can rebuild him! But...er...we ain't gonna...
We've been building a filterable, sortable JTree (sort of like swingx's JXTree, but actually working). Of course we ran head-first into the common JTree problem - any structureChanged event collapses the tree. So we filter the tree - and it collapses. Darn. But don't worry! Those clever swing guys, they figured out how to fix it, as the following comment shows (JTree, line 3165) :
// NOTE: If I change this to NOT remove the descendants
// and update BasicTreeUIs treeStructureChanged method
// to update descendants in response to a treeStructureChanged
// event, all the children of the event won't collapse!
Of course, the fix involves rewriting BasicTreeUI. Which is subclassed by every look and feel out there, so, of course, only Sun can fix it. Which they didn't bother to do. But hey, they left us that great comment. Thanks guys!