public IFuture<Void> componentRemoved(final IComponentDescription desc, Map<String, Object> results) { final ISwingTreeNode node = getModel().getNodeOrAddZombie(desc.getName()); // if(desc.getName().toString().startsWith("ANDTest@")) // System.out.println("Component removed0: "+desc.getName().getName()+", zombie="+(node==null)); if(node!=null) { SwingUtilities.invokeLater(new Runnable() { public void run() { if(getModel().getNodeOrAddZombie(desc.getName())!=null) { // if(desc.getName().toString().startsWith("ANDTest@")) // System.out.println("Component removed: "+desc.getName().getName()); ((AbstractSwingTreeNode)node.getParent()).removeChild(node); } } }); } return IFuture.DONE; }