Program: 44053
Project: 44053
Buggy source:
/** 
 * Builds the operation table.
 * @param html the html
 * @param portType the port type
 * @param wsdlDoc the wsdl doc
 */
private void buildOperationTable(StringBuffer html,PortType portType,WSDLDocInterface wsdlDoc){
  logger.entering("String_Node_Str","String_Node_Str",new Object[]{html,portType});
  html.append(HtmlUtils.getAnchorTag(Constants.OPERATION_SUMMARY_HREF,null,null,null));
  html.append(getTableTagWithStyle("String_Node_Str"));
  html.append(getTableRowTagWithStyle("String_Node_Str"));
  html.append("String_Node_Str");
  html.append(Constants.OPERATION_SUMMARY_LABEL);
  html.append(Constants.HTML_TABLE_TH_END);
  html.append(Constants.HTML_TABLE_TR_END);
  html.append(getTableRowTagWithStyle("String_Node_Str"));
  html.append(getTableHeadTagWithStyle("String_Node_Str"));
  html.append(Constants.RETURN_TYPE_LABEL);
  html.append(Constants.HTML_TABLE_TH_END);
  html.append(getTableHeadTagWithStyle("String_Node_Str"));
  html.append(Constants.METHOD_NAME_LABEL);
  html.append(Constants.HTML_TABLE_TH_END);
  html.append(Constants.HTML_TABLE_TR_END);
  for (  OperationHolder opH : portType.getOperations()) {
    html.append(getTableRowTagWithStyle("String_Node_Str"));
    html.append(getTableDataTagWithStyle("String_Node_Str"));
    setOutputTypes(html,opH,wsdlDoc.getServiceName());
    html.append(Constants.HTML_TABLE_TD_END);
    html.append(getTableDataTagWithStyle("String_Node_Str"));
    html.append(getTextInSpan(HtmlUtils.getAnchorTag(null,"String_Node_Str" + opH.getName(),opH.getName(),opH.getName()),"String_Node_Str") + "String_Node_Str");
    setInputTypes(html,opH,wsdlDoc.getServiceName(),"String_Node_Str");
    html.append("String_Node_Str");
    html.append(Constants.HTML_BR);
    html.append(getSummary(wsdlDoc,opH));
    html.append(Constants.HTML_TABLE_TD_END);
    html.append(Constants.HTML_TABLE_TR_END);
    if (returnTypeToMethodMap.get(opH.getOutputTypes().get(0).getType()) == null) {
      returnTypeToMethodMap.put(opH.getOutputTypes().get(0).getType(),new TreeSet<String>());
    }
    String str=wsdlDoc.getServiceName() + "String_Node_Str" + opH.getName()+ "String_Node_Str";
    str+=setInputTypes(html,opH,wsdlDoc.getServiceName(),"String_Node_Str") + "String_Node_Str";
    str+=Constants.HTML_BR + Constants.NBSP_THRICE + getSummary(wsdlDoc,opH);
    returnTypeToMethodMap.get(opH.getOutputTypes().get(0).getType()).add(str);
    if (opH.getInputTypes() != null) {
      Iterator<Element> iter=opH.getInputTypes().iterator();
      while (iter.hasNext()) {
        Element elem=iter.next();
        if (paramsToMethodMap.get(elem.getType()) == null) {
          paramsToMethodMap.put(elem.getType(),new TreeSet<String>());
        }
        String retType="String_Node_Str";
        if (opH.getOutputTypes() != null && opH.getOutputTypes().size() > 0) {
          retType=opH.getOutputTypes().get(0).getType();
        }
        str=retType + "String_Node_Str" + wsdlDoc.getServiceName()+ "String_Node_Str"+ opH.getName()+ "String_Node_Str"+ getParams(opH.getInputTypes(),"String_Node_Str")+ "String_Node_Str";
        str+=Constants.HTML_BR + Constants.NBSP_THRICE + getSummary(wsdlDoc,opH);
        paramsToMethodMap.get(elem.getType()).add(str);
      }
    }
  }
  html.append(Constants.HTML_TABLE_END);
  logger.exiting("String_Node_Str","String_Node_Str",html);
}

