Program: 44046
Project: 44046
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();
  this.outputGenaratorParam=outputGenaratorParam;
  if (packageName == null) {
    packageName="String_Node_Str";
  }
  if (packageName.startsWith("String_Node_Str")) {
    packageName=packageName.substring(1);
  }
  currentPackageName=packageName;
  currentTypesFolderPath=getCurrentOutputDir() + File.separator + packageName+ File.separator+ "String_Node_Str"+ File.separator;
  classUseFolderPath=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,false,false,null,getRelativePath(currentPackageName),false,null);
    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,false,false,null,getRelativePath(currentPackageName),false,null);
    html.append(HtmlUtils.getEndTags());
    String outputDir=getCurrentOutputDir() + File.separator;
    writeFile(html,outputDir + File.separator + packageName,wsdlDoc.getServiceName() + Constants.DOT_HTML);
  }
  writeOrphanTypes(wsdlDoc);
  createTypeIndex(wsdlDoc);
  addPackageToDocMap(packageName,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";
  }
  if (packageName.startsWith("String_Node_Str")) {
    packageName=packageName.substring(1);
  }
  currentPackageName=packageName;
  currentTypesFolderPath=getCurrentOutputDir() + File.separator + packageName+ File.separator+ "String_Node_Str"+ File.separator;
  classUseFolderPath=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));
    Map<String,String> replacementMap=new HashMap<String,String>();
    replacementMap.put("String_Node_Str",getRelativePath(currentPackageName));
    buildHeader(html,replacementMap,"String_Node_Str");
    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,replacementMap,"String_Node_Str");
    html.append(HtmlUtils.getEndTags());
    String outputDir=getCurrentOutputDir() + File.separator;
    writeFile(html,outputDir + File.separator + packageName,wsdlDoc.getServiceName() + Constants.DOT_HTML);
  }
  writeOrphanTypes(wsdlDoc);
  createTypeIndex(wsdlDoc);
  addPackageToDocMap(packageName,wsdlDoc);
  addPackageToServiceMap(packageName,wsdlDoc.getServiceName());
  processedTypes=new ArrayList<AbstractType>();
  logger.exiting("String_Node_Str","String_Node_Str",new Object[]{wsdlDoc,outputGenaratorParam});
}