nus-yam/ex-repair huggingface dataset:
Program: 30325
Project: 30325
Buggy source:
@Override public String executeOn(String[] args) throws IOException, InterruptedException {
  SSHLauncher sshLauncher=new SSHLauncher();
  File home=new File(System.getProperty("String_Node_Str"));
  String keyFile=new File(home,"String_Node_Str").getAbsolutePath();
  sshLauncher.init(getUser().getUserId(),address,22,null,keyFile,null,Logger.getAnonymousLogger());
  ByteArrayOutputStream baos=new ByteArrayOutputStream();
  StringBuilder stringBuilder=new StringBuilder();
  for (  String arg : args) {
    stringBuilder.append(arg);
    stringBuilder.append("String_Node_Str");
  }
  sshLauncher.runCommand(stringBuilder.toString().trim(),baos);
  return baos.toString();
}

Fixed version (ground truth):
@Override public String executeOn(String[] args) throws IOException, InterruptedException {
  SSHLauncher sshLauncher=new SSHLauncher();
  File home=new File(System.getProperty("String_Node_Str"));
  String keyFile=new File(home,"String_Node_Str").getAbsolutePath();
  sshLauncher.init(getUser().getName(),address,22,null,keyFile,null,Logger.getAnonymousLogger());
  ByteArrayOutputStream baos=new ByteArrayOutputStream();
  StringBuilder stringBuilder=new StringBuilder();
  for (  String arg : args) {
    stringBuilder.append(arg);
    stringBuilder.append("String_Node_Str");
  }
  sshLauncher.runCommand(stringBuilder.toString().trim(),baos);
  return baos.toString();
}
Program: 30326
Project: 30326
Buggy source:
public void delete() throws VirtException {
  try {
    stop();
  }
 catch (  VirtException e) {
    e.printStackTrace();
  }
  for (  StorageVol volume : volumes()) {
    volume.delete();
  }
  domain.undefine();
}

Fixed version (ground truth):
public void delete() throws VirtException {
  try {
    stop();
  }
 catch (  VirtException e) {
    e.printStackTrace();
  }
  for (  StorageVol volume : storageVols) {
    volume.delete();
  }
  domain.undefine();
}
Program: 30328
Project: 30328
Buggy source:
@Override public void execute(AdminCommandContext context){
  ServerPool targetGroup=iaas.byName(group);
  if (targetGroup == null) {
    context.getActionReport().failure(RuntimeContext.logger,"String_Node_Str" + group);
    return;
  }
  try {
    VirtualMachine vm=targetGroup.vmByName(virtualMachine);
    if (vm != null) {
      CountDownLatch latch=vmLifecycle.getStartupLatch(vm.getName());
      if (latch != null) {
        latch.countDown();
      }
      vm.setAddress(address);
      Cluster clusterConfig=domain.getClusterNamed(cluster);
      VirtualMachineConfig vmConfig=clusterConfig.getExtensionsByTypeAndName(VirtualMachineConfig.class,vm.getName());
      for (      Property property : vmConfig.getProperty()) {
        vm.setProperty(VirtualMachine.PropertyName.valueOf(property.getName()),property.getValue());
      }
      Template template=vmConfig.getTemplate();
      templateRepository.byName(template.getName()).getCustomizer().start(vm);
    }
  }
 catch (  VirtException e) {
    RuntimeContext.logger.log(Level.SEVERE,e.getMessage(),e);
    context.getActionReport().failure(RuntimeContext.logger,e.getMessage());
    return;
  }
  context.getActionReport().setActionExitCode(ActionReport.ExitCode.SUCCESS);
}

Fixed version (ground truth):
@Override public void execute(AdminCommandContext context){
  ServerPool targetGroup=iaas.byName(group);
  if (targetGroup == null) {
    context.getActionReport().failure(RuntimeContext.logger,"String_Node_Str" + group);
    return;
  }
  try {
    VirtualMachine vm=targetGroup.vmByName(virtualMachine);
    if (vm != null) {
      CountDownLatch latch=vmLifecycle.getStartupLatch(vm.getName());
      if (latch != null) {
        latch.countDown();
      }
      vm.setAddress(address);
      Cluster clusterConfig=domain.getClusterNamed(cluster);
      VirtualMachineConfig vmConfig=clusterConfig.getExtensionsByTypeAndName(VirtualMachineConfig.class,vm.getName());
      for (      Property property : vmConfig.getProperty()) {
        vm.setProperty(VirtualMachine.PropertyName.valueOf(property.getName()),property.getValue());
      }
      Template template=vmConfig.getTemplate();
      TemplateCustomizer customizer=templateRepository.byName(template.getName()).getCustomizer();
      if (customizer != null) {
        customizer.start(vm);
      }
    }
  }
 catch (  VirtException e) {
    RuntimeContext.logger.log(Level.SEVERE,e.getMessage(),e);
    context.getActionReport().failure(RuntimeContext.logger,e.getMessage());
    return;
  }
  context.getActionReport().setActionExitCode(ActionReport.ExitCode.SUCCESS);
}
Program: 30330
Project: 30330
Buggy source:
/** 
 * Set the type information for the EJB starting with the EJB business interface, but only if it hasn't already been set.
 */
private void setEjbIntfType(EjbReferenceDescriptor ejbRef,Class beanInterface){
  if (ejbRef.getEjbInterface() != null)   return;
  ejbRef.setEjbInterface(beanInterface.getName());
  if (beanInterface.getAnnotation(Local.class) != null) {
    ejbRef.setLocal(true);
  }
 else   if (beanInterface.getAnnotation(Remote.class) != null) {
    ejbRef.setLocal(false);
  }
 else {
    ejbRef.setLocal(false);
  }
  ejbRef.setType(EjbSessionDescriptor.TYPE);
}

Fixed version (ground truth):
/** 
 * Set the type information for the EJB starting with the EJB business interface, but only if it hasn't already been set.
 */
private void setEjbIntfType(EjbReferenceDescriptor ejbRef,Class beanInterface){
  if (ejbRef.getEjbInterface() != null)   return;
  ejbRef.setEjbInterface(beanInterface.getName());
  if (beanInterface.getAnnotation(Local.class) != null) {
    ejbRef.setLocal(true);
  }
 else {
    ejbRef.setLocal(false);
  }
  ejbRef.setType(EjbSessionDescriptor.TYPE);
}
Program: 30336
Project: 30336
Buggy source:
private void writeSecurityTokens(Process sp) throws GFLauncherException, IOException {
  handleDeadProcess();
  OutputStream os=sp.getOutputStream();
  BufferedWriter bw=null;
  try {
    bw=new BufferedWriter(new OutputStreamWriter(os));
    for (    String token : info.securityTokens) {
      bw.write(token);
      bw.newLine();
      bw.flush();
    }
  }
 catch (  IOException e) {
    handleDeadProcess();
    throw e;
  }
 finally {
    if (bw != null) {
      handleDeadProcess();
      bw.close();
    }
 else     if (os != null)     try {
      os.close();
    }
 catch (    IOException ioe) {
    }
  }
}

