Program: 64494
Project: 64494
Buggy source:
/** 
 * This method should be used when sessions xml is to be generated and written out to DBWS_SESSION_STREAM.
 * @param stageDir sessions xml will be generated and written out if non-null
 * @throws WSDLException
 */
public static void setUp(String stageDir,boolean useLogger) throws WSDLException {
  if (builder == null) {
    builder=new DBWSBuilder();
  }
  DBWS_SERVICE_STREAM=new ByteArrayOutputStream();
  DBWS_SCHEMA_STREAM=new ByteArrayOutputStream();
  DBWS_SESSION_STREAM=new ByteArrayOutputStream();
  DBWS_OR_STREAM=new ByteArrayOutputStream();
  DBWS_OX_STREAM=new ByteArrayOutputStream();
  DBWS_WSDL_STREAM=new ByteArrayOutputStream();
  final String username=System.getProperty(DATABASE_USERNAME_KEY,DEFAULT_DATABASE_USERNAME);
  final String password=System.getProperty(DATABASE_PASSWORD_KEY,DEFAULT_DATABASE_PASSWORD);
  final String url=System.getProperty(DATABASE_URL_KEY,DEFAULT_DATABASE_URL);
  String builderString=DBWS_BUILDER_XML_USERNAME + username + DBWS_BUILDER_XML_PASSWORD+ password+ DBWS_BUILDER_XML_URL+ url+ DBWS_BUILDER_XML_DRIVER+ DATABASE_DRIVER+ DBWS_BUILDER_XML_PLATFORM+ DATABASE_PLATFORM+ DBWS_BUILDER_XML_MAIN;
  XMLContext context=new XMLContext(new DBWSBuilderModelProject());
  XMLUnmarshaller unmarshaller=context.createUnmarshaller();
  DBWSBuilderModel builderModel=(DBWSBuilderModel)unmarshaller.unmarshal(new StringReader(builderString));
  builder.quiet=true;
  builder.setPlatformClassname(DATABASE_PLATFORM);
  builder.properties=builderModel.properties;
  builder.operations=builderModel.operations;
  XRPackager xrPackager=new JSR109WebServicePackager(null,"String_Node_Str",noArchive){
    @Override public void start(){
    }
  }
;
  xrPackager.setDBWSBuilder(builder);
  builder.setPackager(xrPackager);
  builder.setPackager(xrPackager);
  dbwsLogger=null;
  if (useLogger) {
    dbwsLogger=new DBWSLogger("String_Node_Str",null);
  }
  if (stageDir == null) {
    builder.getProperties().put(SESSIONS_FILENAME_KEY,NO_SESSIONS_FILENAME);
    builder.build(DBWS_SCHEMA_STREAM,__nullStream,DBWS_SERVICE_STREAM,DBWS_OR_STREAM,DBWS_OX_STREAM,__nullStream,__nullStream,__nullStream,__nullStream,__nullStream,__nullStream,__nullStream,dbwsLogger);
  }
 else {
    xrPackager.setStageDir(new File(stageDir));
    builder.build(DBWS_SCHEMA_STREAM,DBWS_SESSION_STREAM,DBWS_SERVICE_STREAM,DBWS_OR_STREAM,DBWS_OX_STREAM,__nullStream,__nullStream,DBWS_WSDL_STREAM,__nullStream,__nullStream,__nullStream,__nullStream,dbwsLogger);
  }
  XRServiceFactory factory=new XRServiceFactory(){
    @Override public XRServiceAdapter buildService(    XRServiceModel xrServiceModel){
      parentClassLoader=this.getClass().getClassLoader();
      xrSchemaStream=new ByteArrayInputStream(DBWS_SCHEMA_STREAM.toByteArray());
      return super.buildService(xrServiceModel);
    }
    @Override public void buildSessions(){
      XRDynamicClassLoader xrdecl=new XRDynamicClassLoader(parentClassLoader);
      Project orProject=null;
      if (DBWS_OR_STREAM.size() != 0) {
        orProject=XMLProjectReader.read(new StringReader(DBWS_OR_STREAM.toString()),xrdecl);
      }
 else {
        orProject=new Project();
        orProject.setName(builder.getProjectName() + "String_Node_Str");
      }
      Project oxProject=null;
      if (DBWS_OX_STREAM.size() != 0) {
        oxProject=XMLProjectReader.read(new StringReader(DBWS_OX_STREAM.toString()),xrdecl);
      }
 else {
        oxProject=new Project();
        oxProject.setName(builder.getProjectName() + "String_Node_Str");
      }
      DatasourceLogin login=new DatabaseLogin();
      login.setUserName(username);
      login.setPassword(password);
      ((DatabaseLogin)login).setConnectionString(url);
      ((DatabaseLogin)login).setDriverClassName(DATABASE_DRIVER);
      Platform platform=builder.getDatabasePlatform();
      ;
      ConversionManager conversionManager=platform.getConversionManager();
      if (conversionManager != null) {
        conversionManager.setLoader(xrdecl);
      }
      login.setDatasourcePlatform(platform);
      ((DatabaseLogin)login).bindAllParameters();
      orProject.setDatasourceLogin(login);
      login=(DatasourceLogin)oxProject.getDatasourceLogin();
      if (login != null) {
        platform=login.getDatasourcePlatform();
        if (platform != null) {
          conversionManager=platform.getConversionManager();
          if (conversionManager != null) {
            conversionManager.setLoader(xrdecl);
          }
        }
      }
      ProjectHelper.fixOROXAccessors(orProject,oxProject);
      xrService.setORSession(orProject.createDatabaseSession());
      xrService.getORSession().dontLogMessages();
      xrService.setXMLContext(new XMLContext(oxProject));
      xrService.setOXSession(xrService.getXMLContext().getSession(0));
    }
  }
;
  context=new XMLContext(new DBWSModelProject());
  unmarshaller=context.createUnmarshaller();
  DBWSModel model=(DBWSModel)unmarshaller.unmarshal(new StringReader(DBWS_SERVICE_STREAM.toString()));
  xrService=factory.buildService(model);
}

