Program: 22988
Project: 22988
Buggy source:
private void processAttribute(List<Element> classes,List<ElementDefinition> diff,List<ElementDefinition> snapshot,Element cclss,String path,Element attr) throws FHIRFormatError {
  String n=attr.getAttribute("String_Node_Str");
  ElementDefinition ed=new ElementDefinition();
  ed.setPath(path + "String_Node_Str" + n);
  seePath(ed);
  ed.setMin(Integer.parseInt(attr.getAttribute("String_Node_Str")));
  ed.setMax(attr.getAttribute("String_Node_Str"));
  if (!Utilities.noString(attr.getAttribute("String_Node_Str")))   ed.addExtension().setUrl("String_Node_Str").setValue(new UriType(attr.getAttribute("String_Node_Str")));
  String type=getType(attr);
  if ("String_Node_Str".equals(attr.getAttribute("String_Node_Str"))) {
    if (primitiveTypes.containsKey(type))     type=primitiveTypes.get(type);
 else     throw new Error("String_Node_Str");
    ed.addRepresentation(PropertyRepresentation.XMLATTR);
  }
  if ("String_Node_Str".equals(type)) {
    ed.setMax("String_Node_Str");
    ed.addRepresentation(PropertyRepresentation.TYPEATTR);
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addExtension().setUrl("String_Node_Str").setValue(new StringType("String_Node_Str"));
  }
 else   if ("String_Node_Str".equals(type)) {
    ed.addRepresentation(PropertyRepresentation.TYPEATTR);
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
  }
 else   ed.addType().setCode(type);
  if ("String_Node_Str".equals(attr.getAttribute("String_Node_Str")))   ed.setMustSupport(true);
  if (attr.hasAttribute("String_Node_Str"))   ed.setDefaultValue(buildValue(attr.getAttribute("String_Node_Str"),type,ed.getPath()));
  List<Element> enums=new ArrayList<Element>();
  XMLUtil.getNamedChildren(attr,"String_Node_Str",enums);
  if (enums.size() == 1)   ed.setFixed(buildValue(enums.get(0).getTextContent(),type,ed.getPath()));
  if (enums.size() > 1) {
  }
 else   if (XMLUtil.getNamedChild(attr,"String_Node_Str") != null) {
    Element vocab=XMLUtil.getNamedChild(attr,"String_Node_Str");
    String cs=vocab.getAttribute("String_Node_Str");
    String cd=XMLUtil.getNamedChildAttribute(vocab,"String_Node_Str","String_Node_Str");
    ElementDefinitionBindingComponent bd=ed.getBinding();
    bd.setStrength(cs.equals("String_Node_Str") ? BindingStrength.REQUIRED : BindingStrength.EXTENSIBLE);
    bd.setValueSet(new Reference("String_Node_Str" + cd));
    v3vs.add(cd);
  }
  diff.add(ed);
  snapshot.add(ed);
}

Fixed version (ground truth):
private void processAttribute(List<Element> classes,List<ElementDefinition> diff,List<ElementDefinition> snapshot,Element cclss,String path,Element attr) throws FHIRFormatError {
  String n=attr.getAttribute("String_Node_Str");
  ElementDefinition ed=new ElementDefinition();
  ed.setPath(path + "String_Node_Str" + n);
  seePath(ed);
  ed.setMin(Integer.parseInt(attr.getAttribute("String_Node_Str")));
  ed.setMax(attr.getAttribute("String_Node_Str"));
  if (!Utilities.noString(attr.getAttribute("String_Node_Str")))   ed.addExtension().setUrl("String_Node_Str").setValue(new UriType(attr.getAttribute("String_Node_Str")));
  String type=getType(attr);
  if ("String_Node_Str".equals(attr.getAttribute("String_Node_Str"))) {
    if (primitiveTypes.containsKey(type))     type=primitiveTypes.get(type);
 else     throw new Error("String_Node_Str");
    ed.addRepresentation(PropertyRepresentation.XMLATTR);
  }
  if ("String_Node_Str".equals(type)) {
    ed.setMax("String_Node_Str");
    ed.addRepresentation(PropertyRepresentation.TYPEATTR);
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addExtension().setUrl("String_Node_Str").setValue(new StringType("String_Node_Str"));
  }
 else   if ("String_Node_Str".equals(type)) {
    ed.addRepresentation(PropertyRepresentation.TYPEATTR);
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
    ed.addType().setCode("String_Node_Str");
  }
 else   ed.addType().setCode(type);
  if ("String_Node_Str".equals(attr.getAttribute("String_Node_Str")))   ed.setMustSupport(true);
  if (attr.hasAttribute("String_Node_Str"))   ed.setDefaultValue(buildValue(attr.getAttribute("String_Node_Str"),type,ed.getPath()));
  List<Element> enums=new ArrayList<Element>();
  XMLUtil.getNamedChildren(attr,"String_Node_Str",enums);
  if (enums.size() == 1)   ed.setFixed(buildValue(enums.get(0).getTextContent(),type,ed.getPath()));
  if (enums.size() > 1) {
  }
 else   if (XMLUtil.getNamedChild(attr,"String_Node_Str") != null) {
    Element vocab=XMLUtil.getNamedChild(attr,"String_Node_Str");
    String cs=vocab.getAttribute("String_Node_Str");
    String cd=XMLUtil.getNamedChildAttribute(vocab,"String_Node_Str","String_Node_Str");
    ElementDefinitionBindingComponent bd=ed.getBinding();
    bd.setStrength(cs.equals("String_Node_Str") ? BindingStrength.REQUIRED : BindingStrength.EXTENSIBLE);
    bd.setValueSet(new CanonicalType("String_Node_Str" + cd));
    v3vs.add(cd);
  }
  diff.add(ed);
  snapshot.add(ed);
}