Fixed version (ground truth):
/** 
 * Builds the operation table.
 * @param html the html
 * @param portType the port type
 * @param wsdlDoc the wsdl doc
 */
private void buildOperationTable(StringBuffer html,PortType portType,WSDLDocInterface wsdlDoc){
  logger.entering("String_Node_Str","String_Node_Str",new Object[]{html,portType});
  html.append(HtmlUtils.getAnchorTag(Constants.OPERATION_SUMMARY_HREF,null,null,null));
  html.append(getTableTagWithStyle("String_Node_Str"));
  html.append(getTableRowTagWithStyle("String_Node_Str"));
  html.append("String_Node_Str");
  html.append(Constants.OPERATION_SUMMARY_LABEL);
  html.append(Constants.HTML_TABLE_TH_END);
  html.append(Constants.HTML_TABLE_TR_END);
  html.append(getTableRowTagWithStyle("String_Node_Str"));
  html.append(getTableHeadTagWithStyle("String_Node_Str"));
  html.append(Constants.RETURN_TYPE_LABEL);
  html.append(Constants.HTML_TABLE_TH_END);
  html.append(getTableHeadTagWithStyle("String_Node_Str"));
  html.append(Constants.METHOD_NAME_LABEL);
  html.append(Constants.HTML_TABLE_TH_END);
  html.append(Constants.HTML_TABLE_TR_END);
  for (  OperationHolder opH : portType.getOperations()) {
    html.append(getTableRowTagWithStyle("String_Node_Str"));
    html.append(getTableDataTagWithStyle("String_Node_Str"));
    setOutputTypes(html,opH,wsdlDoc.getServiceName());
    html.append(Constants.HTML_TABLE_TD_END);
    html.append(getTableDataTagWithStyle("String_Node_Str"));
    html.append(getTextInSpan(HtmlUtils.getAnchorTag(null,"String_Node_Str" + opH.getName(),opH.getName(),opH.getName()),"String_Node_Str") + "String_Node_Str");
    html.append(getInputTypes(opH,wsdlDoc.getServiceName(),"String_Node_Str"));
    html.append("String_Node_Str");
    html.append(Constants.HTML_BR);
    html.append(getSummary(wsdlDoc,opH));
    html.append(Constants.HTML_TABLE_TD_END);
    html.append(Constants.HTML_TABLE_TR_END);
    if (returnTypeToMethodMap.get(opH.getOutputTypes().get(0).getType()) == null) {
      returnTypeToMethodMap.put(opH.getOutputTypes().get(0).getType(),new TreeSet<String>());
    }
    String str=wsdlDoc.getServiceName() + "String_Node_Str" + opH.getName()+ "String_Node_Str";
    str+=getInputTypes(opH,wsdlDoc.getServiceName(),"String_Node_Str") + "String_Node_Str";
    str+=Constants.HTML_BR + Constants.NBSP_THRICE + getSummary(wsdlDoc,opH);
    returnTypeToMethodMap.get(opH.getOutputTypes().get(0).getType()).add(str);
    if (opH.getInputTypes() != null) {
      Iterator<Element> iter=opH.getInputTypes().iterator();
      while (iter.hasNext()) {
        Element elem=iter.next();
        if (paramsToMethodMap.get(elem.getType()) == null) {
          paramsToMethodMap.put(elem.getType(),new TreeSet<String>());
        }
        String retType="String_Node_Str";
        if (opH.getOutputTypes() != null && opH.getOutputTypes().size() > 0) {
          retType=opH.getOutputTypes().get(0).getType();
        }
        str=retType + "String_Node_Str" + wsdlDoc.getServiceName()+ "String_Node_Str"+ opH.getName()+ "String_Node_Str"+ getParams(opH.getInputTypes(),"String_Node_Str")+ "String_Node_Str";
        str+=Constants.HTML_BR + Constants.NBSP_THRICE + getSummary(wsdlDoc,opH);
        paramsToMethodMap.get(elem.getType()).add(str);
      }
    }
  }
  html.append(Constants.HTML_TABLE_END);
  logger.exiting("String_Node_Str","String_Node_Str",html);
}