Fixed version (ground truth):
private void writeSecurityTokens(Process sp) throws GFLauncherException, IOException {
  handleDeadProcess();
  OutputStream os=sp.getOutputStream();
  OutputStreamWriter osw=null;
  BufferedWriter bw=null;
  try {
    osw=new OutputStreamWriter(os);
    bw=new BufferedWriter(osw);
    for (    String token : info.securityTokens) {
      bw.write(token);
      bw.newLine();
      bw.flush();
    }
  }
 catch (  IOException e) {
    handleDeadProcess();
    throw e;
  }
 finally {
    if (bw != null) {
      bw.close();
    }
    if (osw != null) {
      osw.close();
    }
    if (os != null) {
      try {
        os.close();
      }
 catch (      IOException ioe) {
      }
    }
    if (bw != null) {
      handleDeadProcess();
    }
  }
}
Program: 30337
Project: 30337
Buggy source:
private void computeTimeOut(){
  long currentTime=System.currentTimeMillis();
  timeOutReached=((currentTime - startTime) >= (timeOutSeconds * 1000));
}

Fixed version (ground truth):
private void computeTimeOut(){
  long currentTime=System.currentTimeMillis();
  timeOutReached=((currentTime - startTime) >= (timeOutSeconds * 1000L));
}
Program: 30340
Project: 30340
Buggy source:
@Override public void execute(AdminCommandContext context){
  ActionReport report=context.getActionReport();
  if (name == null)   name=nodehost.toString();
  if (nodes.getNode(name) != null) {
    return;
  }
  CommandInvocation ci=cr.getCommandInvocation("String_Node_Str",report);
  ParameterMap map=new ParameterMap();
  map.add("String_Node_Str",name);
  map.add(NodeUtils.PARAM_NODEDIR,nodedir);
  map.add(NodeUtils.PARAM_INSTALLDIR,installdir);
  map.add(NodeUtils.PARAM_NODEHOST,nodehost);
  map.add(NodeUtils.PARAM_TYPE,"String_Node_Str");
  ci.parameters(map);
  ci.execute();
}

Fixed version (ground truth):
@Override public void execute(AdminCommandContext context){
  ActionReport report=context.getActionReport();
  if (name == null)   name=nodehost;
  if (nodes.getNode(name) != null) {
    return;
  }
  CommandInvocation ci=cr.getCommandInvocation("String_Node_Str",report);
  ParameterMap map=new ParameterMap();
  map.add("String_Node_Str",name);
  map.add(NodeUtils.PARAM_NODEDIR,nodedir);
  map.add(NodeUtils.PARAM_INSTALLDIR,installdir);
  map.add(NodeUtils.PARAM_NODEHOST,nodehost);
  map.add(NodeUtils.PARAM_TYPE,"String_Node_Str");
  ci.parameters(map);
  ci.execute();
}
Program: 30341
Project: 30341
Buggy source:
@Override public void execute(AdminCommandContext context){
  report=context.getActionReport();
  Logger logger=context.getLogger();
  ListNodesHelper lnh=new ListNodesHelper(logger,servers,nodes,"String_Node_Str",long_opt,terse);
  String nodeList=lnh.getNodeList();
  report.setMessage(nodeList);
  report.setActionExitCode(ExitCode.SUCCESS);
}

Fixed version (ground truth):
@Override public void execute(AdminCommandContext context){
  report=context.getActionReport();
  logger=context.getLogger();
  ListNodesHelper lnh=new ListNodesHelper(logger,servers,nodes,"String_Node_Str",long_opt,terse);
  String nodeList=lnh.getNodeList();
  report.setMessage(nodeList);
  report.setActionExitCode(ExitCode.SUCCESS);
}
Program: 30342
Project: 30342
Buggy source:
@Override public void execute(AdminCommandContext context){
  report=context.getActionReport();
  Logger logger=context.getLogger();
  ListNodesHelper lnh=new ListNodesHelper(logger,servers,nodes,"String_Node_Str",long_opt,terse);
  String nodeList=lnh.getNodeList();
  report.setMessage(nodeList);
  report.setActionExitCode(ExitCode.SUCCESS);
}

Fixed version (ground truth):
@Override public void execute(AdminCommandContext context){
  report=context.getActionReport();
  logger=context.getLogger();
  ListNodesHelper lnh=new ListNodesHelper(logger,servers,nodes,"String_Node_Str",long_opt,terse);
  String nodeList=lnh.getNodeList();
  report.setMessage(nodeList);
  report.setActionExitCode(ExitCode.SUCCESS);
}
Program: 30343
Project: 30343
Buggy source:
@Override public void execute(AdminCommandContext context){
  report=context.getActionReport();
  Logger logger=context.getLogger();
  ListNodesHelper lnh=new ListNodesHelper(logger,servers,nodes,"String_Node_Str",long_opt,terse);
  String nodeList=lnh.getNodeList();
  report.setMessage(nodeList);
  report.setActionExitCode(ExitCode.SUCCESS);
}

Fixed version (ground truth):
@Override public void execute(AdminCommandContext context){
  report=context.getActionReport();
  logger=context.getLogger();
  ListNodesHelper lnh=new ListNodesHelper(logger,servers,nodes,"String_Node_Str",long_opt,terse);
  String nodeList=lnh.getNodeList();
  report.setMessage(nodeList);
  report.setActionExitCode(ExitCode.SUCCESS);
}
Program: 30345
Project: 30345
Buggy source:
void validateHostName(String hostName) throws CommandValidationException {
  if (!StringUtils.ok(hostName)) {
    throw new CommandValidationException(Strings.get("String_Node_Str"));
  }
  try {
    InetAddress addr=InetAddress.getByName(hostName);
  }
 catch (  UnknownHostException e) {
    throw new CommandValidationException(Strings.get("String_Node_Str",hostName),e);
  }
}

