nus-yam/ex-repair huggingface dataset:
Program: 90812
Project: 90812
Buggy source:
@Test public void testWarn(){
  currentLevel=Level.WARN;
  currentEvent=events[0];
  warn("String_Node_Str");
  warn(null,"String_Node_Str");
  currentEvent=events[1];
  warn(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str");
  currentEvent=events[2];
  warn("String_Node_Str",t);
  warn(null,"String_Node_Str",t);
  currentEvent=events[3];
  warn(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str",t);
  currentEvent=events[4];
  warn(obj);
  currentEvent=events[5];
  warn(MarkerManager.getMarker("String_Node_Str"),obj);
  currentEvent=events[6];
  warn(obj,t);
  warn(null,obj,t);
  currentEvent=events[7];
  warn(MarkerManager.getMarker("String_Node_Str"),obj,t);
  currentEvent=events[8];
  warn(pattern,p1,p2);
  currentEvent=events[9];
  warn(MarkerManager.getMarker("String_Node_Str"),pattern,p1,p2);
  currentEvent=events[10];
  warn(simple);
  warn(null,simple);
  warn(null,simple,null);
  currentEvent=events[11];
  warn(simple,t);
  warn(null,simple,t);
  currentEvent=events[12];
  warn(MarkerManager.getMarker("String_Node_Str"),simple,null);
  currentEvent=events[13];
  warn(MarkerManager.getMarker("String_Node_Str"),simple,t);
}

Fixed version (ground truth):
@Test public void testWarn(){
  currentLevel=Level.WARN;
  currentEvent=events[0];
  warn("String_Node_Str");
  warn(null,"String_Node_Str");
  currentEvent=events[1];
  warn(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str");
  currentEvent=events[2];
  warn("String_Node_Str",t);
  warn(null,"String_Node_Str",t);
  currentEvent=events[3];
  warn(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str",t);
  currentEvent=events[4];
  warn(obj);
  currentEvent=events[5];
  warn(MarkerManager.getMarker("String_Node_Str"),obj);
  currentEvent=events[6];
  warn(obj,t);
  warn(null,obj,t);
  currentEvent=events[7];
  warn(MarkerManager.getMarker("String_Node_Str"),obj,t);
  currentEvent=events[8];
  warn(pattern,p1,p2);
  currentEvent=events[9];
  warn(MarkerManager.getMarker("String_Node_Str"),pattern,p1,p2);
  currentEvent=events[10];
  warn(simple);
  warn(null,simple);
  warn(null,simple,null);
  currentEvent=events[11];
  warn(simple,t);
  warn(null,simple,t);
  currentEvent=events[12];
  warn(MarkerManager.getMarker("String_Node_Str"),simple,null);
  currentEvent=events[13];
  warn(MarkerManager.getMarker("String_Node_Str"),simple,t);
  currentEvent=events[14];
  warn(MarkerManager.getMarker("String_Node_Str"),simple);
}
Program: 90813
Project: 90813
Buggy source:
@Test public void testTrace(){
  currentLevel=Level.TRACE;
  currentEvent=events[0];
  trace("String_Node_Str");
  trace(null,"String_Node_Str");
  currentEvent=events[1];
  trace(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str");
  currentEvent=events[2];
  trace("String_Node_Str",t);
  trace(null,"String_Node_Str",t);
  currentEvent=events[3];
  trace(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str",t);
  currentEvent=events[4];
  trace(obj);
  currentEvent=events[5];
  trace(MarkerManager.getMarker("String_Node_Str"),obj);
  currentEvent=events[6];
  trace(obj,t);
  trace(null,obj,t);
  currentEvent=events[7];
  trace(MarkerManager.getMarker("String_Node_Str"),obj,t);
  currentEvent=events[8];
  trace(pattern,p1,p2);
  currentEvent=events[9];
  trace(MarkerManager.getMarker("String_Node_Str"),pattern,p1,p2);
  currentEvent=events[10];
  trace(simple);
  trace(null,simple);
  trace(null,simple,null);
  currentEvent=events[11];
  trace(simple,t);
  trace(null,simple,t);
  currentEvent=events[12];
  trace(MarkerManager.getMarker("String_Node_Str"),simple,null);
  currentEvent=events[13];
  trace(MarkerManager.getMarker("String_Node_Str"),simple,t);
}

Fixed version (ground truth):
@Test public void testTrace(){
  currentLevel=Level.TRACE;
  currentEvent=events[0];
  trace("String_Node_Str");
  trace(null,"String_Node_Str");
  currentEvent=events[1];
  trace(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str");
  currentEvent=events[2];
  trace("String_Node_Str",t);
  trace(null,"String_Node_Str",t);
  currentEvent=events[3];
  trace(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str",t);
  currentEvent=events[4];
  trace(obj);
  currentEvent=events[5];
  trace(MarkerManager.getMarker("String_Node_Str"),obj);
  currentEvent=events[6];
  trace(obj,t);
  trace(null,obj,t);
  currentEvent=events[7];
  trace(MarkerManager.getMarker("String_Node_Str"),obj,t);
  currentEvent=events[8];
  trace(pattern,p1,p2);
  currentEvent=events[9];
  trace(MarkerManager.getMarker("String_Node_Str"),pattern,p1,p2);
  currentEvent=events[10];
  trace(simple);
  trace(null,simple);
  trace(null,simple,null);
  currentEvent=events[11];
  trace(simple,t);
  trace(null,simple,t);
  currentEvent=events[12];
  trace(MarkerManager.getMarker("String_Node_Str"),simple,null);
  currentEvent=events[13];
  trace(MarkerManager.getMarker("String_Node_Str"),simple,t);
  currentEvent=events[14];
  trace(MarkerManager.getMarker("String_Node_Str"),simple);
}
Program: 90814
Project: 90814
Buggy source:
@Test public void testError(){
  currentLevel=Level.ERROR;
  currentEvent=events[0];
  error("String_Node_Str");
  error(null,"String_Node_Str");
  currentEvent=events[1];
  error(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str");
  currentEvent=events[2];
  error("String_Node_Str",t);
  error(null,"String_Node_Str",t);
  currentEvent=events[3];
  error(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str",t);
  currentEvent=events[4];
  error(obj);
  currentEvent=events[5];
  error(MarkerManager.getMarker("String_Node_Str"),obj);
  currentEvent=events[6];
  error(obj,t);
  error(null,obj,t);
  currentEvent=events[7];
  error(MarkerManager.getMarker("String_Node_Str"),obj,t);
  currentEvent=events[8];
  error(pattern,p1,p2);
  currentEvent=events[9];
  error(MarkerManager.getMarker("String_Node_Str"),pattern,p1,p2);
  currentEvent=events[10];
  error(simple);
  error(null,simple);
  error(null,simple,null);
  currentEvent=events[11];
  error(simple,t);
  error(null,simple,t);
  currentEvent=events[12];
  error(MarkerManager.getMarker("String_Node_Str"),simple,null);
  currentEvent=events[13];
  error(MarkerManager.getMarker("String_Node_Str"),simple,t);
}

Fixed version (ground truth):
@Test public void testError(){
  currentLevel=Level.ERROR;
  currentEvent=events[0];
  error("String_Node_Str");
  error(null,"String_Node_Str");
  currentEvent=events[1];
  error(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str");
  currentEvent=events[2];
  error("String_Node_Str",t);
  error(null,"String_Node_Str",t);
  currentEvent=events[3];
  error(MarkerManager.getMarker("String_Node_Str"),"String_Node_Str",t);
  currentEvent=events[4];
  error(obj);
  currentEvent=events[5];
  error(MarkerManager.getMarker("String_Node_Str"),obj);
  currentEvent=events[6];
  error(obj,t);
  error(null,obj,t);
  currentEvent=events[7];
  error(MarkerManager.getMarker("String_Node_Str"),obj,t);
  currentEvent=events[8];
  error(pattern,p1,p2);
  currentEvent=events[9];
  error(MarkerManager.getMarker("String_Node_Str"),pattern,p1,p2);
  currentEvent=events[10];
  error(simple);
  error(null,simple);
  error(null,simple,null);
  currentEvent=events[11];
  error(simple,t);
  error(null,simple,t);
  currentEvent=events[12];
  error(MarkerManager.getMarker("String_Node_Str"),simple,null);
  currentEvent=events[13];
  error(MarkerManager.getMarker("String_Node_Str"),simple,t);
  currentEvent=events[14];
  error(MarkerManager.getMarker("String_Node_Str"),simple);
}
Program: 90815
Project: 90815
Buggy source:
/** 
 * Returns this appenders layout.
 * @return the Layout for the Appender or null if none is configured.
 * @issue LOG4J2-36 Refactor into Channel
 */
Layout getLayout();

Fixed version (ground truth):
/** 
 * Returns this appenders layout.
 * @return the Layout for the Appender or null if none is configured.
 * @issue LOG4J2-36 Refactor into Channel
 */
Layout<?> getLayout();
Program: 90816
Project: 90816
Buggy source:
/** 
 * Returns the Layout for the appender.
 * @return The Layout used to format the event.
 */
public Layout getLayout(){
  return layout;
}

Fixed version (ground truth):
/** 
 * Returns the Layout for the appender.
 * @return The Layout used to format the event.
 */
public Layout<?> getLayout(){
  return layout;
}
Program: 90817
Project: 90817
Buggy source:
/** 
 * Constructor.
 * @param name The Appender name.
 * @param filter The Filter to associate with the Appender.
 * @param layout The layout to use to format the event.
 * @param handleException If true, exceptions will be logged and suppressed. If false errors will belogged and then passed to the application.
 */
protected AbstractAppender(String name,Filter filter,Layout layout,boolean handleException){
  super(filter);
  this.name=name;
  this.layout=layout;
  this.handleException=handleException;
}

Fixed version (ground truth):
/** 
 * Constructor.
 * @param name The Appender name.
 * @param filter The Filter to associate with the Appender.
 * @param layout The layout to use to format the event.
 * @param handleException If true, exceptions will be logged and suppressed. If false errors will belogged and then passed to the application.
 */
protected AbstractAppender(String name,Filter filter,Layout<?> layout,boolean handleException){
  super(filter);
  this.name=name;
  this.layout=layout;
  this.handleException=handleException;
}
Program: 90818
Project: 90818
Buggy source:
@Override public boolean equals(Object o){
  if (this == o) {
    return true;
  }
  if (o == null || getClass() != o.getClass()) {
    return false;
  }
  MapMessage that=(MapMessage)o;
  return this.data.equals(that.data);
}

Fixed version (ground truth):
@Override public boolean equals(Object o){
  if (this == o) {
    return true;
  }
  if (o == null || this.getClass() != o.getClass()) {
    return false;
  }
  MapMessage that=(MapMessage)o;
  return this.data.equals(that.data);
}
Program: 90819
Project: 90819
Buggy source:
/** 
 * Checks whether this Marker is an instance of the specified Marker.
 * @param m The Marker name to check.
 * @return true of this Marker or one of its ancestors matches the specified name, false otherwise.
 */
boolean isInstanceOf(String name);

Fixed version (ground truth):
/** 
 * Checks whether this Marker is an instance of the specified Marker.
 * @param name The name of the Marker.
 * @return true of this Marker or one of its ancestors matches the specified name, false otherwise.
 */
boolean isInstanceOf(String name);
Program: 90820
Project: 90820
Buggy source:
/** 
 * Cause a reconfiguration to take place when the underlying configuration file changes.
 */
public synchronized void onChange(Reconfigurable reconfigurable){
  logger.debug("String_Node_Str" + contextName);
  Configuration config=reconfigurable.reconfigure();
  if (config != null) {
    setConfiguration(config);
    logger.debug("String_Node_Str");
  }
 else {
    logger.debug("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * Cause a reconfiguration to take place when the underlying configuration file changes.
 * @param reconfigurable The Configuration that can be reconfigured.
 */
public synchronized void onChange(Reconfigurable reconfigurable){
  logger.debug("String_Node_Str" + contextName);
  Configuration config=reconfigurable.reconfigure();
  if (config != null) {
    setConfiguration(config);
    logger.debug("String_Node_Str");
  }
 else {
    logger.debug("String_Node_Str");
  }
}
Program: 90821
Project: 90821
Buggy source:
/** 
 * Constructor.
 * @param file The File to monitor.
 * @param listeners The List of ConfigurationListeners to notify upon a change.
 * @param interval The monitor interval in seconds. The minimum interval is 30 seconds.
 */
public FileConfigurationMonitor(Reconfigurable reconfigurable,File file,List<ConfigurationListener> listeners,int interval){
  this.reconfigurable=reconfigurable;
  this.file=file;
  this.lastModified=file.lastModified();
  this.listeners=listeners;
  this.interval=(interval < MIN_INTERVAL ? MIN_INTERVAL : interval) * MILLIS_PER_SECOND;
  this.nextCheck=System.currentTimeMillis() + interval;
}

Fixed version (ground truth):
/** 
 * Constructor.
 * @param reconfigurable The Configuration that can be reconfigured.
 * @param file The File to monitor.
 * @param listeners The List of ConfigurationListeners to notify upon a change.
 * @param interval The monitor interval in seconds. The minimum interval is 30 seconds.
 */
public FileConfigurationMonitor(Reconfigurable reconfigurable,File file,List<ConfigurationListener> listeners,int interval){
  this.reconfigurable=reconfigurable;
  this.file=file;
  this.lastModified=file.lastModified();
  this.listeners=listeners;
  this.interval=(interval < MIN_INTERVAL ? MIN_INTERVAL : interval) * MILLIS_PER_SECOND;
  this.nextCheck=System.currentTimeMillis() + interval;
}
Program: 90822
Project: 90822
Buggy source:
public void contextInitialized(ServletContextEvent event){
  ServletContext context=event.getServletContext();
  String locn=context.getInitParameter(LOG4J_CONFIG);
  String name=context.getInitParameter(LOG4J_CONTEXT_NAME);
  if (name == null) {
    name=context.getServletContextName();
  }
  if (name == null && locn == null) {
    context.log("String_Node_Str");
    return;
  }
  context.setAttribute(LOG4J_CONTEXT_ATTRIBUTE,Configurator.initialize(name,getClassLoader(context),locn));
}

Fixed version (ground truth):
/** 
 * Initialize Logging for the web application.
 * @param event The ServletContextEvent.
 */
public void contextInitialized(ServletContextEvent event){
  ServletContext context=event.getServletContext();
  String locn=context.getInitParameter(LOG4J_CONFIG);
  String name=context.getInitParameter(LOG4J_CONTEXT_NAME);
  if (name == null) {
    name=context.getServletContextName();
  }
  if (name == null && locn == null) {
    context.log("String_Node_Str");
    return;
  }
  context.setAttribute(LOG4J_CONTEXT_ATTRIBUTE,Configurator.initialize(name,getClassLoader(context),locn));
}
Program: 90823
Project: 90823
Buggy source:
public void contextDestroyed(ServletContextEvent event){
  LoggerContext ctx=(LoggerContext)event.getServletContext().getAttribute(LOG4J_CONTEXT_ATTRIBUTE);
  Configurator.shutdown(ctx);
}

Fixed version (ground truth):
/** 
 * Shutdown logging for the web application.
 * @param event The ServletContextEvent.
 */
public void contextDestroyed(ServletContextEvent event){
  LoggerContext ctx=(LoggerContext)event.getServletContext().getAttribute(LOG4J_CONTEXT_ATTRIBUTE);
  Configurator.shutdown(ctx);
}
Program: 90824
Project: 90824
Buggy source:
/** 
 * Creates the StatusConsoleListener using the supplied Level.
 * @param level The Level of status messages that should appear on the console.
 */
public StatusConsoleListener(Level level,PrintStream stream){
  this.level=level;
  this.stream=stream;
}

Fixed version (ground truth):
/** 
 * Creates the StatusConsoleListener using the supplied Level.
 * @param level The Level of status messages that should appear on the console.
 * @param stream The PrintStream to write to.
 */
public StatusConsoleListener(Level level,PrintStream stream){
  this.level=level;
  this.stream=stream;
}
Program: 90825
Project: 90825
Buggy source:
/** 
 * Returns a String representation of this instance in the form   {@code "name:level[ in context_name]"}.
 */
@Override public String toString(){
  final String nameLevel="String_Node_Str" + name + "String_Node_Str"+ getLevel();
  if (context == null) {
    return nameLevel;
  }
  final String contextName=context.getName();
  return contextName == null ? nameLevel : nameLevel + "String_Node_Str" + contextName;
}

Fixed version (ground truth):
/** 
 * Returns a String representation of this instance in the form   {@code "name:level[ in context_name]"}.
 * @return A String describing this Logger instance.
 */
@Override public String toString(){
  final String nameLevel="String_Node_Str" + name + "String_Node_Str"+ getLevel();
  if (context == null) {
    return nameLevel;
  }
  final String contextName=context.getName();
  return contextName == null ? nameLevel : nameLevel + "String_Node_Str" + contextName;
}
Program: 90826
Project: 90826
Buggy source:
/** 
 * Log a message with the specific Marker at the ERROR level.
 * @param marker the marker data specific to this log statement
 * @param msg    the message string to be logged
 * @param t      A Throwable or null.
 */
public void error(Marker marker,Message msg,Throwable t){
  if (isEnabled(Level.TRACE,marker,msg,t)) {
    log(marker,FQCN,Level.TRACE,msg,t);
  }
}

Fixed version (ground truth):
/** 
 * Log a message with the specific Marker at the ERROR level.
 * @param marker the marker data specific to this log statement
 * @param msg    the message string to be logged
 * @param t      A Throwable or null.
 */
public void error(Marker marker,Message msg,Throwable t){
  if (isEnabled(Level.ERROR,marker,msg,t)) {
    log(marker,FQCN,Level.ERROR,msg,t);
  }
}
Program: 90827
Project: 90827
Buggy source:
private static OutputStreamManager getManager(Target target){
  String type=target.name();
  OutputStream os=target == Target.SYSTEM_OUT ? System.out : System.err;
  OutputStreamManager manager=OutputStreamManager.getManager(target.name(),factory,new FactoryData(os,type));
  return manager;
}

Fixed version (ground truth):
private static OutputStreamManager getManager(Target target){
  String type=target.name();
  OutputStream os=target == Target.SYSTEM_OUT ? System.out : System.err;
  OutputStreamManager manager=OutputStreamManager.getManager(target.name(),new FactoryData(os,type),factory);
  return manager;
}
Program: 90828
Project: 90828
Buggy source:
/** 
 * Return the FileManager.
 * @param fileName The name of the file to manage.
 * @param append true if the file should be appended to, false if it should be overwritten.
 * @param locking true if the file should be locked while writing, false otherwise.
 * @param bufferedIO true if the contents should be buffered as they are written.
 * @return A FileManager for the File.
 */
public static FileManager getFileManager(String fileName,boolean append,boolean locking,boolean bufferedIO){
  if (locking && bufferedIO) {
    locking=false;
  }
  return (FileManager)getManager(fileName,factory,new FactoryData(append,locking,bufferedIO));
}

Fixed version (ground truth):
/** 
 * Return the FileManager.
 * @param fileName The name of the file to manage.
 * @param append true if the file should be appended to, false if it should be overwritten.
 * @param locking true if the file should be locked while writing, false otherwise.
 * @param bufferedIO true if the contents should be buffered as they are written.
 * @return A FileManager for the File.
 */
public static FileManager getFileManager(String fileName,boolean append,boolean locking,boolean bufferedIO){
  if (locking && bufferedIO) {
    locking=false;
  }
  return (FileManager)getManager(fileName,new FactoryData(append,locking,bufferedIO),factory);
}
Program: 90829
Project: 90829
Buggy source:
/** 
 * Create a Manager.
 * @param name The name of the stream to manage.
 * @param factory The factory to use to create the Manager.
 * @param data The data to pass to the Manager.
 * @return An OutputStreamManager.
 */
public static OutputStreamManager getManager(String name,ManagerFactory<OutputStreamManager,Object> factory,Object data){
  return AbstractManager.getManager(name,factory,data);
}

Fixed version (ground truth):
/** 
 * Create a Manager.
 * @param name The name of the stream to manage.
 * @param data The data to pass to the Manager.
 * @param factory The factory to use to create the Manager.
 * @return An OutputStreamManager.
 */
public static OutputStreamManager getManager(String name,Object data,ManagerFactory<OutputStreamManager,Object> factory){
  return AbstractManager.getManager(name,factory,data);
}
Program: 90830
Project: 90830
Buggy source:
/** 
 * Return a RollingFileManager.
 * @param fileName The file name.
 * @param pattern The pattern for rolling file.
 * @param append true if the file should be appended to.
 * @param bufferedIO true if data should be buffered.
 * @return A RollingFileManager.
 */
public static RollingFileManager getFileManager(String fileName,String pattern,boolean append,boolean bufferedIO){
  return (RollingFileManager)getManager(fileName,factory,new FactoryData(pattern,append,bufferedIO));
}

Fixed version (ground truth):
/** 
 * Return a RollingFileManager.
 * @param fileName The file name.
 * @param pattern The pattern for rolling file.
 * @param append true if the file should be appended to.
 * @param bufferedIO true if data should be buffered.
 * @return A RollingFileManager.
 */
public static RollingFileManager getFileManager(String fileName,String pattern,boolean append,boolean bufferedIO){
  return (RollingFileManager)getManager(fileName,new FactoryData(pattern,append,bufferedIO),factory);
}
Program: 90831
Project: 90831
Buggy source:
private static void versionCheck(){
  Method[] methods=Throwable.class.getMethods();
  for (  Method method : methods) {
    if (method.getName().equals("String_Node_Str")) {
      getSuppressed=method;
    }
  }
}

Fixed version (ground truth):
private static void versionCheck(){
  Method[] methods=Throwable.class.getMethods();
  for (  Method method : methods) {
    if (method.getName().equals("String_Node_Str")) {
      getSuppressed=method;
    }
 else     if (method.getName().equals("String_Node_Str")) {
      addSuppressed=method;
    }
  }
}
Program: 90832
Project: 90832
Buggy source:
/** 
 * Constructs the wrapper for a Throwable that is referenced as the cause by another Throwable.
 * @param parent The Throwable referencing this Throwable.
 * @param stack The Class stack.
 * @param map The cache containing the packaging data.
 * @param cause The Throwable to wrap.
 */
private ThrowableProxy(Throwable parent,Stack<Class> stack,Map<String,CacheEntry> map,Throwable cause){
  this.throwable=cause;
  callerPackageData=resolvePackageData(stack,map,parent.getStackTrace(),cause.getStackTrace());
  this.cause=(throwable.getCause() == null) ? null : new ThrowableProxy(parent,stack,map,throwable.getCause());
  suppressed=getSuppressed(throwable);
}

Fixed version (ground truth):
/** 
 * Constructs the wrapper for a Throwable that is referenced as the cause by another Throwable.
 * @param parent The Throwable referencing this Throwable.
 * @param stack The Class stack.
 * @param map The cache containing the packaging data.
 * @param cause The Throwable to wrap.
 */
private ThrowableProxy(Throwable parent,Stack<Class> stack,Map<String,CacheEntry> map,Throwable cause){
  this.throwable=cause;
  callerPackageData=resolvePackageData(stack,map,parent.getStackTrace(),cause.getStackTrace());
  this.cause=(throwable.getCause() == null) ? null : new ThrowableProxy(parent,stack,map,throwable.getCause());
  setSuppressed(throwable);
}
Program: 90833
Project: 90833
Buggy source:
/** 
 * Format the suppressed Throwables.
 * @return The formatted suppressed Throwables.
 */
public String getSuppressedStackTrace(){
  if (suppressed == null || suppressed.length == 0) {
    return "String_Node_Str";
  }
  StringBuilder sb=new StringBuilder("String_Node_Str");
  for (  ThrowableProxy proxy : suppressed) {
    sb.append(proxy.getExtendedStackTrace());
  }
  return sb.toString();
}

Fixed version (ground truth):
/** 
 * Format the suppressed Throwables.
 * @return The formatted suppressed Throwables.
 */
public String getSuppressedStackTrace(){
  ThrowableProxy[] suppressed=getSuppressedProxies();
  if (suppressed == null || suppressed.length == 0) {
    return "String_Node_Str";
  }
  StringBuilder sb=new StringBuilder("String_Node_Str");
  for (  ThrowableProxy proxy : suppressed) {
    sb.append(proxy.getExtendedStackTrace());
  }
  return sb.toString();
}
Program: 90834
Project: 90834
Buggy source:
/** 
 * Obtain a SocketManager.
 * @param host The host to connect to.
 * @param port The port on the host.
 * @return A DatagramSocketManager.
 */
public static DatagramSocketManager getSocketManager(String host,int port){
  if (host == null || host.length() == 0) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (port <= 0) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  return (DatagramSocketManager)getManager("String_Node_Str" + host + "String_Node_Str"+ port,factory,new FactoryData(host,port));
}

Fixed version (ground truth):
/** 
 * Obtain a SocketManager.
 * @param host The host to connect to.
 * @param port The port on the host.
 * @return A DatagramSocketManager.
 */
public static DatagramSocketManager getSocketManager(String host,int port){
  if (host == null || host.length() == 0) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (port <= 0) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  return (DatagramSocketManager)getManager("String_Node_Str" + host + "String_Node_Str"+ port,new FactoryData(host,port),factory);
}
Program: 90835
Project: 90835
Buggy source:
/** 
 * Obtain a TCPSocketManager.
 * @param host The host to connect to.
 * @param port The port on the host.
 * @param delay The interval to pause between retries.
 * @return A TCPSocketManager.
 */
public static TCPSocketManager getSocketManager(String host,int port,int delay){
  if (host == null || host.length() == 0) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (port <= 0) {
    port=DEFAULT_PORT;
  }
  if (delay == 0) {
    delay=DEFAULT_RECONNECTION_DELAY;
  }
  return (TCPSocketManager)getManager("String_Node_Str" + host + "String_Node_Str"+ port,factory,new FactoryData(host,port,delay));
}

Fixed version (ground truth):
/** 
 * Obtain a TCPSocketManager.
 * @param host The host to connect to.
 * @param port The port on the host.
 * @param delay The interval to pause between retries.
 * @return A TCPSocketManager.
 */
public static TCPSocketManager getSocketManager(String host,int port,int delay){
  if (host == null || host.length() == 0) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (port <= 0) {
    port=DEFAULT_PORT;
  }
  if (delay == 0) {
    delay=DEFAULT_RECONNECTION_DELAY;
  }
  return (TCPSocketManager)getManager("String_Node_Str" + host + "String_Node_Str"+ port,new FactoryData(host,port,delay),factory);
}
Program: 90837
Project: 90837
Buggy source:
/** 
 * Log an exception or error to be thrown. This may be coded as <br /> throw logger.throwing(debug, myException);
 * @param level The logging Level.
 * @param t The Throwable.
 * @return the Throwable.
 */
<T extends Throwable>T throwing(Level level,T t);

Fixed version (ground truth):
/** 
 * Log an exception or error to be thrown. This may be coded as <br /> throw logger.throwing(debug, myException);
 * @param < T > the Throwable type.
 * @param level The logging Level.
 * @param t The Throwable.
 * @return the Throwable.
 */
<T extends Throwable>T throwing(Level level,T t);
Program: 90838
Project: 90838
Buggy source:
/** 
 * Log exiting from a method with the result. This may be coded as <br /> return logger.exit(myResult);
 * @param result The result being returned from the method call.
 * @return the result.
 */
<R>R exit(R result);

Fixed version (ground truth):
/** 
 * Log exiting from a method with the result. This may be coded as <br /> return logger.exit(myResult);
 * @param < R > The type of the parameter and object being returned.
 * @param result The result being returned from the method call.
 * @return the result.
 */
<R>R exit(R result);
Program: 90839
Project: 90839
Buggy source:
/** 
 * Format the message according the the specified format.
 * @param formats An array of Strings that provide extra information about how to format the message.StructuredDataMessage accepts only a format of "FULL" which will cause the event type to be prepended and the event message to be appended. Specifying any other value will cause only the StructuredData to be included. The default is "FULL".
 * @return
 */
@Override public String getFormattedMessage(String[] formats){
  if (formats != null && formats.length > 0) {
    for (    String format : formats) {
      if (format.equalsIgnoreCase(FULL)) {
        return asString(FULL,null);
      }
    }
    return asString(null,null);
  }
 else {
    return asString(FULL,null);
  }
}

Fixed version (ground truth):
/** 
 * Format the message according the the specified format.
 * @param formats An array of Strings that provide extra information about how to format the message.StructuredDataMessage accepts only a format of "FULL" which will cause the event type to be prepended and the event message to be appended. Specifying any other value will cause only the StructuredData to be included. The default is "FULL".
 * @return the formatted message.
 */
@Override public String getFormattedMessage(String[] formats){
  if (formats != null && formats.length > 0) {
    for (    String format : formats) {
      if (format.equalsIgnoreCase(FULL)) {
        return asString(FULL,null);
      }
    }
    return asString(null,null);
  }
 else {
    return asString(FULL,null);
  }
}
Program: 90840
Project: 90840
Buggy source:
/** 
 * Log an exception or error to be thrown.
 * @param level The logging Level.
 * @param t     The Throwable.
 * @return the Throwable.
 */
public <T extends Throwable>T throwing(Level level,T t){
  if (isEnabled(level,THROWING_MARKER,(Object)null,null)) {
    log(THROWING_MARKER,FQCN,level,new SimpleMessage("String_Node_Str"),t);
  }
  return t;
}

Fixed version (ground truth):
/** 
 * Log an exception or error to be thrown.
 * @param < T > the type of the Throwable.
 * @param level The logging Level.
 * @param t     The Throwable.
 * @return the Throwable.
 */
public <T extends Throwable>T throwing(Level level,T t){
  if (isEnabled(level,THROWING_MARKER,(Object)null,null)) {
    log(THROWING_MARKER,FQCN,level,new SimpleMessage("String_Node_Str"),t);
  }
  return t;
}
Program: 90841
Project: 90841
Buggy source:
/** 
 * Log exiting from a method with the result.
 * @param result The result being returned from the method call.
 * @return the Throwable.
 */
public <R>R exit(R result){
  if (isEnabled(Level.TRACE,EXIT_MARKER,(Object)null,null)) {
    log(EXIT_MARKER,FQCN,Level.TRACE,exitMsg(result),null);
  }
  return result;
}

Fixed version (ground truth):
/** 
 * Log exiting from a method with the result.
 * @param < R > The type of the parameter and object being returned.
 * @param result The result being returned from the method call.
 * @return the Throwable.
 */
public <R>R exit(R result){
  if (isEnabled(Level.TRACE,EXIT_MARKER,(Object)null,null)) {
    log(EXIT_MARKER,FQCN,Level.TRACE,exitMsg(result),null);
  }
  return result;
}
Program: 90842
Project: 90842
Buggy source:
@Test public void testFull(){
  ExtendedThrowablePatternConverter converter=ExtendedThrowablePatternConverter.newInstance(null);
  Throwable cause=new NullPointerException("String_Node_Str");
  Throwable parent=new IllegalArgumentException("String_Node_Str",cause);
  LogEvent event=new Log4jLogEvent("String_Node_Str",null,this.getClass().getName(),Level.DEBUG,new SimpleMessage("String_Node_Str"),parent);
  StringBuilder sb=new StringBuilder();
  converter.format(event,sb);
  StringWriter sw=new StringWriter();
  PrintWriter pw=new PrintWriter(sw);
  parent.printStackTrace(pw);
  String result=sb.toString();
  result=result.replaceAll("String_Node_Str","String_Node_Str");
  assertEquals(sw.toString(),result);
}

Fixed version (ground truth):
@Test public void testFull(){
  ExtendedThrowablePatternConverter converter=ExtendedThrowablePatternConverter.newInstance(null);
  Throwable cause=new NullPointerException("String_Node_Str");
  Throwable parent=new IllegalArgumentException("String_Node_Str",cause);
  LogEvent event=new Log4jLogEvent("String_Node_Str",null,this.getClass().getName(),Level.DEBUG,new SimpleMessage("String_Node_Str"),parent);
  StringBuilder sb=new StringBuilder();
  converter.format(event,sb);
  StringWriter sw=new StringWriter();
  PrintWriter pw=new PrintWriter(sw);
  parent.printStackTrace(pw);
  String result=sb.toString();
  result=result.replaceAll("String_Node_Str","String_Node_Str");
  String expected=sw.toString().replaceAll("String_Node_Str","String_Node_Str");
  assertEquals(expected,result);
}
Program: 90843
Project: 90843
Buggy source:
@Test public void testReplacement(){
  ThreadContext.put("String_Node_Str","String_Node_Str");
  LogEvent event=new Log4jLogEvent(RegexReplacementConverterTest.class.getName(),null,null,Level.DEBUG,new SimpleMessage("String_Node_Str"),null);
  StringBuilder sb=new StringBuilder();
  LoggerContext ctx=(LoggerContext)LogManager.getContext();
  String[] options=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"};
  RegexReplacementConverter converter=RegexReplacementConverter.newInstance(ctx.getConfiguration(),options);
  converter.format(event,sb);
  assertEquals("String_Node_Str",sb.toString());
}

Fixed version (ground truth):
@Test public void testReplacement(){
  ThreadContext.put("String_Node_Str","String_Node_Str");
  LogEvent event=new Log4jLogEvent(RegexReplacementConverterTest.class.getName(),null,null,Level.DEBUG,new SimpleMessage("String_Node_Str"),null);
  StringBuilder sb=new StringBuilder();
  LoggerContext ctx=(LoggerContext)LogManager.getContext();
  String[] options=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"};
  RegexReplacementConverter converter=RegexReplacementConverter.newInstance(ctx.getConfiguration(),options);
  converter.format(event,sb);
  assertEquals("String_Node_Str" + LINE_SEP,sb.toString());
}
Program: 90844
Project: 90844
Buggy source:
@Test public void testReplacement(){
  logger.error(this.getClass().getName());
  List<String> msgs=app.getMessages();
  assertNotNull(msgs);
  assertTrue("String_Node_Str" + msgs.size(),msgs.size() == 1);
  assertTrue("String_Node_Str",msgs.get(0).endsWith("String_Node_Str"));
  app.clear();
  ThreadContext.put("String_Node_Str","String_Node_Str");
  logger.error("String_Node_Str");
  msgs=app.getMessages();
  assertNotNull(msgs);
  assertTrue("String_Node_Str" + msgs.size(),msgs.size() == 1);
  assertEquals("String_Node_Str",msgs.get(0));
  app.clear();
}

Fixed version (ground truth):
@Test public void testReplacement(){
  logger.error(this.getClass().getName());
  List<String> msgs=app.getMessages();
  assertNotNull(msgs);
  assertTrue("String_Node_Str" + msgs.size(),msgs.size() == 1);
  assertTrue("String_Node_Str" + EXPECTED + "String_Node_Str"+ msgs.get(0),msgs.get(0).endsWith(EXPECTED));
  app.clear();
  ThreadContext.put("String_Node_Str","String_Node_Str");
  logger.error("String_Node_Str");
  msgs=app.getMessages();
  assertNotNull(msgs);
  assertTrue("String_Node_Str" + msgs.size(),msgs.size() == 1);
  assertEquals("String_Node_Str" + LINE_SEP,msgs.get(0));
  app.clear();
}
Program: 90845
Project: 90845
Buggy source:
@Test public void testConverter(){
  logger2.error(this.getClass().getName());
  List<String> msgs=app2.getMessages();
  assertNotNull(msgs);
  assertTrue("String_Node_Str" + msgs.size(),msgs.size() == 1);
  assertTrue("String_Node_Str",msgs.get(0).endsWith("String_Node_Str"));
  app2.clear();
}

Fixed version (ground truth):
@Test public void testConverter(){
  logger2.error(this.getClass().getName());
  List<String> msgs=app2.getMessages();
  assertNotNull(msgs);
  assertTrue("String_Node_Str" + msgs.size(),msgs.size() == 1);
  assertTrue("String_Node_Str" + EXPECTED + "String_Node_Str"+ msgs.get(0),msgs.get(0).endsWith(EXPECTED));
  app2.clear();
}
Program: 90846
Project: 90846
Buggy source:
private void write(byte[] bytes){
  if (raw) {
    data.add(bytes);
    return;
  }
  String str=new String(bytes);
  if (newLine) {
    int index=0;
    while (index < str.length()) {
      int end=str.indexOf(LINE_SEP,index);
      if (index == end) {
        if (!messages.get(messages.size() - LINE_SEP.length()).equals("String_Node_Str")) {
          messages.add("String_Node_Str");
        }
      }
 else       if (end >= 0) {
        messages.add(str.substring(index,end));
      }
 else {
        messages.add(str.substring(index));
        break;
      }
      index=end + LINE_SEP.length();
    }
  }
 else {
    messages.add(str);
  }
}

Fixed version (ground truth):
private void write(byte[] bytes){
  if (raw) {
    data.add(bytes);
    return;
  }
  String str=new String(bytes);
  if (newLine) {
    int index=0;
    while (index < str.length()) {
      int end;
      int wend=str.indexOf(WINDOWS_LINE_SEP,index);
      int lend=str.indexOf("String_Node_Str",index);
      int length;
      if (wend >= 0 && wend < lend) {
        end=wend;
        length=2;
      }
 else {
        end=lend;
        length=1;
      }
      if (index == end) {
        if (!messages.get(messages.size() - length).equals("String_Node_Str")) {
          messages.add("String_Node_Str");
        }
      }
 else       if (end >= 0) {
        messages.add(str.substring(index,end));
      }
 else {
        messages.add(str.substring(index));
        break;
      }
      index=end + length;
    }
  }
 else {
    messages.add(str);
  }
}
Program: 90847
Project: 90847
Buggy source:
/** 
 * Log events and specify the logging level.
 * @param msg The event StructuredDataMessage.
 * @param level The logging Level.
 */
public static void logEvent(StructuredDataMessage msg,Level level){
  logger.log(marker,FQCN,level,msg,null);
}

Fixed version (ground truth):
/** 
 * Log events and specify the logging level.
 * @param msg The event StructuredDataMessage.
 * @param level The logging Level.
 */
public static void logEvent(StructuredDataMessage msg,Level level){
  logger.log(EVENT_MARKER,FQCN,level,msg,null);
}
Program: 90848
Project: 90848
Buggy source:
public void printThreadInfo(StringBuilder sb){
  sb.append("String_Node_Str").append(name).append("String_Node_Str");
  if (isDaemon) {
    sb.append("String_Node_Str");
  }
  sb.append("String_Node_Str").append(priority).append("String_Node_Str").append(id).append("String_Node_Str");
  if (threadGroupName != null) {
    sb.append("String_Node_Str").append(threadGroupName).append("String_Node_Str");
  }
  sb.append("String_Node_Str");
  sb.append("String_Node_Str").append(state.name()).append("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Print the thread information.
 * @param sb The StringBuilder.
 */
public void printThreadInfo(StringBuilder sb){
  sb.append("String_Node_Str").append(name).append("String_Node_Str");
  if (isDaemon) {
    sb.append("String_Node_Str");
  }
  sb.append("String_Node_Str").append(priority).append("String_Node_Str").append(id).append("String_Node_Str");
  if (threadGroupName != null) {
    sb.append("String_Node_Str").append(threadGroupName).append("String_Node_Str");
  }
  sb.append("String_Node_Str");
  sb.append("String_Node_Str").append(state.name()).append("String_Node_Str");
}
Program: 90849
Project: 90849
Buggy source:
@Override public int hashCode(){
  int result=(int)(id ^ (id >>> 32));
  result=31 * result + (name != null ? name.hashCode() : 0);
  return result;
}

Fixed version (ground truth):
@Override public int hashCode(){
  int result=(int)(id ^ (id >>> HASH_SHIFT));
  result=HASH_MULTIPLIER * result + (name != null ? name.hashCode() : 0);
  return result;
}
Program: 90850
Project: 90850
Buggy source:
public void printStack(StringBuilder sb,StackTraceElement[] trace){
  for (  StackTraceElement element : trace) {
    sb.append("String_Node_Str").append(element).append("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * Format the StackTraceElements.
 * @param sb The StringBuilder.
 * @param trace The stack trace element array to format.
 */
public void printStack(StringBuilder sb,StackTraceElement[] trace){
  for (  StackTraceElement element : trace) {
    sb.append("String_Node_Str").append(element).append("String_Node_Str");
  }
}
Program: 90851
Project: 90851
Buggy source:
public BasicThreadInformation(Thread thread){
  this.id=thread.getId();
  this.name=thread.getName();
  this.longName=thread.toString();
  this.state=thread.getState();
  this.priority=thread.getPriority();
  this.isAlive=thread.isAlive();
  this.isDaemon=thread.isDaemon();
  ThreadGroup group=thread.getThreadGroup();
  threadGroupName=group == null ? null : group.getName();
}

Fixed version (ground truth):
/** 
 * The Constructor.
 * @param thread The Thread to capture.
 */
public BasicThreadInformation(Thread thread){
  this.id=thread.getId();
  this.name=thread.getName();
  this.longName=thread.toString();
  this.state=thread.getState();
  this.priority=thread.getPriority();
  this.isAlive=thread.isAlive();
  this.isDaemon=thread.isDaemon();
  ThreadGroup group=thread.getThreadGroup();
  threadGroupName=group == null ? null : group.getName();
}
Program: 90852
Project: 90852
Buggy source:
/** 
 * Returns an array with a single element, a Map containing the ThreadInformation as the key and the StackTraceElement array as the value;
 * @return the "parameters" to this Message.
 */
public Object[] getParameters(){
  return null;
}

Fixed version (ground truth):
/** 
 * Returns an array with a single element, a Map containing the ThreadInformation as the key. and the StackTraceElement array as the value;
 * @return the "parameters" to this Message.
 */
public Object[] getParameters(){
  return null;
}
Program: 90853
Project: 90853
Buggy source:
private String computeTimeStampString(long now){
  long last;
synchronized (this) {
    last=lastTimestamp;
    if (now == lastTimestamp) {
      return timestamppStr;
    }
  }
  StringBuilder buf=new StringBuilder();
  Calendar cal=new GregorianCalendar();
  cal.setTimeInMillis(now);
  buf.append(Integer.toString(cal.get(Calendar.YEAR)));
  buf.append("String_Node_Str");
  pad(cal.get(Calendar.MONTH) + 1,TWO_DIGITS,buf);
  buf.append("String_Node_Str");
  pad(cal.get(Calendar.DAY_OF_MONTH),TWO_DIGITS,buf);
  buf.append("String_Node_Str");
  pad(cal.get(Calendar.HOUR_OF_DAY),TWO_DIGITS,buf);
  buf.append("String_Node_Str");
  pad(cal.get(Calendar.MINUTE),TWO_DIGITS,buf);
  buf.append("String_Node_Str");
  pad(cal.get(Calendar.SECOND),TWO_DIGITS,buf);
  int millis=cal.get(Calendar.MILLISECOND);
  if (millis != 0) {
    buf.append("String_Node_Str");
    pad((int)((float)millis / 10F),THREE_DIGITS,buf);
  }
  int tzmin=(cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET)) / MILLIS_PER_MINUTE;
  if (tzmin == 0) {
    buf.append("String_Node_Str");
  }
 else {
    if (tzmin < 0) {
      tzmin=-tzmin;
      buf.append("String_Node_Str");
    }
 else {
      buf.append("String_Node_Str");
    }
    int tzhour=tzmin / MINUTES_PER_HOUR;
    tzmin-=tzhour * MINUTES_PER_HOUR;
    pad(tzhour,TWO_DIGITS,buf);
    buf.append("String_Node_Str");
    pad(tzmin,TWO_DIGITS,buf);
  }
synchronized (this) {
    if (last == lastTimestamp) {
      lastTimestamp=now;
      timestamppStr=buf.toString();
    }
  }
  return buf.toString();
}

Fixed version (ground truth):
private String computeTimeStampString(long now){
  long last;
synchronized (this) {
    last=lastTimestamp;
    if (now == lastTimestamp) {
      return timestamppStr;
    }
  }
  StringBuilder buf=new StringBuilder();
  Calendar cal=new GregorianCalendar();
  cal.setTimeInMillis(now);
  buf.append(Integer.toString(cal.get(Calendar.YEAR)));
  buf.append("String_Node_Str");
  pad(cal.get(Calendar.MONTH) + 1,TWO_DIGITS,buf);
  buf.append("String_Node_Str");
  pad(cal.get(Calendar.DAY_OF_MONTH),TWO_DIGITS,buf);
  buf.append("String_Node_Str");
  pad(cal.get(Calendar.HOUR_OF_DAY),TWO_DIGITS,buf);
  buf.append("String_Node_Str");
  pad(cal.get(Calendar.MINUTE),TWO_DIGITS,buf);
  buf.append("String_Node_Str");
  pad(cal.get(Calendar.SECOND),TWO_DIGITS,buf);
  int millis=cal.get(Calendar.MILLISECOND);
  if (millis != 0) {
    buf.append("String_Node_Str");
    pad(millis,THREE_DIGITS,buf);
  }
  int tzmin=(cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET)) / MILLIS_PER_MINUTE;
  if (tzmin == 0) {
    buf.append("String_Node_Str");
  }
 else {
    if (tzmin < 0) {
      tzmin=-tzmin;
      buf.append("String_Node_Str");
    }
 else {
      buf.append("String_Node_Str");
    }
    int tzhour=tzmin / MINUTES_PER_HOUR;
    tzmin-=tzhour * MINUTES_PER_HOUR;
    pad(tzhour,TWO_DIGITS,buf);
    buf.append("String_Node_Str");
    pad(tzmin,TWO_DIGITS,buf);
  }
synchronized (this) {
    if (last == lastTimestamp) {
      lastTimestamp=now;
      timestamppStr=buf.toString();
    }
  }
  return buf.toString();
}
Program: 90854
Project: 90854
Buggy source:
protected static Object lookup(Context ctx,String name) throws NamingException {
  try {
    return ctx.lookup(name);
  }
 catch (  NameNotFoundException e) {
    LOGGER.error("String_Node_Str" + name + "String_Node_Str");
    throw e;
  }
}

Fixed version (ground truth):
/** 
 * Looks up the name in the context.
 * @param ctx The Context.
 * @param name The name to locate.
 * @return The object to be located.
 * @throws NamingException If an error occurs locating the name.
 */
protected static Object lookup(Context ctx,String name) throws NamingException {
  try {
    return ctx.lookup(name);
  }
 catch (  NameNotFoundException e) {
    LOGGER.error("String_Node_Str" + name + "String_Node_Str");
    throw e;
  }
}
Program: 90855
Project: 90855
Buggy source:
protected static Properties getEnvironment(String factoryName,String providerURL,String urlPkgPrefixes,String securityPrincipalName,String securityCredentials){
  Properties props=new Properties();
  if (factoryName != null) {
    props.put(Context.INITIAL_CONTEXT_FACTORY,factoryName);
    if (providerURL != null) {
      props.put(Context.PROVIDER_URL,providerURL);
    }
 else {
      LOGGER.warn("String_Node_Str" + "String_Node_Str");
    }
    if (urlPkgPrefixes != null) {
      props.put(Context.URL_PKG_PREFIXES,urlPkgPrefixes);
    }
    if (securityPrincipalName != null) {
      props.put(Context.SECURITY_PRINCIPAL,securityPrincipalName);
      if (securityCredentials != null) {
        props.put(Context.SECURITY_CREDENTIALS,securityCredentials);
      }
 else {
        LOGGER.warn("String_Node_Str" + "String_Node_Str");
      }
    }
    return props;
  }
  return null;
}

Fixed version (ground truth):
/** 
 * Sets up the properties to pass to the InitialContext.
 * @param factoryName The fully qualified class name of the InitialContextFactory.
 * @param providerURL The URL of the provider to use.
 * @param urlPkgPrefixes A colon-separated list of package prefixes for the class name of the factory class thatwill create a URL context factory
 * @param securityPrincipalName The name of the identity of the Principal.
 * @param securityCredentials The security credentials of the Principal.
 * @return The Properties.
 */
protected static Properties getEnvironment(String factoryName,String providerURL,String urlPkgPrefixes,String securityPrincipalName,String securityCredentials){
  Properties props=new Properties();
  if (factoryName != null) {
    props.put(Context.INITIAL_CONTEXT_FACTORY,factoryName);
    if (providerURL != null) {
      props.put(Context.PROVIDER_URL,providerURL);
    }
 else {
      LOGGER.warn("String_Node_Str" + "String_Node_Str");
    }
    if (urlPkgPrefixes != null) {
      props.put(Context.URL_PKG_PREFIXES,urlPkgPrefixes);
    }
    if (securityPrincipalName != null) {
      props.put(Context.SECURITY_PRINCIPAL,securityPrincipalName);
      if (securityCredentials != null) {
        props.put(Context.SECURITY_CREDENTIALS,securityCredentials);
      }
 else {
        LOGGER.warn("String_Node_Str" + "String_Node_Str");
      }
    }
    return props;
  }
  return null;
}
Program: 90856
Project: 90856
Buggy source:
public AbstractJMSManager(String name){
  super(name);
}

Fixed version (ground truth):
/** 
 * The Constructor.
 * @param name The name of the Appender.
 */
public AbstractJMSManager(String name){
  super(name);
}