Fixed version (ground truth):
/** 
 * This method should be used when sessions xml is to be generated and written out to DBWS_SESSION_STREAM.
 * @param stageDir sessions xml will be generated and written out if non-null
 * @throws WSDLException
 */
public static void setUp(String stageDir,boolean useLogger) throws WSDLException {
  comparer.setIgnoreOrder(true);
  if (builder == null) {
    builder=new DBWSBuilder();
  }
  DBWS_SERVICE_STREAM=new ByteArrayOutputStream();
  DBWS_SCHEMA_STREAM=new ByteArrayOutputStream();
  DBWS_SESSION_STREAM=new ByteArrayOutputStream();
  DBWS_OR_STREAM=new ByteArrayOutputStream();
  DBWS_OX_STREAM=new ByteArrayOutputStream();
  DBWS_WSDL_STREAM=new ByteArrayOutputStream();
  final String username=System.getProperty(DATABASE_USERNAME_KEY,DEFAULT_DATABASE_USERNAME);
  final String password=System.getProperty(DATABASE_PASSWORD_KEY,DEFAULT_DATABASE_PASSWORD);
  final String url=System.getProperty(DATABASE_URL_KEY,DEFAULT_DATABASE_URL);
  String builderString=DBWS_BUILDER_XML_USERNAME + username + DBWS_BUILDER_XML_PASSWORD+ password+ DBWS_BUILDER_XML_URL+ url+ DBWS_BUILDER_XML_DRIVER+ DATABASE_DRIVER+ DBWS_BUILDER_XML_PLATFORM+ DATABASE_PLATFORM+ DBWS_BUILDER_XML_MAIN;
  XMLContext context=new XMLContext(new DBWSBuilderModelProject());
  XMLUnmarshaller unmarshaller=context.createUnmarshaller();
  DBWSBuilderModel builderModel=(DBWSBuilderModel)unmarshaller.unmarshal(new StringReader(builderString));
  builder.quiet=true;
  builder.setPlatformClassname(DATABASE_PLATFORM);
  builder.properties=builderModel.properties;
  builder.operations=builderModel.operations;
  XRPackager xrPackager=new JSR109WebServicePackager(null,"String_Node_Str",noArchive){
    @Override public void start(){
    }
  }
;
  xrPackager.setDBWSBuilder(builder);
  builder.setPackager(xrPackager);
  builder.setPackager(xrPackager);
  dbwsLogger=null;
  if (useLogger) {
    dbwsLogger=new DBWSLogger("String_Node_Str",null);
  }
  if (stageDir == null) {
    builder.getProperties().put(SESSIONS_FILENAME_KEY,NO_SESSIONS_FILENAME);
    builder.build(DBWS_SCHEMA_STREAM,__nullStream,DBWS_SERVICE_STREAM,DBWS_OR_STREAM,DBWS_OX_STREAM,__nullStream,__nullStream,__nullStream,__nullStream,__nullStream,__nullStream,__nullStream,dbwsLogger);
  }
 else {
    xrPackager.setStageDir(new File(stageDir));
    builder.build(DBWS_SCHEMA_STREAM,DBWS_SESSION_STREAM,DBWS_SERVICE_STREAM,DBWS_OR_STREAM,DBWS_OX_STREAM,__nullStream,__nullStream,DBWS_WSDL_STREAM,__nullStream,__nullStream,__nullStream,__nullStream,dbwsLogger);
  }
  XRServiceFactory factory=new XRServiceFactory(){
    @Override public XRServiceAdapter buildService(    XRServiceModel xrServiceModel){
      parentClassLoader=this.getClass().getClassLoader();
      xrSchemaStream=new ByteArrayInputStream(DBWS_SCHEMA_STREAM.toByteArray());
      return super.buildService(xrServiceModel);
    }
    @Override public void buildSessions(){
      XRDynamicClassLoader xrdecl=new XRDynamicClassLoader(parentClassLoader);
      Project orProject=null;
      if (DBWS_OR_STREAM.size() != 0) {
        orProject=XMLProjectReader.read(new StringReader(DBWS_OR_STREAM.toString()),xrdecl);
      }
 else {
        orProject=new Project();
        orProject.setName(builder.getProjectName() + "String_Node_Str");
      }
      Project oxProject=null;
      if (DBWS_OX_STREAM.size() != 0) {
        oxProject=XMLProjectReader.read(new StringReader(DBWS_OX_STREAM.toString()),xrdecl);
      }
 else {
        oxProject=new Project();
        oxProject.setName(builder.getProjectName() + "String_Node_Str");
      }
      DatasourceLogin login=new DatabaseLogin();
      login.setUserName(username);
      login.setPassword(password);
      ((DatabaseLogin)login).setConnectionString(url);
      ((DatabaseLogin)login).setDriverClassName(DATABASE_DRIVER);
      Platform platform=builder.getDatabasePlatform();
      ;
      ConversionManager conversionManager=platform.getConversionManager();
      if (conversionManager != null) {
        conversionManager.setLoader(xrdecl);
      }
      login.setDatasourcePlatform(platform);
      ((DatabaseLogin)login).bindAllParameters();
      orProject.setDatasourceLogin(login);
      login=(DatasourceLogin)oxProject.getDatasourceLogin();
      if (login != null) {
        platform=login.getDatasourcePlatform();
        if (platform != null) {
          conversionManager=platform.getConversionManager();
          if (conversionManager != null) {
            conversionManager.setLoader(xrdecl);
          }
        }
      }
      ProjectHelper.fixOROXAccessors(orProject,oxProject);
      xrService.setORSession(orProject.createDatabaseSession());
      xrService.getORSession().dontLogMessages();
      xrService.setXMLContext(new XMLContext(oxProject));
      xrService.setOXSession(xrService.getXMLContext().getSession(0));
    }
  }
;
  context=new XMLContext(new DBWSModelProject());
  unmarshaller=context.createUnmarshaller();
  DBWSModel model=(DBWSModel)unmarshaller.unmarshal(new StringReader(DBWS_SERVICE_STREAM.toString()));
  xrService=factory.buildService(model);
}