/** Called under Children.MUTEX to refresh the currently selected nodes. */ @Override public void run() { if (readAccessPaths == null) { return; } TreePath[] paths = readAccessPaths; // non null value caused leak in // ComponentInspector // When the last Form was closed then the ComponentInspector was // closed as well. Since this variable was not null - // last selected Node (RADComponentNode) was held ---> FormManager2 was held, etc. readAccessPaths = null; java.util.List<Node> ll = new java.util.ArrayList<Node>(paths.length); for (int i = 0; i < paths.length; i++) { Node n = Visualizer.findNode(paths[i].getLastPathComponent()); n = getOriginalNode (n); if( isUnderRoot( manager.getRootContext(), n ) ) { ll.add(n); } } callSelectionChanged(ll.toArray(new Node[ll.size()])); }