Fixed version (ground truth):
void validateHostName(String hostName) throws CommandValidationException {
  if (!StringUtils.ok(hostName)) {
    throw new CommandValidationException(Strings.get("String_Node_Str"));
  }
  try {
    InetAddress.getByName(hostName);
  }
 catch (  UnknownHostException e) {
    throw new CommandValidationException(Strings.get("String_Node_Str",hostName),e);
  }
}
Program: 30346
Project: 30346
Buggy source:
@Override public void execute(AdminCommandContext context){
  ActionReport report=context.getActionReport();
  StringBuilder msg=new StringBuilder();
  Node theNode=null;
  logger=context.getLogger();
  NodeUtils nodeUtils=new NodeUtils(habitat,logger);
  theNode=nodes.getNode(name);
  if (theNode == null) {
    String m=Strings.get("String_Node_Str",name);
    logger.warning(m);
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    report.setMessage(m);
    return;
  }
  if (!NodeUtils.isSSHNode(theNode)) {
    String m=Strings.get("String_Node_Str",name);
    logger.warning(m);
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    report.setMessage(m);
    return;
  }
  try {
    String version="String_Node_Str";
    if (validate) {
      nodeUtils.validate(theNode);
      version=Strings.get("String_Node_Str",theNode.getInstallDir(),nodeUtils.getGlassFishVersionOnNode(theNode));
    }
 else {
      nodeUtils.pingSSHConnection(theNode);
    }
    String m1=Strings.get("String_Node_Str",name,theNode.getNodeHost());
    if (StringUtils.ok(version)) {
      m1=m1 + NL + version;
    }
    report.setMessage(m1.toString());
    report.setActionExitCode(ActionReport.ExitCode.SUCCESS);
  }
 catch (  CommandValidationException e) {
    String m1=Strings.get("String_Node_Str",name,theNode.getNodeHost());
    msg.append(StringUtils.cat(NL,m1,e.getMessage()));
    report.setMessage(msg.toString());
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
  }
}

Fixed version (ground truth):
@Override public void execute(AdminCommandContext context){
  ActionReport report=context.getActionReport();
  StringBuilder msg=new StringBuilder();
  Node theNode=null;
  logger=context.getLogger();
  NodeUtils nodeUtils=new NodeUtils(habitat,logger);
  theNode=nodes.getNode(name);
  if (theNode == null) {
    String m=Strings.get("String_Node_Str",name);
    logger.warning(m);
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    report.setMessage(m);
    return;
  }
  if (!NodeUtils.isSSHNode(theNode)) {
    String m=Strings.get("String_Node_Str",name);
    logger.warning(m);
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    report.setMessage(m);
    return;
  }
  try {
    String version="String_Node_Str";
    if (validate) {
      nodeUtils.validate(theNode);
      version=Strings.get("String_Node_Str",theNode.getInstallDir(),nodeUtils.getGlassFishVersionOnNode(theNode));
    }
 else {
      nodeUtils.pingSSHConnection(theNode);
    }
    String m1=Strings.get("String_Node_Str",name,theNode.getNodeHost());
    if (StringUtils.ok(version)) {
      m1=m1 + NL + version;
    }
    report.setMessage(m1);
    report.setActionExitCode(ActionReport.ExitCode.SUCCESS);
  }
 catch (  CommandValidationException e) {
    String m1=Strings.get("String_Node_Str",name,theNode.getNodeHost());
    msg.append(StringUtils.cat(NL,m1,e.getMessage()));
    report.setMessage(msg.toString());
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
  }
}
Program: 30349
Project: 30349
Buggy source:
public void deployApplication(String appName,ReadableArchive cloudArchive){
  logger.entering(getClass().getName(),"String_Node_Str");
  Set<Plugin> installedPlugins=getPlugins();
  ServiceMetadata appServiceMetadata=serviceDependencyDiscovery(appName,cloudArchive,installedPlugins);
  Set<ProvisionedService> appProvisionedSvcs=provisionServices(installedPlugins,appServiceMetadata,null);
  associateProvisionedServices(installedPlugins,appServiceMetadata,appProvisionedSvcs,true);
  deployArchive(cloudArchive,installedPlugins);
  associateProvisionedServices(installedPlugins,appServiceMetadata,appProvisionedSvcs,false);
}

Fixed version (ground truth):
public void deployApplication(String appName,ReadableArchive cloudArchive){
  logger.entering(getClass().getName(),"String_Node_Str");
  Set<Plugin> installedPlugins=getPlugins();
  ServiceMetadata appServiceMetadata=serviceDependencyDiscovery(appName,cloudArchive,installedPlugins);
  Set<ProvisionedService> appProvisionedSvcs=provisionServices(installedPlugins,appServiceMetadata,null);
  associateProvisionedServices(installedPlugins,appServiceMetadata,appProvisionedSvcs,true,null);
  deployArchive(cloudArchive,installedPlugins);
  associateProvisionedServices(installedPlugins,appServiceMetadata,appProvisionedSvcs,false,null);
}
Program: 30350
Project: 30350
Buggy source:
private void associateProvisionedServices(Set<Plugin> installedPlugins,ServiceMetadata appServiceMetadata,Set<ProvisionedService> appProvisionedSvcs,boolean preDeployment){
  logger.entering(getClass().getName(),"String_Node_Str" + preDeployment);
  for (  ProvisionedService ps : appProvisionedSvcs) {
    for (    Plugin<?> svcPlugin : installedPlugins) {
      if (!ps.getServiceType().equals(svcPlugin.getServiceType())) {
        Set<ServiceReference> appSRs=appServiceMetadata.getServiceReferences();
        for (        ServiceReference sr : appSRs) {
          logger.log(Level.INFO,"String_Node_Str" + ps + "String_Node_Str"+ sr+ "String_Node_Str"+ svcPlugin);
          svcPlugin.associateServices(ps,sr,preDeployment);
        }
      }
    }
  }
}

