Program: 23366
Project: 23366
Buggy source:
private boolean generateExpansion(XhtmlNode x,ValueSet vs,ValueSet src,boolean header) throws FHIRFormatError, DefinitionException, IOException {
  boolean hasExtensions=false;
  List<String> langs=new ArrayList<String>();
  Map<ConceptMap,String> mymaps=new HashMap<ConceptMap,String>();
  if (header) {
    XhtmlNode h=x.addTag("String_Node_Str");
    h.addText("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.addTag("String_Node_Str").setAttribute("String_Node_Str","String_Node_Str").addText(vs.getExpansion().getContains().isEmpty() ? tooCostlyNoteEmpty : tooCostlyNoteNotEmpty);
 else {
    Integer count=countMembership(vs);
    if (count == null)     x.addTag("String_Node_Str").addText("String_Node_Str");
 else     x.addTag("String_Node_Str").addText("String_Node_Str" + count.toString() + "String_Node_Str");
  }
  CodeSystem allCS=null;
  boolean doSystem=true;
  boolean doDefinition=checkDoDefinition(vs.getExpansion().getContains());
  if (doSystem && allFromOneSystem(vs)) {
    doSystem=false;
    XhtmlNode p=x.addTag("String_Node_Str");
    p.addText("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.addTag("String_Node_Str").addText(vs.getExpansion().getContains().get(0).getSystem());
 else     p.addTag("String_Node_Str").setAttribute("String_Node_Str",prefix + ref).addTag("String_Node_Str").addText(vs.getExpansion().getContains().get(0).getSystem());
  }
  XhtmlNode t=x.addTag("String_Node_Str").setAttribute("String_Node_Str","String_Node_Str");
  XhtmlNode tr=t.addTag("String_Node_Str");
  tr.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
  if (doSystem)   tr.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
  tr.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
  if (doDefinition)   tr.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
  addMapHeaders(tr,mymaps);
  for (  ValueSetExpansionContainsComponent c : vs.getExpansion().getContains()) {
    addExpansionRowToTable(t,c,0,doSystem,doDefinition,mymaps,allCS,langs);
  }
  if (langs.size() > 0) {
    Collections.sort(langs);
    x.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
    t=x.addTag("String_Node_Str").setAttribute("String_Node_Str","String_Node_Str");
    tr=t.addTag("String_Node_Str");
    tr.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
    for (    String lang : langs)     tr.addTag("String_Node_Str").addTag("String_Node_Str").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) throws FHIRFormatError, DefinitionException, IOException {
  boolean hasExtensions=false;
  List<String> langs=new ArrayList<String>();
  Map<ConceptMap,String> mymaps=new HashMap<ConceptMap,String>();
  if (header) {
    XhtmlNode h=x.addTag(getHeader());
    h.addText("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.addTag("String_Node_Str").setAttribute("String_Node_Str","String_Node_Str").addText(vs.getExpansion().getContains().isEmpty() ? tooCostlyNoteEmpty : tooCostlyNoteNotEmpty);
 else {
    Integer count=countMembership(vs);
    if (count == null)     x.addTag("String_Node_Str").addText("String_Node_Str");
 else     x.addTag("String_Node_Str").addText("String_Node_Str" + count.toString() + "String_Node_Str");
  }
  CodeSystem allCS=null;
  boolean doSystem=true;
  boolean doDefinition=checkDoDefinition(vs.getExpansion().getContains());
  if (doSystem && allFromOneSystem(vs)) {
    doSystem=false;
    XhtmlNode p=x.addTag("String_Node_Str");
    p.addText("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.addTag("String_Node_Str").addText(vs.getExpansion().getContains().get(0).getSystem());
 else     p.addTag("String_Node_Str").setAttribute("String_Node_Str",prefix + ref).addTag("String_Node_Str").addText(vs.getExpansion().getContains().get(0).getSystem());
  }
  XhtmlNode t=x.addTag("String_Node_Str").setAttribute("String_Node_Str","String_Node_Str");
  XhtmlNode tr=t.addTag("String_Node_Str");
  tr.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
  if (doSystem)   tr.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
  tr.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
  if (doDefinition)   tr.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
  addMapHeaders(tr,mymaps);
  for (  ValueSetExpansionContainsComponent c : vs.getExpansion().getContains()) {
    addExpansionRowToTable(t,c,0,doSystem,doDefinition,mymaps,allCS,langs);
  }
  if (langs.size() > 0) {
    Collections.sort(langs);
    x.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
    t=x.addTag("String_Node_Str").setAttribute("String_Node_Str","String_Node_Str");
    tr=t.addTag("String_Node_Str");
    tr.addTag("String_Node_Str").addTag("String_Node_Str").addText("String_Node_Str");
    for (    String lang : langs)     tr.addTag("String_Node_Str").addTag("String_Node_Str").addText(describeLang(lang));
    for (    ValueSetExpansionContainsComponent c : vs.getExpansion().getContains()) {
      addLanguageRow(c,t,langs);
    }
  }
  return hasExtensions;
}