Program: 81338
Project: 81338
Buggy source:
public void generateWsdlOutput(WSDLDocInterface wsdlDoc,OutputGenaratorParam outputGenaratorParam) throws OutputFormatterException {
  logger.entering("String_Node_Str","String_Node_Str",new Object[]{wsdlDoc,outputGenaratorParam});
  String packageName=wsdlDoc.getPackageName();
  if (packageName != null && packageName.startsWith("String_Node_Str")) {
    packageName=packageName.substring(1);
  }
  this.outputGenaratorParam=outputGenaratorParam;
  if (packageName == null) {
    packageName="String_Node_Str";
  }
  currentTypesFolderPath=getCurrentOutputDir() + File.separator + packageName+ File.separator+ "String_Node_Str"+ File.separator;
  writeCssFiles();
  logger.logp(Level.INFO,"String_Node_Str","String_Node_Str","String_Node_Str");
  List<PortType> portTypes=wsdlDoc.getPortTypes();
  for (  PortType portType : portTypes) {
    StringBuffer html=new StringBuffer();
    html.append(HtmlUtils.getStartTags(wsdlDoc.getServiceName(),packageName));
    buildHeader(html,wsdlDoc.getPackageName());
    html.append(Constants.HTML_BR);
    buildPortType(html,portType,wsdlDoc);
    html.append(Constants.HTML_BR);
    buildOperationTable(html,portType,wsdlDoc);
    html.append(Constants.HTML_BR);
    buildOperationDetails(html,portType,wsdlDoc);
    addFooter(html);
    html.append(HtmlUtils.getEndTags());
    String outputDir=getCurrentOutputDir() + File.separator;
    writeFile(html,outputDir + File.separator + packageName,wsdlDoc.getServiceName() + Constants.DOT_HTML);
  }
  writePackageTree(wsdlDoc);
  addPackageToServiceMap(packageName,wsdlDoc.getServiceName());
  processedTypes=new ArrayList<AbstractType>();
  logger.exiting("String_Node_Str","String_Node_Str",new Object[]{wsdlDoc,outputGenaratorParam});
}

Fixed version (ground truth):
public void generateWsdlOutput(WSDLDocInterface wsdlDoc,OutputGenaratorParam outputGenaratorParam) throws OutputFormatterException {
  logger.entering("String_Node_Str","String_Node_Str",new Object[]{wsdlDoc,outputGenaratorParam});
  String packageName=wsdlDoc.getPackageName();
  this.outputGenaratorParam=outputGenaratorParam;
  if (packageName == null) {
    packageName="String_Node_Str";
  }
  currentPackageName=packageName;
  currentTypesFolderPath=getCurrentOutputDir() + File.separator + packageName+ File.separator+ "String_Node_Str"+ File.separator;
  writeCssFiles();
  logger.logp(Level.INFO,"String_Node_Str","String_Node_Str","String_Node_Str");
  List<PortType> portTypes=wsdlDoc.getPortTypes();
  for (  PortType portType : portTypes) {
    StringBuffer html=new StringBuffer();
    html.append(HtmlUtils.getStartTags(wsdlDoc.getServiceName(),packageName));
    buildHeader(html);
    html.append(Constants.HTML_BR);
    buildPortType(html,portType,wsdlDoc);
    html.append(Constants.HTML_BR);
    buildOperationTable(html,portType,wsdlDoc);
    html.append(Constants.HTML_BR);
    buildOperationDetails(html,portType,wsdlDoc);
    addFooter(html);
    html.append(HtmlUtils.getEndTags());
    String outputDir=getCurrentOutputDir() + File.separator;
    writeFile(html,outputDir + File.separator + packageName,wsdlDoc.getServiceName() + Constants.DOT_HTML);
  }
  writePackageTree(wsdlDoc);
  addPackageToServiceMap(packageName,wsdlDoc.getServiceName());
  processedTypes=new ArrayList<AbstractType>();
  logger.exiting("String_Node_Str","String_Node_Str",new Object[]{wsdlDoc,outputGenaratorParam});
}