/** * Get a node for removal. Add a zombie node, if node does not exist. */ public ITreeNode getNodeOrAddZombie(Object id) { ITreeNode ret; synchronized (nodes) { ret = nodes.get(id); if (ret == null) { addZombieNode(id); } } return ret; }
/** * Remove a child and update the tree. */ public void removeChild(ITreeNode node) { int index = getIndexOfChild(node); if(index != -1) { // boolean removed = children.remove(node); // if(node.getId().toString().startsWith("ANDTest@")) // System.out.println("removed: "+node+", "+removed); model.deregisterNode(node); model.fireNodeRemoved(this, node, index); if (searching) dirty = true; } else { getModel().addZombieNode(node.getId()); } }