Program: 23161
Project: 23161
Buggy source:
private boolean generateExpansion(XhtmlNode x,ValueSet vs,ValueSet src,boolean header,List<UsedConceptMap> maps) throws FHIRFormatError, DefinitionException, IOException {
  boolean hasExtensions=false;
  List<String> langs=new ArrayList<String>();
  if (header) {
    XhtmlNode h=x.addTag(getHeader());
    h.tx("String_Node_Str");
    if (IsNotFixedExpansion(vs))     addMarkdown(x,vs.getDescription());
    if (vs.hasCopyright())     generateCopyright(x,vs);
  }
  if (ToolingExtensions.hasExtension(vs.getExpansion(),"String_Node_Str"))   x.para().setAttribute("String_Node_Str","String_Node_Str").addText(vs.getExpansion().getContains().isEmpty() ? tooCostlyNoteEmpty : tooCostlyNoteNotEmpty);
 else {
    Integer count=countMembership(vs);
    if (count == null)     x.para().tx("String_Node_Str");
 else     x.para().tx("String_Node_Str" + count.toString() + "String_Node_Str");
  }
  generateVersionNotice(x,vs.getExpansion());
  CodeSystem allCS=null;
  boolean doLevel=false;
  for (  ValueSetExpansionContainsComponent cc : vs.getExpansion().getContains()) {
    if (cc.hasContains()) {
      doLevel=true;
      break;
    }
  }
  boolean doSystem=true;
  boolean doDefinition=checkDoDefinition(vs.getExpansion().getContains());
  if (doSystem && allFromOneSystem(vs)) {
    doSystem=false;
    XhtmlNode p=x.para();
    p.tx("String_Node_Str");
    allCS=context.fetchCodeSystem(vs.getExpansion().getContains().get(0).getSystem());
    String ref=null;
    if (allCS != null)     ref=getCsRef(allCS);
    if (ref == null)     p.code(vs.getExpansion().getContains().get(0).getSystem());
 else     p.ah(prefix + ref).code(vs.getExpansion().getContains().get(0).getSystem());
  }
  XhtmlNode t=x.table("String_Node_Str");
  XhtmlNode tr=t.tr();
  if (doLevel)   tr.td().b().tx("String_Node_Str");
  tr.td().b().tx("String_Node_Str");
  if (doSystem)   tr.td().b().tx("String_Node_Str");
  tr.td().b().tx("String_Node_Str");
  if (doDefinition)   tr.td().b().tx("String_Node_Str");
  addMapHeaders(tr,maps);
  for (  ValueSetExpansionContainsComponent c : vs.getExpansion().getContains()) {
    addExpansionRowToTable(t,c,0,doLevel,doSystem,doDefinition,maps,allCS,langs);
  }
  if (langs.size() > 0) {
    Collections.sort(langs);
    x.para().b().tx("String_Node_Str");
    t=x.table("String_Node_Str");
    tr=t.tr();
    tr.td().b().tx("String_Node_Str");
    for (    String lang : langs)     tr.td().b().addText(describeLang(lang));
    for (    ValueSetExpansionContainsComponent c : vs.getExpansion().getContains()) {
      addLanguageRow(c,t,langs);
    }
  }
  return hasExtensions;
}

Fixed version (ground truth):
private boolean generateExpansion(XhtmlNode x,ValueSet vs,ValueSet src,boolean header,List<UsedConceptMap> maps) throws FHIRFormatError, DefinitionException, IOException {
  boolean hasExtensions=false;
  List<String> langs=new ArrayList<String>();
  if (header) {
    XhtmlNode h=x.addTag(getHeader());
    h.tx("String_Node_Str");
    if (IsNotFixedExpansion(vs))     addMarkdown(x,vs.getDescription());
    if (vs.hasCopyright())     generateCopyright(x,vs);
  }
  if (ToolingExtensions.hasExtension(vs.getExpansion(),"String_Node_Str"))   x.para().setAttribute("String_Node_Str","String_Node_Str").addText(vs.getExpansion().getContains().isEmpty() ? tooCostlyNoteEmpty : tooCostlyNoteNotEmpty);
 else {
    Integer count=countMembership(vs);
    if (count == null)     x.para().tx("String_Node_Str");
 else     x.para().tx("String_Node_Str" + count.toString() + "String_Node_Str");
  }
  generateVersionNotice(x,vs.getExpansion());
  CodeSystem allCS=null;
  boolean doLevel=false;
  for (  ValueSetExpansionContainsComponent cc : vs.getExpansion().getContains()) {
    if (cc.hasContains()) {
      doLevel=true;
      break;
    }
  }
  boolean doSystem=true;
  boolean doDefinition=checkDoDefinition(vs.getExpansion().getContains());
  if (doSystem && allFromOneSystem(vs)) {
    doSystem=false;
    XhtmlNode p=x.para();
    p.tx("String_Node_Str");
    allCS=context.fetchCodeSystem(vs.getExpansion().getContains().get(0).getSystem());
    String ref=null;
    if (allCS != null)     ref=getCsRef(allCS);
    if (ref == null)     p.code(vs.getExpansion().getContains().get(0).getSystem());
 else     p.ah(prefix + ref).code(vs.getExpansion().getContains().get(0).getSystem());
  }
  XhtmlNode t=x.table("String_Node_Str");
  XhtmlNode tr=t.tr();
  if (doLevel)   tr.td().b().tx("String_Node_Str");
  tr.td().attribute("String_Node_Str","String_Node_Str").b().tx("String_Node_Str");
  if (doSystem)   tr.td().b().tx("String_Node_Str");
  tr.td().b().tx("String_Node_Str");
  if (doDefinition)   tr.td().b().tx("String_Node_Str");
  addMapHeaders(tr,maps);
  for (  ValueSetExpansionContainsComponent c : vs.getExpansion().getContains()) {
    addExpansionRowToTable(t,c,0,doLevel,doSystem,doDefinition,maps,allCS,langs);
  }
  if (langs.size() > 0) {
    Collections.sort(langs);
    x.para().b().tx("String_Node_Str");
    t=x.table("String_Node_Str");
    tr=t.tr();
    tr.td().b().tx("String_Node_Str");
    for (    String lang : langs)     tr.td().b().addText(describeLang(lang));
    for (    ValueSetExpansionContainsComponent c : vs.getExpansion().getContains()) {
      addLanguageRow(c,t,langs);
    }
  }
  return hasExtensions;
}