/** * Create a new component node. */ public ISwingTreeNode createComponentNode(final IComponentDescription desc) { ISwingTreeNode node = getModel().getNode(desc.getName()); if(node==null) { boolean proxy = "jadex.platform.service.remote.Proxy".equals(desc.getModelName()) // Only create proxy nodes for local proxy components to avoid infinite nesting. && ((IActiveComponentTreeNode)getModel().getRoot()).getComponentIdentifier().getName().equals(desc.getName().getPlatformName()); if(proxy) { node = new ProxyComponentTreeNode(ComponentTreeNode.this, getModel(), getTree(), desc, cms, iconcache, access); } else { node = new ComponentTreeNode(ComponentTreeNode.this, getModel(), getTree(), desc, cms, iconcache, access); } } return node; }