Description
In TableModelFactory.onNodeCompleted a listener is added for property 'model'.
The removal of this listener is installed as disposalClosure, but removing under property name 'table'.
As far as i understand the the method SwingBuilder.dispose() is never invoked for running the dispocalClosures.
Even if the disposalClosure is run the added listener under prop 'model' is not removed, as the removal tries to
remove the listener using prop 'table'.
Calling SwingBuilder.dispose() explicitly gives me a NPE.
Removing the listener via:
def pcls = table.getPropertyChangeListeners('model') as List
table.removePropertyChangeListener('model', pcls[0])
works fine