Program: 24111
Project: 24111
Buggy source:
private void generateAccessors(ElementDefn root,ElementDefn e,String indent,String className) throws Exception {
  String tn=typeNames.get(e);
  if (e.unbounded()) {
    jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
    if (tn == null && e.usesCompositeType()) {
      write(indent + "String_Node_Str" + root.getName()+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ root.getName()+ "String_Node_Str");
    }
 else {
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str");
    }
    write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
    write(indent + "String_Node_Str");
    write(indent + "String_Node_Str" + getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
    write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
    write(indent + "String_Node_Str");
    write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
    write(indent + "String_Node_Str");
    write(indent + "String_Node_Str");
    write(indent + "String_Node_Str");
    write(indent + "String_Node_Str");
    write("String_Node_Str");
    jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
    if (e.getTypes().size() == 1 && (definitions.getPrimitives().containsKey(e.typeCode()) || e.typeCode().equals("String_Node_Str"))) {
      write("String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ tn+ "String_Node_Str"+ (tn.startsWith("String_Node_Str") ? "String_Node_Str" + tn.substring(12,tn.length() - 1) + "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
      write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ getSimpleType(tn)+ "String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ tn+ "String_Node_Str"+ (tn.startsWith("String_Node_Str") ? "String_Node_Str" + tn.substring(12,tn.length() - 1) + "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
      write(indent + "String_Node_Str" + getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ getSimpleType(tn)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      if (isJavaPrimitive(e))       write(indent + "String_Node_Str" + e.typeCode()+ "String_Node_Str");
 else       write(indent + "String_Node_Str" + e.typeCode()+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
    }
 else {
      if (!definitions.getBaseResources().containsKey(tn)) {
        write("String_Node_Str");
        write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
        write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ tn+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write(indent + "String_Node_Str");
        write("String_Node_Str");
      }
      if (e.getTypes().size() == 1 && e.typeCode().startsWith("String_Node_Str")) {
        List<String> params=e.getTypes().get(0).getParams();
        String rn=params.size() == 1 ? params.get(0) : "String_Node_Str";
        if (rn.equals("String_Node_Str"))         rn="String_Node_Str";
        jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
        write(indent + "String_Node_Str" + rn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ rn+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write("String_Node_Str");
        if (!rn.equals("String_Node_Str")) {
          write("String_Node_Str");
          jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
          write(indent + "String_Node_Str" + rn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
          write(indent + "String_Node_Str" + rn+ "String_Node_Str"+ rn+ "String_Node_Str");
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ rn+ "String_Node_Str");
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str");
          write(indent + "String_Node_Str");
          write("String_Node_Str");
        }
      }
    }
  }
 else {
    if (isJavaPrimitive(e)) {
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str"+ (tn.startsWith("String_Node_Str") ? "String_Node_Str" + tn.substring(12,tn.length() - 1) + "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      write(indent + "String_Node_Str" + getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      write(indent + "String_Node_Str" + getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ tn+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + e.getDefinition());
      write(indent + "String_Node_Str" + getSimpleType(tn)+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ (e.typeCode().equals("String_Node_Str") ? "String_Node_Str" : (e.typeCode().equals("String_Node_Str") ? "String_Node_Str" : "String_Node_Str"))+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + e.getDefinition());
      write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ getSimpleType(tn)+ "String_Node_Str");
      if (e.getMinCardinality() == 0 && !tn.equals("String_Node_Str") && !tn.equals("String_Node_Str")) {
        if (isString(tn))         write(indent + "String_Node_Str");
 else         write(indent + "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
      }
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str"+ (tn.startsWith("String_Node_Str") ? "String_Node_Str" + tn.substring(12,tn.length() - 1) + "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      if (e.getMinCardinality() == 0 && !tn.equals("String_Node_Str") && !tn.equals("String_Node_Str")) {
        write(indent + "String_Node_Str");
      }
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
    }
 else {
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      if (!tn.equals("String_Node_Str") && !tn.equals("String_Node_Str") && !tn.endsWith("String_Node_Str")) {
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str");
      }
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      if (e.getTypes().size() > 1 && (tn.equals("String_Node_Str") || !tn.endsWith("String_Node_Str"))) {
        for (        TypeRef t : e.getTypes()) {
          jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
          String ttn=getTypename(t);
          write(indent + "String_Node_Str" + ttn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ ttn+ "String_Node_Str");
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ ttn+ "String_Node_Str");
          write(indent + "String_Node_Str" + ttn+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str" + ttn+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str");
          write("String_Node_Str");
        }
      }
      write(indent + "String_Node_Str" + getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
      write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ tn+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      if (e.getTypes().size() == 1 && e.typeCode().startsWith("String_Node_Str")) {
        List<String> params=e.getTypes().get(0).getParams();
        String rn=params.size() == 1 ? params.get(0) : "String_Node_Str";
        if (rn.equals("String_Node_Str"))         rn="String_Node_Str";
        jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
        write(indent + "String_Node_Str" + rn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
        if (!rn.equals("String_Node_Str")) {
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str");
          write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str");
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ rn+ "String_Node_Str");
        }
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write("String_Node_Str");
        jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
        write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ rn+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write(indent + "String_Node_Str");
        write("String_Node_Str");
      }
    }
  }
}

Fixed version (ground truth):
private void generateAccessors(ElementDefn root,ElementDefn e,String indent,String className) throws Exception {
  String tn=typeNames.get(e);
  if (e.unbounded()) {
    jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
    if (tn == null && e.usesCompositeType()) {
      write(indent + "String_Node_Str" + root.getName()+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ root.getName()+ "String_Node_Str");
    }
 else {
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str");
    }
    write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
    write(indent + "String_Node_Str");
    write(indent + "String_Node_Str" + getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
    write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
    write(indent + "String_Node_Str");
    write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
    write(indent + "String_Node_Str");
    write(indent + "String_Node_Str");
    write(indent + "String_Node_Str");
    write(indent + "String_Node_Str");
    write("String_Node_Str");
    jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
    if (e.getTypes().size() == 1 && (definitions.getPrimitives().containsKey(e.typeCode()) || e.typeCode().equals("String_Node_Str"))) {
      write("String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ tn+ "String_Node_Str"+ (tn.startsWith("String_Node_Str") ? "String_Node_Str" + tn.substring(12,tn.length() - 1) + "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
      write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ getSimpleType(tn)+ "String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ tn+ "String_Node_Str"+ (tn.startsWith("String_Node_Str") ? "String_Node_Str" + tn.substring(12,tn.length() - 1) + "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
      write(indent + "String_Node_Str" + getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ getSimpleType(tn)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      if (isJavaPrimitive(e))       write(indent + "String_Node_Str" + e.typeCode()+ "String_Node_Str");
 else       write(indent + "String_Node_Str" + e.typeCode()+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
    }
 else {
      if (!definitions.getBaseResources().containsKey(tn)) {
        write("String_Node_Str");
        write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
        write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ tn+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write(indent + "String_Node_Str");
        write("String_Node_Str");
      }
      if (e.getTypes().size() == 1 && e.typeCode().startsWith("String_Node_Str")) {
        List<String> params=e.getTypes().get(0).getParams();
        String rn=params.size() == 1 ? params.get(0) : "String_Node_Str";
        if (rn.equals("String_Node_Str"))         rn="String_Node_Str";
        jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
        write(indent + "String_Node_Str" + rn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ rn+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write("String_Node_Str");
        if (!rn.equals("String_Node_Str")) {
          write("String_Node_Str");
          jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
          write(indent + "String_Node_Str" + rn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
          write(indent + "String_Node_Str" + rn+ "String_Node_Str"+ rn+ "String_Node_Str");
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ rn+ "String_Node_Str");
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str");
          write(indent + "String_Node_Str");
          write("String_Node_Str");
        }
      }
    }
  }
 else {
    if (isJavaPrimitive(e)) {
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str"+ (tn.startsWith("String_Node_Str") ? "String_Node_Str" + tn.substring(12,tn.length() - 1) + "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      write(indent + "String_Node_Str" + getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      write(indent + "String_Node_Str" + getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ tn+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + e.getDefinition());
      write(indent + "String_Node_Str" + getSimpleType(tn)+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      if (e.typeCode().equals("String_Node_Str"))       write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
 else       if (e.typeCode().equals("String_Node_Str"))       write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
 else       write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + e.getDefinition());
      write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ getSimpleType(tn)+ "String_Node_Str");
      if (e.getMinCardinality() == 0 && !tn.equals("String_Node_Str") && !tn.equals("String_Node_Str")) {
        if (isString(tn))         write(indent + "String_Node_Str");
 else         write(indent + "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
      }
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str"+ (tn.startsWith("String_Node_Str") ? "String_Node_Str" + tn.substring(12,tn.length() - 1) + "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      if (e.getMinCardinality() == 0 && !tn.equals("String_Node_Str") && !tn.equals("String_Node_Str")) {
        write(indent + "String_Node_Str");
      }
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
    }
 else {
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
      write(indent + "String_Node_Str" + tn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      if (!tn.equals("String_Node_Str") && !tn.equals("String_Node_Str") && !tn.endsWith("String_Node_Str")) {
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ tn+ "String_Node_Str");
      }
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      if (e.getTypes().size() > 1 && (tn.equals("String_Node_Str") || !tn.endsWith("String_Node_Str"))) {
        for (        TypeRef t : e.getTypes()) {
          jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
          String ttn=getTypename(t);
          write(indent + "String_Node_Str" + ttn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ ttn+ "String_Node_Str");
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ ttn+ "String_Node_Str");
          write(indent + "String_Node_Str" + ttn+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str" + ttn+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str");
          write("String_Node_Str");
        }
      }
      write(indent + "String_Node_Str" + getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
      write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ tn+ "String_Node_Str");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      write(indent + "String_Node_Str");
      write(indent + "String_Node_Str");
      write("String_Node_Str");
      if (e.getTypes().size() == 1 && e.typeCode().startsWith("String_Node_Str")) {
        List<String> params=e.getTypes().get(0).getParams();
        String rn=params.size() == 1 ? params.get(0) : "String_Node_Str";
        if (rn.equals("String_Node_Str"))         rn="String_Node_Str";
        jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
        write(indent + "String_Node_Str" + rn+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str");
        if (!rn.equals("String_Node_Str")) {
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str");
          write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
          write(indent + "String_Node_Str");
          write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str"+ rn+ "String_Node_Str");
        }
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write("String_Node_Str");
        jdoc(indent,"String_Node_Str" + getElementName(e.getName(),true) + "String_Node_Str"+ e.getDefinition()+ "String_Node_Str");
        write(indent + "String_Node_Str" + className+ "String_Node_Str"+ getTitle(getElementName(e.getName(),false))+ "String_Node_Str"+ rn+ "String_Node_Str");
        write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
        write(indent + "String_Node_Str");
        write(indent + "String_Node_Str");
        write("String_Node_Str");
      }
    }
  }
}