Fixed version (ground truth):
private void associateProvisionedServices(Set<Plugin> installedPlugins,ServiceMetadata appServiceMetadata,Set<ProvisionedService> appProvisionedSvcs,boolean preDeployment,DeploymentContext dc){
  logger.entering(getClass().getName(),"String_Node_Str" + preDeployment);
  for (  ProvisionedService ps : appProvisionedSvcs) {
    for (    Plugin<?> svcPlugin : installedPlugins) {
      if (!ps.getServiceType().equals(svcPlugin.getServiceType())) {
        Set<ServiceReference> appSRs=appServiceMetadata.getServiceReferences();
        for (        ServiceReference sr : appSRs) {
          logger.log(Level.INFO,"String_Node_Str" + ps + "String_Node_Str"+ sr+ "String_Node_Str"+ svcPlugin);
          svcPlugin.associateServices(ps,sr,preDeployment,dc);
        }
      }
    }
  }
}
Program: 30351
Project: 30351
Buggy source:
public void provisionServicesForApplication(String appName,ReadableArchive archive,DeploymentContext dc){
  logger.entering(getClass().getName(),"String_Node_Str");
  Set<Plugin> installedPlugins=getPlugins();
  ServiceMetadata appServiceMetadata=serviceDependencyDiscovery(appName,archive,installedPlugins);
  Set<ProvisionedService> appProvisionedSvcs=provisionServices(installedPlugins,appServiceMetadata,dc);
  associateProvisionedServices(installedPlugins,appServiceMetadata,appProvisionedSvcs,true);
  serviceMetadata.put(appName,appServiceMetadata);
  provisionedServices.put(appName,appProvisionedSvcs);
  logger.exiting(getClass().getName(),"String_Node_Str");
}

Fixed version (ground truth):
public void provisionServicesForApplication(String appName,ReadableArchive archive,DeploymentContext dc){
  logger.entering(getClass().getName(),"String_Node_Str");
  Set<Plugin> installedPlugins=getPlugins();
  ServiceMetadata appServiceMetadata=serviceDependencyDiscovery(appName,archive,installedPlugins);
  Set<ProvisionedService> appProvisionedSvcs=provisionServices(installedPlugins,appServiceMetadata,dc);
  associateProvisionedServices(installedPlugins,appServiceMetadata,appProvisionedSvcs,true,dc);
  serviceMetadata.put(appName,appServiceMetadata);
  provisionedServices.put(appName,appProvisionedSvcs);
  logger.exiting(getClass().getName(),"String_Node_Str");
}
Program: 30352
Project: 30352
Buggy source:
public void postDeploy(String appName,ReadableArchive cloudArchive){
  logger.entering(getClass().getName(),"String_Node_Str");
  Set<Plugin> installedPlugins=getPlugins();
  ServiceMetadata appServiceMetadata=serviceMetadata.get(appName);
  Set<ProvisionedService> appProvisionedSvcs=provisionedServices.get(appName);
  associateProvisionedServices(installedPlugins,appServiceMetadata,appProvisionedSvcs,false);
  logger.exiting(getClass().getName(),"String_Node_Str");
}

Fixed version (ground truth):
public void postDeploy(String appName,ReadableArchive archive,DeploymentContext dc){
  logger.entering(getClass().getName(),"String_Node_Str");
  Set<Plugin> installedPlugins=getPlugins();
  ServiceMetadata appServiceMetadata=serviceMetadata.get(appName);
  Set<ProvisionedService> appProvisionedSvcs=provisionedServices.get(appName);
  associateProvisionedServices(installedPlugins,appServiceMetadata,appProvisionedSvcs,false,dc);
  logger.exiting(getClass().getName(),"String_Node_Str");
}
Program: 30353
Project: 30353
Buggy source:
public void after(ExtendedDeploymentContext.Phase phase,ExtendedDeploymentContext context){
  if (!usingDeployService) {
    if (phase.equals(ExtendedDeploymentContext.Phase.REPLICATION)) {
      if (serverEnvironment.isDas()) {
        OpsParams params=context.getCommandParameters(OpsParams.class);
        ReadableArchive archive=context.getSource();
        if (params.origin == OpsParams.Origin.deploy) {
          String appName=params.name();
          postDeploy(appName,archive);
        }
        if (params.origin == OpsParams.Origin.undeploy) {
          if (params.command == OpsParams.Command.undeploy) {
            String appName=params.name();
            postUndeploy(appName,context.getSource(),context);
            serviceMetadata.remove(appName);
            provisionedServices.remove(appName);
          }
        }
      }
    }
  }
}

Fixed version (ground truth):
public void after(ExtendedDeploymentContext.Phase phase,ExtendedDeploymentContext context){
  if (!usingDeployService) {
    if (phase.equals(ExtendedDeploymentContext.Phase.REPLICATION)) {
      if (serverEnvironment.isDas()) {
        OpsParams params=context.getCommandParameters(OpsParams.class);
        ReadableArchive archive=context.getSource();
        if (params.origin == OpsParams.Origin.deploy) {
          String appName=params.name();
          postDeploy(appName,archive,context);
        }
        if (params.origin == OpsParams.Origin.undeploy) {
          if (params.command == OpsParams.Command.undeploy) {
            String appName=params.name();
            postUndeploy(appName,context.getSource(),context);
            serviceMetadata.remove(appName);
            provisionedServices.remove(appName);
          }
        }
      }
    }
  }
}
Program: 30354
Project: 30354
Buggy source:
public ServiceMetadata discoverDeclaredServices(String appName,ReadableArchive ra){
  ServiceMetadata serviceMetadata=null;
  try {
    InputStream inputStream=ra.getEntry("String_Node_Str");
    if (inputStream != null) {
      JAXBContext jaxbContext=JAXBContext.newInstance(ServiceMetadata.class);
      Unmarshaller unmarshaller=jaxbContext.createUnmarshaller();
      serviceMetadata=(ServiceMetadata)unmarshaller.unmarshal(inputStream);
      if (appName != null) {
        serviceMetadata.setAppName(appName);
      }
    }
  }
 catch (  Exception ex) {
    throw new RuntimeException(ex);
  }
  if (serviceMetadata != null) {
    for (    ServiceDescription serviceDescription : serviceMetadata.getServiceDescriptions()) {
      serviceDescription.setAppName(appName);
    }
  }
  return serviceMetadata;
}

Fixed version (ground truth):
public ServiceMetadata discoverDeclaredServices(String appName,ReadableArchive ra){
  ServiceMetadata serviceMetadata=null;
  try {
    InputStream inputStream=null;
    if (DeploymentUtils.isWebArchive(ra)) {
      inputStream=ra.getEntry("String_Node_Str");
    }
 else {
      inputStream=ra.getEntry("String_Node_Str");
    }
    if (inputStream != null) {
      JAXBContext jaxbContext=JAXBContext.newInstance(ServiceMetadata.class);
      Unmarshaller unmarshaller=jaxbContext.createUnmarshaller();
      serviceMetadata=(ServiceMetadata)unmarshaller.unmarshal(inputStream);
      if (appName != null) {
        serviceMetadata.setAppName(appName);
      }
    }
  }
 catch (  Exception ex) {
    throw new RuntimeException(ex);
  }
  if (serviceMetadata != null) {
    for (    ServiceDescription serviceDescription : serviceMetadata.getServiceDescriptions()) {
      serviceDescription.setAppName(appName);
    }
  }
  return serviceMetadata;
}
Program: 30355
Project: 30355
Buggy source:
@XmlElement(name="String_Node_Str") public Set<ServiceDescription> getServiceDescriptions(){
  return serviceDescriptions == null ? new HashSet<ServiceDescription>() : serviceDescriptions;
}

