NodeList joins = r.getElementsByTagName("condition"); for(int i = 0; i < joins.getLength(); i++)
List conditions = XMLUtil.getChildElements(r, "condition"); for(int i = 0; i < conditions.size(); i++)
  protected void init(Element root)  {    // joinconditions    Element s = XMLUtil.getChildElement(root, "statusvalues");    defaultNextStatus = s.getAttribute("default-next");    defaultOldStatus = s.getAttribute("default-old");    NodeList l = s.getElementsByTagName("status");    for(int i = 0; i < l.getLength(); i++)    {      Element status = (Element)l.item(i);      StatusDescriptor statusDescriptor = new StatusDescriptor(status);      statusDescriptor.setParent(this);      statusList.add(statusDescriptor);    }    Element j = XMLUtil.getChildElement(root, "joinconditions");    if(j != null)    {      NodeList joins = j.getElementsByTagName("condition");      for(int i = 0; i < joins.getLength(); i++)      {        Element condition = (Element)joins.item(i);        ConfigConditionDescriptor jcd = new ConfigConditionDescriptor(this, condition);	      jcd.setDescription(bundle.getString(jcd.getName() + ".long"));	      jcd.setDisplayName(bundle.getString(jcd.getName()));        jcd.setParent(this);        joinList.add(jcd);      }    }    // prefunctions    Element p = XMLUtil.getChildElement(root, "functions");    if(p != null)    {      NodeList joins = p.getElementsByTagName("function");      for(int i = 0; i < joins.getLength(); i++)      {        Element function = (Element)joins.item(i);        ConfigFunctionDescriptor pd = new ConfigFunctionDescriptor(this, function);	      pd.setDescription(bundle.getString(pd.getName() + ".long"));	      pd.setDisplayName(bundle.getString(pd.getName()));        pd.setParent(this);        preList.add(pd);      }    }    // permissionconditions    Element pm = XMLUtil.getChildElement(root, "permissionconditions");    if(pm != null)    {      NodeList joins = pm.getElementsByTagName("condition");      for(int i = 0; i < joins.getLength(); i++)      {        Element condition = (Element)joins.item(i);        PermissionConditionDescriptor pcd = new PermissionConditionDescriptor(this, condition);	      pcd.setDescription(bundle.getString(pcd.getName() + ".long"));	      pcd.setDisplayName(bundle.getString(pcd.getName()));        pcd.setParent(this);        permissionList.add(pcd);      }    }    // resultconditions    Element r = XMLUtil.getChildElement(root, "resultconditions");    if(j != null)    {      NodeList joins = r.getElementsByTagName("condition");      for(int i = 0; i < joins.getLength(); i++)      {        Element condition = (Element)joins.item(i);        ConfigConditionDescriptor rcd = new ConfigConditionDescriptor(this, condition);	      rcd.setDescription(bundle.getString(rcd.getName() + ".long"));	      rcd.setDisplayName(bundle.getString(rcd.getName()));        rcd.setParent(this);        resultList.add(rcd);      }    }  }