	public IStructureViewNode createNode(IProgramElement node, List children) {
		AbstractIcon icon = iconRegistry.getStructureIcon(node.getKind(), node.getAccessibility());
		IStructureViewNode svNode = createDeclaration(node, icon, children);
		String nodeHandle = node.getHandleIdentifier();
		if (nodeHandle != null && !node.getKind().equals(IProgramElement.Kind.FIELD)) {	
			List relationships = AsmManager.getDefault().getRelationshipMap().get(nodeHandle);
			if (relationships != null) {
				for (Iterator it = relationships.iterator(); it.hasNext(); ) {
					IRelationship rel = (IRelationship)it.next();
					if (rel != null && rel.getTargets().size() > 0) {
						IStructureViewNode relNode = createRelationship(
							rel, 
							iconRegistry.getIcon(rel.getKind())
						);
						if (relNode != null) {
						svNode.add(relNode, 0);					
							for (Iterator it2 = rel.getTargets().iterator(); it2.hasNext(); ) {
								String handle = (String)it2.next();
								IProgramElement link = AsmManager.getDefault().getHierarchy().findElementForHandle(handle);
								if (link != null) {
									IStructureViewNode linkNode = createLink(
										link,   
										iconRegistry.getStructureIcon(link.getKind(), link.getAccessibility())  
									);	
									relNode.add(linkNode);
								}
							}
						}
					}
				}
			}
		}
		return svNode;
	}

	public IStructureViewNode createNode(IProgramElement node, List children) {
		AbstractIcon icon = iconRegistry.getStructureIcon(node.getKind(), node.getAccessibility());
		IStructureViewNode svNode = createDeclaration(node, icon, children);
		String nodeHandle = node.getHandleIdentifier();
		if (nodeHandle != null && !node.getKind().equals(IProgramElement.Kind.FIELD)) {	
			AsmManager manager = AsmManager.getDefault();
			IRelationshipMap relMap = (manager==null?null:manager.getRelationshipMap());
			List relationships = (relMap==null?null:relMap.get(nodeHandle));
			if (relationships != null) {
				for (Iterator it = relationships.iterator(); it.hasNext(); ) {
					IRelationship rel = (IRelationship)it.next();
					if (rel != null && rel.getTargets().size() > 0) {
						IStructureViewNode relNode = createRelationship(
							rel, 
							iconRegistry.getIcon(rel.getKind())
						);
						if (relNode != null) {
						svNode.add(relNode, 0);					
							for (Iterator it2 = rel.getTargets().iterator(); it2.hasNext(); ) {
								String handle = (String)it2.next();
								IProgramElement link = AsmManager.getDefault().getHierarchy().findElementForHandle(handle);
								if (link != null) {
									IStructureViewNode linkNode = createLink(
										link,   
										iconRegistry.getStructureIcon(link.getKind(), link.getAccessibility())  
									);	
									relNode.add(linkNode);
								}
							}
						}
					}
				}
			}
		}
		return svNode;
	}