Fixed version (ground truth):
@XmlElement(name="String_Node_Str") public Set<ServiceDescription> getServiceDescriptions(){
  if (serviceDescriptions == null) {
    serviceDescriptions=new HashSet<ServiceDescription>();
  }
  return serviceDescriptions;
}
Program: 30356
Project: 30356
Buggy source:
/** 
 * A <code>ProvisionedService</code> for a <code>ServiceReference</code> is associated with each other through this method.
 * @param beforeDeployment indicates if this association is happening before thedeployment of the application.
 */
public void associateServices(ProvisionedService provisionedSvc,ServiceReference svcRef,boolean beforeDeployment);

Fixed version (ground truth):
/** 
 * A <code>ProvisionedService</code> for a <code>ServiceReference</code> is associated with each other through this method.
 * @param beforeDeployment indicates if this association is happening before thedeployment of the application.
 */
public void associateServices(ProvisionedService provisionedSvc,ServiceReference svcRef,boolean beforeDeployment,DeploymentContext dc);
Program: 30357
Project: 30357
Buggy source:
/** 
 * This method is for processing security annotation associated to ejb. Dervied class call this method may like to override protected void processEjbMethodSecurity(Annotation authAnnotation, MethodDescriptor md, EjbDescriptor ejbDesc)
 */
