Program: 24047
Project: 24047
Buggy source:
private void genRange(Section section,String tn,String en,ElementDefn e,TypeRef tr,boolean datatype) throws Exception {
  if (e.isModifier())   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str"));
  if (e.isXmlAttribute())   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str"));
  if (e.hasMustSupport() && e.isMustSupport())   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str"));
  if (e.hasSummaryItem() && e.isSummaryItem())   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str"));
  if (!Utilities.noString(e.getW5()))   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str" + e.getW5()));
  if (e.hasMeaningWhenMissing())   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",literal(e.getMeaningWhenMissing()));
  cardinality(section,"String_Node_Str" + tn + "String_Node_Str"+ en,e.getMinCardinality().toString(),e.getMaxCardinality() == Integer.MAX_VALUE ? "String_Node_Str" : e.getMaxCardinality().toString());
  if (e.getMinCardinality() > 0)   section.triple("String_Node_Str" + tn,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str","String_Node_Str" + tn + "String_Node_Str"+ en).predicate("String_Node_Str",literal(e.getMinCardinality().toString() + "String_Node_Str")));
  if (e.getMaxCardinality() < Integer.MAX_VALUE)   section.triple("String_Node_Str" + tn,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str","String_Node_Str" + tn + "String_Node_Str"+ en).predicate("String_Node_Str",literal(e.getMaxCardinality().toString() + "String_Node_Str")));
  if (tr == null) {
    section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str","String_Node_Str" + e.getDeclaredTypeName());
    anonTypes.push(new AnonTypeInfo(section,e.getDeclaredTypeName(),e,datatype));
  }
 else   if (tr.getName().startsWith("String_Node_Str")) {
    ElementDefn r=getElementForPath(tr.getName().substring(1));
    section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str","String_Node_Str" + r.getDeclaredTypeName());
  }
 else {
    if (e.hasBinding()) {
      BindingSpecification bs=e.getBinding();
      if (bs.getValueSet() != null) {
        String bn=getPNameForUri(bs.getValueSet().getUrl());
        section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",processType(tr.getName()));
        section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",bn);
        if (!bn.startsWith("String_Node_Str"))         valuesets.put(bn,bs.getValueSet());
      }
 else       if (!Utilities.noString(bs.getReference())) {
        section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",processType(tr.getName()));
        section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str","String_Node_Str" + bs.getReference() + "String_Node_Str");
      }
      section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str" + bs.getStrength().toCode()));
    }
 else     section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",processType(tr.getName()));
  }
  if (e.getDefaultValue() != null) {
    if (e.getDefaultValue() instanceof DecimalType)     section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str",literal(((DecimalType)e.getDefaultValue()).asStringValue())));
 else     if (e.getDefaultValue() instanceof BooleanType)     section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str",literal(((BooleanType)e.getDefaultValue()).asStringValue())));
 else     if (e.getDefaultValue() instanceof IntegerType)     section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str",literal(((IntegerType)e.getDefaultValue()).asStringValue())));
 else     if (e.getDefaultValue() instanceof CodeType)     section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str",literal(((CodeType)e.getDefaultValue()).asStringValue())));
 else     throw new Error("String_Node_Str" + e.getDefaultValue().getClass().getName() + "String_Node_Str");
  }
}

Fixed version (ground truth):
private void genRange(Section section,String tn,String en,ElementDefn e,TypeRef tr,boolean datatype) throws Exception {
  if (e.isModifier())   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str"));
  if (e.isXmlAttribute())   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str"));
  if (e.hasMustSupport() && e.isMustSupport())   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str"));
  if (e.hasSummaryItem() && e.isSummaryItem())   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str"));
  if (!Utilities.noString(e.getW5()))   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str" + e.getW5()));
  if (e.hasMeaningWhenMissing())   section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",literal(e.getMeaningWhenMissing()));
  cardinality(section,"String_Node_Str" + tn + "String_Node_Str"+ en,e.getMinCardinality().toString(),e.getMaxCardinality() == Integer.MAX_VALUE ? "String_Node_Str" : e.getMaxCardinality().toString());
  if (e.getMinCardinality() > 0)   section.triple("String_Node_Str" + tn,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str","String_Node_Str" + tn + "String_Node_Str"+ en).predicate("String_Node_Str",literalTyped(e.getMinCardinality().toString(),"String_Node_Str")));
  if (e.getMaxCardinality() < Integer.MAX_VALUE)   section.triple("String_Node_Str" + tn,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str","String_Node_Str" + tn + "String_Node_Str"+ en).predicate("String_Node_Str",literalTyped(e.getMaxCardinality().toString(),"String_Node_Str")));
  if (tr == null) {
    section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str","String_Node_Str" + e.getDeclaredTypeName());
    anonTypes.push(new AnonTypeInfo(section,e.getDeclaredTypeName(),e,datatype));
  }
 else   if (tr.getName().startsWith("String_Node_Str")) {
    ElementDefn r=getElementForPath(tr.getName().substring(1));
    section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str","String_Node_Str" + r.getDeclaredTypeName());
  }
 else {
    if (e.hasBinding()) {
      BindingSpecification bs=e.getBinding();
      if (bs.getValueSet() != null) {
        String bn=getPNameForUri(bs.getValueSet().getUrl());
        section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",processType(tr.getName()));
        section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",bn);
        if (!bn.startsWith("String_Node_Str"))         valuesets.put(bn,bs.getValueSet());
      }
 else       if (!Utilities.noString(bs.getReference())) {
        section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",processType(tr.getName()));
        section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str","String_Node_Str" + bs.getReference() + "String_Node_Str");
      }
      section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str" + bs.getStrength().toCode()));
    }
 else     section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",processType(tr.getName()));
  }
  if (e.getDefaultValue() != null) {
    if (e.getDefaultValue() instanceof DecimalType)     section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str",literal(((DecimalType)e.getDefaultValue()).asStringValue())));
 else     if (e.getDefaultValue() instanceof BooleanType)     section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str",literal(((BooleanType)e.getDefaultValue()).asStringValue())));
 else     if (e.getDefaultValue() instanceof IntegerType)     section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str",literal(((IntegerType)e.getDefaultValue()).asStringValue())));
 else     if (e.getDefaultValue() instanceof CodeType)     section.triple("String_Node_Str" + tn + "String_Node_Str"+ en,"String_Node_Str",complex().predicate("String_Node_Str","String_Node_Str").predicate("String_Node_Str",literal(((CodeType)e.getDefaultValue()).asStringValue())));
 else     throw new Error("String_Node_Str" + e.getDefaultValue().getClass().getName() + "String_Node_Str");
  }
}