Program: 76167
Project: 76167
Buggy source:
/** 
 * Handle output Text Box type parameter
 * @throws Exception
 */
protected void __handleTextBox() throws Exception {
  JspWriter writer=pageContext.getOut();
  String encParamId=ParameterAccessor.htmlEncode(param.getId());
  String encParamName=ParameterAccessor.htmlEncode(param.getName());
  boolean isNullValue=param.getValue() == null;
  String displayTextId=encParamId + "String_Node_Str";
  String displayTextName=ParameterAccessor.PREFIX_DISPLAY_TEXT + encParamName;
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + displayTextId + "String_Node_Str");
  if (paramDef.isRequired() || !isNullValue) {
    writer.write("String_Node_Str" + displayTextName + "String_Node_Str");
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.displayTextString) + "String_Node_Str");
  }
  writer.write("String_Node_Str");
  String valueId=encParamId + "String_Node_Str";
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + valueId + "String_Node_Str");
  writer.write("String_Node_Str" + encParamName + "String_Node_Str");
  writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.valueString) + "String_Node_Str");
  writer.write("String_Node_Str");
  String isLocaleId=encParamId + "String_Node_Str";
  writer.write("String_Node_Str" + isLocaleId + "String_Node_Str"+ ParameterAccessor.PARAM_ISLOCALE+ "String_Node_Str");
  if (param.getPattern() != null) {
    writer.write("String_Node_Str" + encParamName + "String_Node_Str");
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(param.getPattern()) + "String_Node_Str");
  }
  String valCtl="String_Node_Str" + valueId + "String_Node_Str";
  String inputCtl="String_Node_Str" + encParamId + "String_Node_Str";
  String displayCtl="String_Node_Str" + displayTextId + "String_Node_Str";
  String localeCtl="String_Node_Str" + isLocaleId + "String_Node_Str";
  String onChange=displayCtl + "String_Node_Str" + inputCtl+ "String_Node_Str"+ valCtl+ "String_Node_Str"+ inputCtl+ "String_Node_Str"+ localeCtl+ "String_Node_Str"+ encParamName+ "String_Node_Str";
  if (paramDef.isRequired()) {
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + encParamId + "String_Node_Str");
    __handleGeneralDefinition();
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.displayTextString) + "String_Node_Str");
    writer.write("String_Node_Str" + onChange + "String_Node_Str");
    writer.write("String_Node_Str");
  }
 else {
    String nullValueId=encParamId + "String_Node_Str";
    String radioTextValueId=encParamId + "String_Node_Str";
    String radioNullValueId=encParamId + "String_Node_Str";
    writer.write("String_Node_Str" + ParameterAccessor.PARAM_ISNULL + "String_Node_Str"+ nullValueId+ "String_Node_Str");
    if (isNullValue)     writer.write("String_Node_Str" + encParamName + "String_Node_Str");
    writer.write("String_Node_Str");
    String nullCtl="String_Node_Str" + nullValueId + "String_Node_Str";
    String radioTextCtl="String_Node_Str" + radioTextValueId + "String_Node_Str";
    String radioNullCtl="String_Node_Str" + radioNullValueId + "String_Node_Str";
    String onClick=radioTextCtl + "String_Node_Str" + radioNullCtl+ "String_Node_Str"+ inputCtl+ "String_Node_Str"+ displayCtl+ "String_Node_Str"+ displayTextName+ "String_Node_Str"+ nullCtl+ "String_Node_Str";
    writer.write("String_Node_Str" + radioTextValueId + "String_Node_Str");
    writer.write("String_Node_Str" + onClick + "String_Node_Str");
    if (!isNullValue)     writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + encParamId + "String_Node_Str");
    __handleGeneralDefinition();
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.displayTextString) + "String_Node_Str");
    writer.write("String_Node_Str" + onChange + "String_Node_Str");
    if (isNullValue)     writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    onClick=radioNullCtl + "String_Node_Str" + radioTextCtl+ "String_Node_Str"+ inputCtl+ "String_Node_Str"+ displayCtl+ "String_Node_Str"+ nullCtl+ "String_Node_Str"+ encParamName+ "String_Node_Str";
    writer.write("String_Node_Str" + radioNullValueId + "String_Node_Str");
    writer.write("String_Node_Str" + onClick + "String_Node_Str");
    if (isNullValue)     writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + (radioNullValueId + "String_Node_Str") + "String_Node_Str");
    writer.write("String_Node_Str" + ITagConstants.NULL_VALUE + "String_Node_Str");
    writer.write("String_Node_Str" + radioNullValueId + "String_Node_Str");
    writer.write(ITagConstants.NULL_VALUE);
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * Handle output Text Box type parameter
 * @throws Exception
 */
