Program: 56979
Project: 56979
Buggy source:
@Override public void encodeEnd(FacesContext context,UIComponent component) throws IOException {
  if (!component.isRendered()) {
    return;
  }
  ColorPicker colorPicker=(ColorPicker)component;
  ResponseWriter rw=context.getResponseWriter();
  String clientId=colorPicker.getClientId();
  int span=colorPicker.getSpan();
  if (span > 0) {
    rw.startElement("String_Node_Str",component);
    rw.writeAttribute("String_Node_Str","String_Node_Str" + span,"String_Node_Str");
  }
  UIComponent prep=colorPicker.getFacet("String_Node_Str");
  UIComponent app=colorPicker.getFacet("String_Node_Str");
  boolean prepend=(prep != null);
  boolean append=(app != null);
  String label=colorPicker.getLabel();
{
    if (!colorPicker.isRenderLabel()) {
      label=null;
    }
  }
  String t=colorPicker.getType();
  if (t == null)   t="String_Node_Str";
  rw.startElement("String_Node_Str",component);
  if (null != colorPicker.getDir()) {
    rw.writeAttribute("String_Node_Str",colorPicker.getDir(),"String_Node_Str");
  }
  Tooltip.generateTooltip(context,colorPicker,rw);
  rw.writeAttribute("String_Node_Str",clientId,"String_Node_Str");
  if (colorPicker.isInline()) {
    rw.writeAttribute("String_Node_Str","String_Node_Str","String_Node_Str");
  }
 else {
    rw.writeAttribute("String_Node_Str","String_Node_Str","String_Node_Str");
  }
  if (label != null) {
    rw.startElement("String_Node_Str",component);
    rw.writeAttribute("String_Node_Str","String_Node_Str" + clientId,"String_Node_Str");
    generateErrorAndRequiredClass(colorPicker,rw,clientId);
    rw.writeText(label,null);
    rw.endElement("String_Node_Str");
  }
  if (append || prepend) {
    rw.startElement("String_Node_Str",component);
    rw.writeAttribute("String_Node_Str","String_Node_Str","String_Node_Str");
  }
  if (prepend) {
    if (prep.getClass().getName().endsWith("String_Node_Str") || (prep.getChildCount() > 0 && prep.getChildren().get(0).getClass().getName().endsWith("String_Node_Str"))) {
      rw.startElement("String_Node_Str",colorPicker);
      rw.writeAttribute("String_Node_Str","String_Node_Str","String_Node_Str");
      prep.encodeAll(context);
      rw.endElement("String_Node_Str");
    }
 else {
      if (prep instanceof Icon)       ((Icon)prep).setAddon(true);
      rw.startElement("String_Node_Str",colorPicker);
      rw.writeAttribute("String_Node_Str","String_Node_Str","String_Node_Str");
      prep.encodeAll(context);
      rw.endElement("String_Node_Str");
    }
  }
  rw.startElement("String_Node_Str",colorPicker);
  rw.writeAttribute("String_Node_Str","String_Node_Str" + clientId,null);
  rw.writeAttribute("String_Node_Str",clientId,null);
  rw.writeAttribute("String_Node_Str",t,null);
  generateStyleClass(colorPicker,rw);
  String ph=colorPicker.getPlaceholder();
  if (ph != null) {
    rw.writeAttribute("String_Node_Str",ph,null);
  }
  if (colorPicker.isDisabled()) {
    rw.writeAttribute("String_Node_Str","String_Node_Str",null);
  }
  if (colorPicker.isReadonly()) {
    rw.writeAttribute("String_Node_Str","String_Node_Str",null);
  }
  renderPassThruAttributes(context,component,H.INPUT_TEXT);
  String autocomplete=colorPicker.getAutocomplete();
  if ((autocomplete != null) && (autocomplete.equals("String_Node_Str"))) {
    rw.writeAttribute("String_Node_Str","String_Node_Str",null);
  }
  String v=getValue2Render(context,component);
  rw.writeAttribute("String_Node_Str",v,null);
  AJAXRenderer.generateBootsFacesAJAXAndJavaScript(FacesContext.getCurrentInstance(),colorPicker,rw);
  rw.endElement("String_Node_Str");
  if (append) {
    if (app.getClass().getName().endsWith("String_Node_Str") || (app.getChildCount() > 0 && app.getChildren().get(0).getClass().getName().endsWith("String_Node_Str"))) {
      rw.startElement("String_Node_Str",colorPicker);
      rw.writeAttribute("String_Node_Str","String_Node_Str","String_Node_Str");
      app.encodeAll(context);
      rw.endElement("String_Node_Str");
    }
 else {
      if (app instanceof Icon)       ((Icon)app).setAddon(true);
      rw.startElement("String_Node_Str",colorPicker);
      rw.writeAttribute("String_Node_Str","String_Node_Str","String_Node_Str");
      app.encodeAll(context);
      rw.endElement("String_Node_Str");
    }
  }
  if (append || prepend) {
    rw.endElement("String_Node_Str");
  }
  rw.endElement("String_Node_Str");
  if (span > 0) {
    rw.endElement("String_Node_Str");
  }
  Tooltip.activateTooltips(context,colorPicker);
  String swatches=colorPicker.getAttributes().get("String_Node_Str") == null ? "String_Node_Str" : ((String)colorPicker.getAttributes().get("String_Node_Str"));
  if (!"String_Node_Str".equals(swatches)) {
    String[] colors=swatches.split("String_Node_Str");
    String swt="String_Node_Str";
    for (int i=0; i < Math.min(colors.length,7); i++) {
      swt=swt + "String_Node_Str" + colors[i]+ "String_Node_Str";
    }
    swt=swt + "String_Node_Str";
    swt=swt.replace("String_Node_Str","String_Node_Str");
    swatches=swt;
  }
  rw.startElement("String_Node_Str",colorPicker);
  rw.writeText("String_Node_Str" + "String_Node_Str" + BsfUtils.EscapeJQuerySpecialCharsInSelector(clientId) + "String_Node_Str"+ (colorPicker.getAttributes().get("String_Node_Str") != null ? "String_Node_Str" + colorPicker.getAttributes().get("String_Node_Str") + "String_Node_Str" : "String_Node_Str")+ (colorPicker.getAttributes().get("String_Node_Str") != null ? "String_Node_Str" + colorPicker.getAttributes().get("String_Node_Str") + "String_Node_Str" : "String_Node_Str")+ (colorPicker.getAttributes().get("String_Node_Str") != null ? "String_Node_Str" + colorPicker.getAttributes().get("String_Node_Str") + "String_Node_Str" : "String_Node_Str")+ (colorPicker.getAttributes().get("String_Node_Str") != null ? "String_Node_Str" + colorPicker.getAttributes().get("String_Node_Str") + "String_Node_Str" : "String_Node_Str")+ (!"String_Node_Str".equals(swatches) ? "String_Node_Str" + swatches + "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str",null);
  rw.endElement("String_Node_Str");
}

Fixed version (ground truth):
@Override public void encodeEnd(FacesContext context,UIComponent component) throws IOException {
  if (!component.isRendered()) {
    return;
  }
  ColorPicker colorPicker=(ColorPicker)component;
  ResponseWriter rw=context.getResponseWriter();
  String clientId=colorPicker.getClientId();
  int span=colorPicker.getSpan();
  if (span > 0) {
    rw.startElement("String_Node_Str",component);
    rw.writeAttribute("String_Node_Str","String_Node_Str" + span,"String_Node_Str");
  }
  UIComponent prep=colorPicker.getFacet("String_Node_Str");
  UIComponent app=colorPicker.getFacet("String_Node_Str");
  boolean prepend=(prep != null);
  boolean append=(app != null);
  String label=colorPicker.getLabel();
{
    if (!colorPicker.isRenderLabel()) {
      label=null;
    }
  }
  String t=colorPicker.getType();
  if (t == null)   t="String_Node_Str";
  rw.startElement("String_Node_Str",component);
  if (null != colorPicker.getDir()) {
    rw.writeAttribute("String_Node_Str",colorPicker.getDir(),"String_Node_Str");
  }
  Tooltip.generateTooltip(context,colorPicker,rw);
  rw.writeAttribute("String_Node_Str",clientId,"String_Node_Str");
  if (colorPicker.isInline()) {
    rw.writeAttribute("String_Node_Str","String_Node_Str","String_Node_Str");
  }
 else {
    rw.writeAttribute("String_Node_Str","String_Node_Str","String_Node_Str");
  }
  if (label != null) {
    rw.startElement("String_Node_Str",component);
    rw.writeAttribute("String_Node_Str","String_Node_Str" + clientId,"String_Node_Str");
    generateErrorAndRequiredClass(colorPicker,rw,clientId);
    rw.writeText(label,null);
    rw.endElement("String_Node_Str");
  }
  if (append || prepend) {
    rw.startElement("String_Node_Str",component);
    rw.writeAttribute("String_Node_Str","String_Node_Str","String_Node_Str");
  }
  if (prepend) {
    R.decorateFacetComponent(colorPicker,prep,context,rw);
  }
  rw.startElement("String_Node_Str",colorPicker);
  rw.writeAttribute("String_Node_Str","String_Node_Str" + clientId,null);
  rw.writeAttribute("String_Node_Str",clientId,null);
  rw.writeAttribute("String_Node_Str",t,null);
  generateStyleClass(colorPicker,rw);
  String ph=colorPicker.getPlaceholder();
  if (ph != null) {
    rw.writeAttribute("String_Node_Str",ph,null);
  }
  if (colorPicker.isDisabled()) {
    rw.writeAttribute("String_Node_Str","String_Node_Str",null);
  }
  if (colorPicker.isReadonly()) {
    rw.writeAttribute("String_Node_Str","String_Node_Str",null);
  }
  renderPassThruAttributes(context,component,H.INPUT_TEXT);
  String autocomplete=colorPicker.getAutocomplete();
  if ((autocomplete != null) && (autocomplete.equals("String_Node_Str"))) {
    rw.writeAttribute("String_Node_Str","String_Node_Str",null);
  }
  String v=getValue2Render(context,component);
  rw.writeAttribute("String_Node_Str",v,null);
  AJAXRenderer.generateBootsFacesAJAXAndJavaScript(FacesContext.getCurrentInstance(),colorPicker,rw);
  rw.endElement("String_Node_Str");
  if (append) {
    R.decorateFacetComponent(colorPicker,app,context,rw);
  }
  if (append || prepend) {
    rw.endElement("String_Node_Str");
  }
  rw.endElement("String_Node_Str");
  if (span > 0) {
    rw.endElement("String_Node_Str");
  }
  Tooltip.activateTooltips(context,colorPicker);
  String swatches=colorPicker.getAttributes().get("String_Node_Str") == null ? "String_Node_Str" : ((String)colorPicker.getAttributes().get("String_Node_Str"));
  if (!"String_Node_Str".equals(swatches)) {
    String[] colors=swatches.split("String_Node_Str");
    String swt="String_Node_Str";
    for (int i=0; i < Math.min(colors.length,7); i++) {
      swt=swt + "String_Node_Str" + colors[i]+ "String_Node_Str";
    }
    swt=swt + "String_Node_Str";
    swt=swt.replace("String_Node_Str","String_Node_Str");
    swatches=swt;
  }
  rw.startElement("String_Node_Str",colorPicker);
  rw.writeText("String_Node_Str" + "String_Node_Str" + BsfUtils.EscapeJQuerySpecialCharsInSelector(clientId) + "String_Node_Str"+ (colorPicker.getAttributes().get("String_Node_Str") != null ? "String_Node_Str" + colorPicker.getAttributes().get("String_Node_Str") + "String_Node_Str" : "String_Node_Str")+ (colorPicker.getAttributes().get("String_Node_Str") != null ? "String_Node_Str" + colorPicker.getAttributes().get("String_Node_Str") + "String_Node_Str" : "String_Node_Str")+ (colorPicker.getAttributes().get("String_Node_Str") != null ? "String_Node_Str" + colorPicker.getAttributes().get("String_Node_Str") + "String_Node_Str" : "String_Node_Str")+ (colorPicker.getAttributes().get("String_Node_Str") != null ? "String_Node_Str" + colorPicker.getAttributes().get("String_Node_Str") + "String_Node_Str" : "String_Node_Str")+ (!"String_Node_Str".equals(swatches) ? "String_Node_Str" + swatches + "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str",null);
  rw.endElement("String_Node_Str");
}