TreeTable - dynamic change and refresh - infinite loop

I’ve been having problems trying to stabilize a TreeTable that dynamically updates.
I’m using the DontPushAtmosphere Servlet on Glassfish.
The idea is to allow the TreeTable to be changed by outside influences by way of a listener.
The listener detects changes and checks the treetable. if the item to be changed is visible (filters can be added by the user) it changes it.
The changes do not affect the filtering (i.e. not a property of the filter).
However, a repaint is required when changes are made and is triggered o.k.
I was previously using 6.7.5 and had problems which I raised in another forum message with rendering. This is now all ok.

I was also getting other problems but it was not a priority at the time.
The issue now is that when sometimes, mostly when there are more items to update, the treetable goes into an infinite loop.
It is exactly the same as the Trac 8860.
I debugged it to find it. However if I try to catch the problem in the debugger it doesn’t occur.
I have to let it happen then break into the loop.
This leads me to believe it is a threading issue somehow: update vs paint?
Anybody got any ideas on how to get this working? Can I do it better using another technique?

Ok Thanks for the advice. /sarc.
I robbed out the treetable and coded round the problem as suggested in the bug.
I.e. removed the root node check and just used a not null item check.
my apps seems to work as expected now.
no more killer infinite loops.
Whether or not I will get other problems in future remains to be seen…
BTW, still no idea what was the root technical cause. whether you refreshcache, repaint or not made no difference, hence the xtreeeem measure.
so, if anyone wants to have a look I can then go back to using the core code.
i dont want to have to maintain a copy of an otherwise perfectly functioning widget just for one (deadly) bug.
I can’t show my working as its confidential and also quite complex but willing to try to set up a simple example if it will expedite matters.
the bug also used to happen when using the poll indicator to refresh rather than the atmos servlet so it isnt related to that specifically I dont think.