if (cname == null) cname = parent.getName() + "|" + self.getClassName();
String type = self.getType();
  public static String getSubComponentUniqueName(ComponentData parent, ComponentData self) {    if (self == null)      return null;    String cname = self.getName();    if (parent == null)       if (cname != null)	return cname;      else 	return self.getClassName();          if (cname == null)      cname = parent.getName() + "|" + self.getClassName();    ComponentData[] children = parent.getChildren();    if (children == null)      return cname;    boolean addedparam = false;    for (int i = 0; i < children.length; i++) {      ComponentData kid = children[i];      if (kid != null && kid.getName().equals(cname)) {	// OK, must at least add a paramter if it has one	if (self.parameterCount() > 0 && ! addedparam) {	    cname = cname + "|" + self.getParameter(0);	    addedparam = true;	} else {	  // OK, no params. Add a number? Maybe the others do have a param?	  cname = cname + children.length;	}      }    }    return cname;  }