protected void __handleTextBox() throws Exception {
  JspWriter writer=pageContext.getOut();
  String encParamId=ParameterAccessor.htmlEncode(param.getId());
  String encParamName=ParameterAccessor.htmlEncode(param.getName());
  boolean isNullValue=param.getValue() == null;
  String displayTextId=encParamId + "String_Node_Str";
  String displayTextName=ParameterAccessor.PREFIX_DISPLAY_TEXT + encParamName;
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + displayTextId + "String_Node_Str");
  if (paramDef.isRequired() || !isNullValue) {
    writer.write("String_Node_Str" + displayTextName + "String_Node_Str");
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.displayTextString) + "String_Node_Str");
  }
  writer.write("String_Node_Str");
  String valueId=encParamId + "String_Node_Str";
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + valueId + "String_Node_Str");
  writer.write("String_Node_Str" + encParamName + "String_Node_Str");
  writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.valueString) + "String_Node_Str");
  writer.write("String_Node_Str");
  String isLocaleId=encParamId + "String_Node_Str";
  writer.write("String_Node_Str" + isLocaleId + "String_Node_Str"+ encParamName+ "String_Node_Str");
  if (param.getPattern() != null) {
    writer.write("String_Node_Str" + encParamName + "String_Node_Str");
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(param.getPattern()) + "String_Node_Str");
  }
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + encParamId + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + encParamId + "String_Node_Str");
  writer.write("String_Node_Str" + valueId + "String_Node_Str");
  writer.write("String_Node_Str" + displayTextId + "String_Node_Str");
  writer.write("String_Node_Str" + isLocaleId + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + ParameterAccessor.PARAM_ISLOCALE + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str");
  if (paramDef.isRequired()) {
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + encParamId + "String_Node_Str");
    __handleGeneralDefinition();
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.displayTextString) + "String_Node_Str");
    writer.write("String_Node_Str" + encParamId + "String_Node_Str");
    writer.write("String_Node_Str");
  }
 else {
    String nullValueId=encParamId + "String_Node_Str";
    String radioTextValueId=encParamId + "String_Node_Str";
    String radioNullValueId=encParamId + "String_Node_Str";
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + encParamId + "String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + encParamId + "String_Node_Str");
    writer.write("String_Node_Str" + displayTextId + "String_Node_Str");
    writer.write("String_Node_Str" + nullValueId + "String_Node_Str");
    writer.write("String_Node_Str" + radioTextValueId + "String_Node_Str");
    writer.write("String_Node_Str" + radioNullValueId + "String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + displayTextName + "String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + ParameterAccessor.PARAM_ISNULL + "String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + encParamName + "String_Node_Str"+ nullValueId+ "String_Node_Str");
    if (isNullValue)     writer.write("String_Node_Str" + ParameterAccessor.PARAM_ISNULL + "String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + radioTextValueId + "String_Node_Str");
    writer.write("String_Node_Str" + encParamId + "String_Node_Str");
    if (!isNullValue)     writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + encParamId + "String_Node_Str");
    __handleGeneralDefinition();
    writer.write("String_Node_Str" + ParameterAccessor.htmlEncode(this.displayTextString) + "String_Node_Str");
    writer.write("String_Node_Str" + encParamId + "String_Node_Str");
    if (isNullValue)     writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + radioNullValueId + "String_Node_Str");
    writer.write("String_Node_Str" + encParamId + "String_Node_Str");
    if (isNullValue)     writer.write("String_Node_Str");
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + (radioNullValueId + "String_Node_Str") + "String_Node_Str");
    writer.write("String_Node_Str" + ITagConstants.NULL_VALUE + "String_Node_Str");
    writer.write("String_Node_Str" + radioNullValueId + "String_Node_Str");
    writer.write(ITagConstants.NULL_VALUE);
    writer.write("String_Node_Str");
    writer.write("String_Node_Str");
  }
}