@Override public void postProcessAnnotation(AnnotationInfo ainfo,AnnotatedElementHandler aeHandler) throws AnnotationProcessorException {
  EjbContext ejbContext=(EjbContext)aeHandler;
  EjbDescriptor ejbDesc=ejbContext.getDescriptor();
  Annotation authAnnotation=ainfo.getAnnotation();
  if (!ejbContext.isInherited() && (ejbDesc.getMethodPermissionsFromDD() == null || ejbDesc.getMethodPermissionsFromDD().size() == 0)) {
    for (    MethodDescriptor md : getMethodAllDescriptors(ejbDesc)) {
      processEjbMethodSecurity(authAnnotation,md,ejbDesc);
    }
  }
 else {
    Class classAn=(Class)ainfo.getAnnotatedElement();
    for (    Object next : ejbDesc.getSecurityBusinessMethodDescriptors()) {
      MethodDescriptor md=(MethodDescriptor)next;
      if (classAn.equals(ejbContext.getDeclaringClass(md)) && !hasMethodPermissionsFromDD(md,ejbDesc)) {
        processEjbMethodSecurity(authAnnotation,md,ejbDesc);
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * This method is for processing security annotation associated to ejb. Dervied class call this method may like to override protected void processEjbMethodSecurity(Annotation authAnnotation, MethodDescriptor md, EjbDescriptor ejbDesc)
 */
@Override public void postProcessAnnotation(AnnotationInfo ainfo,EjbContext ejbContext) throws AnnotationProcessorException {
  EjbDescriptor ejbDesc=ejbContext.getDescriptor();
  Annotation authAnnotation=ainfo.getAnnotation();
  if (!ejbContext.isInherited() && (ejbDesc.getMethodPermissionsFromDD() == null || ejbDesc.getMethodPermissionsFromDD().size() == 0)) {
    for (    MethodDescriptor md : getMethodAllDescriptors(ejbDesc)) {
      processEjbMethodSecurity(authAnnotation,md,ejbDesc);
    }
  }
 else {
    Class classAn=(Class)ainfo.getAnnotatedElement();
    for (    Object next : ejbDesc.getSecurityBusinessMethodDescriptors()) {
      MethodDescriptor md=(MethodDescriptor)next;
      if (classAn.equals(ejbContext.getDeclaringClass(md)) && !hasMethodPermissionsFromDD(md,ejbDesc)) {
        processEjbMethodSecurity(authAnnotation,md,ejbDesc);
      }
    }
  }
}
Program: 30358
Project: 30358
Buggy source:
public void postProcessAnnotation(AnnotationInfo ainfo,AnnotatedElementHandler aeHandler) throws AnnotationProcessorException ;

Fixed version (ground truth):
public void postProcessAnnotation(AnnotationInfo ainfo,T aeHandler) throws AnnotationProcessorException ;
Program: 30359
Project: 30359
Buggy source:
/** 
 * Set the default value (from class type annotation) on all methods that don't have a value.
 */
public void postProcessAnnotation(AnnotationInfo ainfo,AnnotatedElementHandler aeHandler) throws AnnotationProcessorException {
  EjbContext ejbContext=(EjbContext)aeHandler;
  EjbSessionDescriptor ejbDesc=(EjbSessionDescriptor)ejbContext.getDescriptor();
  Class classAn=(Class)ainfo.getAnnotatedElement();
  AccessTimeout timeoutAnn=(AccessTimeout)ainfo.getAnnotation();
  List<Method> toProcess=new ArrayList<Method>();
  for (  Method m : ejbContext.getComponentDefinitionMethods()) {
    if (classAn.equals(m.getDeclaringClass())) {
      toProcess.add(m);
    }
  }
  for (  Method m : classAn.getDeclaredMethods()) {
    if (Modifier.isPrivate(m.getModifiers())) {
      toProcess.add(m);
    }
  }
  for (  Method m : toProcess) {
    if (!matchesExistingAccessTimeoutMethod(m,ejbDesc)) {
      MethodDescriptor newMethodDesc=new MethodDescriptor(m);
      ejbDesc.addAccessTimeoutMethod(newMethodDesc,timeoutAnn.value(),timeoutAnn.unit());
    }
  }
}

Fixed version (ground truth):
/** 
 * Set the default value (from class type annotation) on all methods that don't have a value.
 */
public void postProcessAnnotation(AnnotationInfo ainfo,EjbContext ejbContext) throws AnnotationProcessorException {
  EjbSessionDescriptor ejbDesc=(EjbSessionDescriptor)ejbContext.getDescriptor();
  Class classAn=(Class)ainfo.getAnnotatedElement();
  AccessTimeout timeoutAnn=(AccessTimeout)ainfo.getAnnotation();
  List<Method> toProcess=new ArrayList<Method>();
  for (  Method m : ejbContext.getComponentDefinitionMethods()) {
    if (classAn.equals(m.getDeclaringClass())) {
      toProcess.add(m);
    }
  }
  for (  Method m : classAn.getDeclaredMethods()) {
    if (Modifier.isPrivate(m.getModifiers())) {
      toProcess.add(m);
    }
  }
  for (  Method m : toProcess) {
    if (!matchesExistingAccessTimeoutMethod(m,ejbDesc)) {
      MethodDescriptor newMethodDesc=new MethodDescriptor(m);
      ejbDesc.addAccessTimeoutMethod(newMethodDesc,timeoutAnn.value(),timeoutAnn.unit());
    }
  }
}
Program: 30360
Project: 30360
Buggy source:
/** 
 * Set the default value (from class type annotation) on all methods that don't have a value. Class type annotation applies to all EJB 3.x Local/Remote/no-interface  views in which  that  business method is exposed for that bean. 
 */
public void postProcessAnnotation(AnnotationInfo ainfo,AnnotatedElementHandler aeHandler) throws AnnotationProcessorException {
  EjbContext ejbContext=(EjbContext)aeHandler;
  EjbDescriptor ejbDesc=ejbContext.getDescriptor();
  Class classAn=(Class)ainfo.getAnnotatedElement();
  Method[] methods=classAn.getDeclaredMethods();
  for (  Method m0 : methods) {
    setAsynchronous(m0,ejbDesc);
  }
}

Fixed version (ground truth):
/** 
 * Set the default value (from class type annotation) on all methods that don't have a value. Class type annotation applies to all EJB 3.x Local/Remote/no-interface  views in which  that  business method is exposed for that bean. 
 */
public void postProcessAnnotation(AnnotationInfo ainfo,EjbContext ejbContext) throws AnnotationProcessorException {
  EjbDescriptor ejbDesc=ejbContext.getDescriptor();
  Class classAn=(Class)ainfo.getAnnotatedElement();
  Method[] methods=classAn.getDeclaredMethods();
  for (  Method m0 : methods) {
    setAsynchronous(m0,ejbDesc);
  }
}
Program: 30361
Project: 30361
Buggy source:
/** 
 * Set the default value (from class type annotation) on all methods that don't have a value.
 */
public void postProcessAnnotation(AnnotationInfo ainfo,AnnotatedElementHandler aeHandler) throws AnnotationProcessorException {
  EjbContext ejbContext=(EjbContext)aeHandler;
  EjbSessionDescriptor ejbDesc=(EjbSessionDescriptor)ejbContext.getDescriptor();
  Class classAn=(Class)ainfo.getAnnotatedElement();
  Lock lockAnn=(Lock)ainfo.getAnnotation();
  List<Method> toProcess=new ArrayList<Method>();
  for (  Method m : ejbContext.getComponentDefinitionMethods()) {
    if (classAn.equals(m.getDeclaringClass())) {
      toProcess.add(m);
    }
  }
  for (  Method m : classAn.getDeclaredMethods()) {
    if (Modifier.isPrivate(m.getModifiers())) {
      toProcess.add(m);
    }
  }
  for (  Method m : toProcess) {
    if (!matchesExistingReadOrWriteLockMethod(m,ejbDesc)) {
      MethodDescriptor newMethodDesc=new MethodDescriptor(m);
      if (lockAnn.value() == LockType.WRITE) {
        ejbDesc.addWriteLockMethod(newMethodDesc);
      }
 else {
        ejbDesc.addReadLockMethod(newMethodDesc);
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Set the default value (from class type annotation) on all methods that don't have a value.
 */
public void postProcessAnnotation(AnnotationInfo ainfo,EjbContext ejbContext) throws AnnotationProcessorException {
  EjbSessionDescriptor ejbDesc=(EjbSessionDescriptor)ejbContext.getDescriptor();
  Class classAn=(Class)ainfo.getAnnotatedElement();
  Lock lockAnn=(Lock)ainfo.getAnnotation();
  List<Method> toProcess=new ArrayList<Method>();
  for (  Method m : ejbContext.getComponentDefinitionMethods()) {
    if (classAn.equals(m.getDeclaringClass())) {
      toProcess.add(m);
    }
  }
  for (  Method m : classAn.getDeclaredMethods()) {
    if (Modifier.isPrivate(m.getModifiers())) {
      toProcess.add(m);
    }
  }
  for (  Method m : toProcess) {
    if (!matchesExistingReadOrWriteLockMethod(m,ejbDesc)) {
      MethodDescriptor newMethodDesc=new MethodDescriptor(m);
      if (lockAnn.value() == LockType.WRITE) {
        ejbDesc.addWriteLockMethod(newMethodDesc);
      }
 else {
        ejbDesc.addReadLockMethod(newMethodDesc);
      }
    }
  }
}
Program: 30362
Project: 30362
Buggy source:
/** 
 * Set the default value (from class type annotation) on all methods that don't have a value.
 */
public void postProcessAnnotation(AnnotationInfo ainfo,AnnotatedElementHandler aeHandler) throws AnnotationProcessorException {
  EjbContext ejbContext=(EjbContext)aeHandler;
  EjbDescriptor ejbDesc=ejbContext.getDescriptor();
  TransactionAttribute taAn=(TransactionAttribute)ainfo.getAnnotation();
  ContainerTransaction containerTransaction=getContainerTransaction(taAn.value());
  Class classAn=(Class)ainfo.getAnnotatedElement();
  Set txBusMethods=ejbDesc.getTxBusinessMethodDescriptors();
  for (  Object mdObj : txBusMethods) {
    MethodDescriptor md=(MethodDescriptor)mdObj;
    if (classAn.equals(ejbContext.getDeclaringClass(md)) && ejbDesc.getContainerTransactionFor(md) == null) {
      ejbDesc.setContainerTransactionFor(md,containerTransaction);
    }
  }
}

Fixed version (ground truth):
/** 
 * Set the default value (from class type annotation) on all methods that don't have a value.
 */
public void postProcessAnnotation(AnnotationInfo ainfo,EjbContext ejbContext) throws AnnotationProcessorException {
  EjbDescriptor ejbDesc=ejbContext.getDescriptor();
  TransactionAttribute taAn=(TransactionAttribute)ainfo.getAnnotation();
  ContainerTransaction containerTransaction=getContainerTransaction(taAn.value());
  Class classAn=(Class)ainfo.getAnnotatedElement();
  Set txBusMethods=ejbDesc.getTxBusinessMethodDescriptors();
  for (  Object mdObj : txBusMethods) {
    MethodDescriptor md=(MethodDescriptor)mdObj;
    if (classAn.equals(ejbContext.getDeclaringClass(md)) && ejbDesc.getContainerTransactionFor(md) == null) {
      ejbDesc.setContainerTransactionFor(md,containerTransaction);
    }
  }
}
Program: 30363
Project: 30363
Buggy source:
@Override public void flush(){
  if (staleEntryNames.isEmpty()) {
    logger.log(DEBUG_LEVEL,"String_Node_Str");
    Util.markerFile(archiveFile).delete();
    return;
  }
  PrintStream ps=null;
  try {
    ps=new PrintStream(Util.markerFile(archiveFile));
  }
 catch (  FileNotFoundException ex) {
    throw new RuntimeException(ex);
  }
  for (  String staleEntryName : staleEntryNames) {
    ps.println(staleEntryName);
  }
  ps.close();
  logger.log(DEBUG_LEVEL,"String_Node_Str",new Object[]{markerFile.getAbsolutePath(),staleEntryNames.toString()});
}

Fixed version (ground truth):
@Override public void flush(){
  if (staleEntryNames.isEmpty()) {
    logger.log(DEBUG_LEVEL,"String_Node_Str");
    final File marker=Util.markerFile(archiveFile);
    if (!marker.exists() || marker.delete()) {
      return;
    }
    logger.log(Level.FINE,"String_Node_Str",marker.getAbsolutePath());
  }
  PrintStream ps=null;
  try {
    ps=new PrintStream(Util.markerFile(archiveFile));
  }
 catch (  FileNotFoundException ex) {
    throw new RuntimeException(ex);
  }
  for (  String staleEntryName : staleEntryNames) {
    ps.println(staleEntryName);
  }
  ps.close();
  logger.log(DEBUG_LEVEL,"String_Node_Str",new Object[]{markerFile.getAbsolutePath(),staleEntryNames.toString()});
}
Program: 30365
Project: 30365
Buggy source:
private String readDeploymentConfig(final InputStream is) throws IOException {
  String encoding=null;
  XMLEventReader rdr=null;
  try {
    is.mark(Integer.MAX_VALUE);
    rdr=xmlInputFactory.createXMLEventReader(new InputStreamReader(is));
    while (rdr.hasNext()) {
      final XMLEvent ev=rdr.nextEvent();
      if (ev.isStartDocument()) {
        final StartDocument sd=(StartDocument)ev;
        encoding=sd.getCharacterEncodingScheme();
        rdr.close();
        break;
      }
    }
  }
 catch (  XMLStreamException e) {
    if (rdr != null) {
      try {
        rdr.close();
      }
 catch (      XMLStreamException inner) {
        throw new IOException(e);
      }
    }
    throw new IOException(e);
  }
  if (encoding == null) {
    encoding="String_Node_Str";
  }
  is.reset();
  ByteArrayOutputStream baos=new ByteArrayOutputStream();
  int bytesRead;
  final byte[] buffer=new byte[1024];
  while ((bytesRead=is.read(buffer)) != -1) {
    baos.write(buffer,0,bytesRead);
  }
  if (rdr != null) {
    try {
      rdr.close();
    }
 catch (    XMLStreamException ex) {
      throw new IOException(ex);
    }
  }
  is.close();
  return new String(baos.toByteArray(),encoding);
}

Fixed version (ground truth):
private String readDeploymentConfig(final InputStream is) throws IOException {
  String encoding=null;
  XMLEventReader rdr=null;
  try {
    is.mark(Integer.MAX_VALUE);
    rdr=xmlInputFactory.createXMLEventReader(new InputStreamReader(is));
    while (rdr.hasNext()) {
      final XMLEvent ev=rdr.nextEvent();
      if (ev.isStartDocument()) {
        final StartDocument sd=(StartDocument)ev;
        encoding=sd.getCharacterEncodingScheme();
        rdr.close();
        break;
      }
    }
  }
 catch (  XMLStreamException e) {
    if (rdr != null) {
      try {
        rdr.close();
      }
 catch (      XMLStreamException inner) {
        throw new IOException(e);
      }
    }
    throw new IOException(e);
  }
  if (encoding == null) {
    encoding="String_Node_Str";
  }
  is.reset();
  ByteArrayOutputStream baos=new ByteArrayOutputStream();
  int bytesRead;
  final byte[] buffer=new byte[1024];
  while ((bytesRead=is.read(buffer)) != -1) {
    baos.write(buffer,0,bytesRead);
  }
  try {
    rdr.close();
  }
 catch (  XMLStreamException ex) {
    throw new IOException(ex);
  }
  is.close();
  return new String(baos.toByteArray(),encoding);
}
Program: 30366
Project: 30366
Buggy source:
public ObjectName[] getChildren(){
  ObjectName result[]=new ObjectName[children.size()];
  Iterator<Container> it=children.values().iterator();
  int i=0;
  while (it.hasNext()) {
    Object next=it.next();
    if (next instanceof ContainerBase) {
      result[i++]=((ContainerBase)next).getJmxName();
    }
  }
  return result;
}

Fixed version (ground truth):
public ObjectName[] getChildren(){
synchronized (children) {
    ObjectName result[]=new ObjectName[children.size()];
    Iterator<Container> it=children.values().iterator();
    int i=0;
    while (it.hasNext()) {
      Object next=it.next();
      if (next instanceof ContainerBase) {
        result[i++]=((ContainerBase)next).getJmxName();
      }
    }
    return result;
  }
}
Program: 30367
Project: 30367
Buggy source:
/** 
 * Return the set of active Sessions associated with this Manager. If this Manager has no active Sessions, a zero-length array is returned.
 */
public Session[] findSessions(){
  return sessions.values().toArray(new Session[sessions.size()]);
}

Fixed version (ground truth):
/** 
 * Return the set of active Sessions associated with this Manager. If this Manager has no active Sessions, a zero-length array is returned.
 */
public Session[] findSessions(){
  Collection<Session> sessionsValues=sessions.values();
  List<Session> list=new ArrayList<Session>(sessionsValues.size());
  for (  Session session : sessionsValues) {
    list.add(session);
  }
  return list.toArray(new Session[list.size()]);
}
Program: 30368
Project: 30368
Buggy source:
/** 
 * Purges those session ids from the map of invalidated session ids whose time has come up
 */
protected void processInvalidatedSessions(){
  if (!started) {
    return;
  }
  long timeNow=System.currentTimeMillis();
  Iterator<String> iter=invalidatedSessions.keySet().iterator();
  while (iter.hasNext()) {
    String id=iter.next();
    Long timeAdded=invalidatedSessions.get(id);
    if ((timeAdded == null) || (timeNow - timeAdded.longValue() > rememberInvalidatedSessionIdMilliSecs)) {
      removeFromInvalidatedSessions(id);
    }
  }
}

Fixed version (ground truth):
/** 
 * Purges those session ids from the map of invalidated session ids whose time has come up
 */
protected void processInvalidatedSessions(){
  if (!started) {
    return;
  }
  long timeNow=System.currentTimeMillis();
  for (  Map.Entry<String,Long> e : invalidatedSessions.entrySet()) {
    String id=e.getKey();
    Long timeAdded=e.getValue();
    if ((timeAdded == null) || (timeNow - timeAdded.longValue() > rememberInvalidatedSessionIdMilliSecs)) {
      removeFromInvalidatedSessions(id);
    }
  }
}
Program: 30370
Project: 30370
Buggy source:
/** 
 * Return the names of all currently defined session attributes as an array of Strings.  If there are no defined attributes, a zero-length array is returned.
 */
protected String[] keys(){
  if (attributes.size() > 0) {
    return attributes.keySet().toArray(EMPTY_ARRAY);
  }
 else {
    return EMPTY_ARRAY;
  }
}

Fixed version (ground truth):
/** 
 * Return the names of all currently defined session attributes as an array of Strings.  If there are no defined attributes, a zero-length array is returned.
 */
protected String[] keys(){
  if (attributes.size() > 0) {
    List<String> list=new ArrayList<String>();
    for (    String key : attributes.keySet()) {
      list.add(key);
    }
    return list.toArray(new String[list.size()]);
  }
 else {
    return EMPTY_ARRAY;
  }
}
Program: 30371
Project: 30371
Buggy source:
protected void nullInstance(Object instance){
  if (instance == null) {
    return;
  }
  Field[] fields=instance.getClass().getDeclaredFields();
  for (int i=0; i < fields.length; i++) {
    Field field=fields[i];
    int mods=field.getModifiers();
    if (field.getType().isPrimitive() || (field.getName().indexOf("String_Node_Str") != -1)) {
      continue;
    }
    try {
      setAccessible(field);
      if (Modifier.isStatic(mods) && Modifier.isFinal(mods)) {
        continue;
      }
 else {
        Object value=field.get(instance);
        if (null != value) {
          Class<? extends Object> valueClass=value.getClass();
          if (logger.isLoggable(Level.FINE)) {
            logger.fine("String_Node_Str" + field.getName() + "String_Node_Str"+ instance.getClass().getName()+ "String_Node_Str"+ valueClass.getName()+ "String_Node_Str");
          }
        }
 else {
          field.set(instance,null);
          if (logger.isLoggable(Level.FINE))           logger.fine("String_Node_Str" + field.getName() + "String_Node_Str"+ instance.getClass().getName());
        }
      }
    }
 catch (    Throwable t) {
      if (logger.isLoggable(Level.FINE)) {
        logger.log(Level.FINE,"String_Node_Str" + field.getName() + "String_Node_Str"+ instance.getClass().getName(),t);
      }
    }
  }
}

Fixed version (ground truth):
protected void nullInstance(Object instance){
  if (instance == null) {
    return;
  }
  Field[] fields=instance.getClass().getDeclaredFields();
  for (int i=0; i < fields.length; i++) {
    Field field=fields[i];
    int mods=field.getModifiers();
    if (field.getType().isPrimitive() || (field.getName().indexOf("String_Node_Str") != -1)) {
      continue;
    }
    try {
      setAccessible(field);
      if (Modifier.isStatic(mods) && Modifier.isFinal(mods)) {
        continue;
      }
 else {
        Object value=field.get(instance);
        if (null != value) {
          Class<? extends Object> valueClass=value.getClass();
          if (!loadedByThisOrChild(valueClass)) {
            if (logger.isLoggable(Level.FINE)) {
              logger.fine("String_Node_Str" + field.getName() + "String_Node_Str"+ instance.getClass().getName()+ "String_Node_Str"+ valueClass.getName()+ "String_Node_Str");
            }
          }
 else {
            field.set(instance,null);
            if (logger.isLoggable(Level.FINE))             logger.fine("String_Node_Str" + field.getName() + "String_Node_Str"+ instance.getClass().getName());
          }
        }
      }
    }
 catch (    Throwable t) {
      if (logger.isLoggable(Level.FINE)) {
        logger.log(Level.FINE,"String_Node_Str" + field.getName() + "String_Node_Str"+ instance.getClass().getName(),t);
      }
    }
  }
}
Program: 30372
Project: 30372
Buggy source:
/** 
 * @return a list of libraries included in the archivist
 */
public Vector getLibraries(Archive archive){
  return null;
}

Fixed version (ground truth):
/** 
 * @return a list of libraries included in the archivist
 */
@Override public Vector getLibraries(Archive archive){
  return null;
}
Program: 30375
Project: 30375
Buggy source:
protected void makeChanges() throws TransactionFailure {
  for (  final String xmlName : mChanges.keySet()) {
    final Object value=mChanges.get(xmlName);
    final ConfigModel.Property prop=getConfigModel_Property(xmlName);
    if (prop.isCollection()) {
      final List<String> results=handleCollection(mWriteable,prop,ListUtil.asStringList(value));
    }
 else     if (value == null || (value instanceof String)) {
      mWriteable.setter(prop,value,String.class);
    }
 else {
      throw new TransactionFailure("String_Node_Str" + xmlName + "String_Node_Str"+ value.getClass().getName());
    }
  }
}

Fixed version (ground truth):
protected void makeChanges() throws TransactionFailure {
  for (  final String xmlName : mChanges.keySet()) {
    final Object value=mChanges.get(xmlName);
    final ConfigModel.Property prop=getConfigModel_Property(xmlName);
    if (prop.isCollection()) {
      handleCollection(mWriteable,prop,ListUtil.asStringList(value));
    }
 else     if (value == null || (value instanceof String)) {
      mWriteable.setter(prop,value,String.class);
    }
 else {
      throw new TransactionFailure("String_Node_Str" + xmlName + "String_Node_Str"+ value.getClass().getName());
    }
  }
}