Program: 24137
Project: 24137
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");
 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");
    write("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.getTypes().get(0).isIdRef() || e.typeCode().equals("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");
      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" + tn+ "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");
      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");
      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" + tn+ "String_Node_Str"+ getElementName(e.getName(),true)+ "String_Node_Str");
      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 {
      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");
      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");
        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");
          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("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" : "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) {
        if (tn.equals("String_Node_Str"))         write(indent + "String_Node_Str");
 else         if (tn.equals("String_Node_Str"))         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");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      if (e.getMinCardinality() == 0) {
        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");
      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"+ 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");
        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");
 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");
    write("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.getTypes().get(0).isIdRef() || e.typeCode().equals("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");
      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" + tn+ "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");
      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");
      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" + 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 {
      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");
      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");
        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");
          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("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" : "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) {
        if (tn.equals("String_Node_Str"))         write(indent + "String_Node_Str");
 else         if (tn.equals("String_Node_Str"))         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");
      write(indent + "String_Node_Str" + getElementName(e.getName(),true)+ "String_Node_Str");
      if (e.getMinCardinality() == 0) {
        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");
      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"+ 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");
        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");
      }
    }
  }
}