Program: 90504
Project: 90504
Buggy source:
@Override public PropertiesConfiguration build(){
  builder.setStatusLevel(Level.toLevel(rootProperties.getProperty(STATUS_KEY),Level.ERROR)).setShutdownHook(rootProperties.getProperty(SHUTDOWN_HOOK)).setVerbosity(rootProperties.getProperty(VERBOSE)).setPackages(rootProperties.getProperty(PACKAGES)).setConfigurationName(rootProperties.getProperty(CONFIG_NAME)).setMonitorInterval(rootProperties.getProperty(MONITOR_INTERVAL,"String_Node_Str")).setAdvertiser(rootProperties.getProperty(ADVERTISER_KEY));
  final Properties propertyPlaceholders=PropertiesUtil.extractSubset(rootProperties,"String_Node_Str");
  for (  final String key : propertyPlaceholders.stringPropertyNames()) {
    builder.addProperty(key,propertyPlaceholders.getProperty(key));
  }
  final Map<String,Properties> scripts=PropertiesUtil.partitionOnCommonPrefixes(PropertiesUtil.extractSubset(rootProperties,"String_Node_Str"));
  for (  final Map.Entry<String,Properties> entry : scripts.entrySet()) {
    final Properties scriptProps=entry.getValue();
    final String type=(String)scriptProps.remove("String_Node_Str");
    if (type == null) {
      throw new ConfigurationException("String_Node_Str");
    }
    if (type.equalsIgnoreCase("String_Node_Str")) {
      builder.add(createScript(scriptProps));
    }
 else {
      builder.add(createScriptFile(scriptProps));
    }
  }
  final Properties levelProps=PropertiesUtil.extractSubset(rootProperties,"String_Node_Str");
  if (levelProps.size() > 0) {
    for (    final String key : levelProps.stringPropertyNames()) {
      builder.add(builder.newCustomLevel(key,Integer.parseInt(levelProps.getProperty(key))));
    }
  }
  final Map<String,Properties> filters=PropertiesUtil.partitionOnCommonPrefixes(PropertiesUtil.extractSubset(rootProperties,"String_Node_Str"));
  for (  final Map.Entry<String,Properties> entry : filters.entrySet()) {
    builder.add(createFilter(entry.getKey().trim(),entry.getValue()));
  }
  final Map<String,Properties> appenders=PropertiesUtil.partitionOnCommonPrefixes(PropertiesUtil.extractSubset(rootProperties,"String_Node_Str"));
  for (  final Map.Entry<String,Properties> entry : appenders.entrySet()) {
    builder.add(createAppender(entry.getKey().trim(),entry.getValue()));
  }
  final Map<String,Properties> loggers=PropertiesUtil.partitionOnCommonPrefixes(PropertiesUtil.extractSubset(rootProperties,"String_Node_Str"));
  for (  final Map.Entry<String,Properties> entry : loggers.entrySet()) {
    final String name=entry.getKey().trim();
    if (!name.equals(LoggerConfig.ROOT)) {
      builder.add(createLogger(name,entry.getValue()));
    }
  }
  final Properties props=PropertiesUtil.extractSubset(rootProperties,"String_Node_Str");
  if (props.size() > 0) {
    builder.add(createRootLogger(props));
  }
  return builder.build();
}

Fixed version (ground truth):
@Override public PropertiesConfiguration build(){
  Map<String,String> rootProps=new HashMap<>();
  for (  String key : rootProperties.stringPropertyNames()) {
    if (!key.contains("String_Node_Str")) {
      builder.addRootProperty(key,rootProperties.getProperty(key));
    }
  }
  builder.setStatusLevel(Level.toLevel(rootProperties.getProperty(STATUS_KEY),Level.ERROR)).setShutdownHook(rootProperties.getProperty(SHUTDOWN_HOOK)).setVerbosity(rootProperties.getProperty(VERBOSE)).setPackages(rootProperties.getProperty(PACKAGES)).setConfigurationName(rootProperties.getProperty(CONFIG_NAME)).setMonitorInterval(rootProperties.getProperty(MONITOR_INTERVAL,"String_Node_Str")).setAdvertiser(rootProperties.getProperty(ADVERTISER_KEY));
  final Properties propertyPlaceholders=PropertiesUtil.extractSubset(rootProperties,"String_Node_Str");
  for (  final String key : propertyPlaceholders.stringPropertyNames()) {
    builder.addProperty(key,propertyPlaceholders.getProperty(key));
  }
  final Map<String,Properties> scripts=PropertiesUtil.partitionOnCommonPrefixes(PropertiesUtil.extractSubset(rootProperties,"String_Node_Str"));
  for (  final Map.Entry<String,Properties> entry : scripts.entrySet()) {
    final Properties scriptProps=entry.getValue();
    final String type=(String)scriptProps.remove("String_Node_Str");
    if (type == null) {
      throw new ConfigurationException("String_Node_Str");
    }
    if (type.equalsIgnoreCase("String_Node_Str")) {
      builder.add(createScript(scriptProps));
    }
 else {
      builder.add(createScriptFile(scriptProps));
    }
  }
  final Properties levelProps=PropertiesUtil.extractSubset(rootProperties,"String_Node_Str");
  if (levelProps.size() > 0) {
    for (    final String key : levelProps.stringPropertyNames()) {
      builder.add(builder.newCustomLevel(key,Integer.parseInt(levelProps.getProperty(key))));
    }
  }
  final Map<String,Properties> filters=PropertiesUtil.partitionOnCommonPrefixes(PropertiesUtil.extractSubset(rootProperties,"String_Node_Str"));
  for (  final Map.Entry<String,Properties> entry : filters.entrySet()) {
    builder.add(createFilter(entry.getKey().trim(),entry.getValue()));
  }
  final Map<String,Properties> appenders=PropertiesUtil.partitionOnCommonPrefixes(PropertiesUtil.extractSubset(rootProperties,"String_Node_Str"));
  for (  final Map.Entry<String,Properties> entry : appenders.entrySet()) {
    builder.add(createAppender(entry.getKey().trim(),entry.getValue()));
  }
  final Map<String,Properties> loggers=PropertiesUtil.partitionOnCommonPrefixes(PropertiesUtil.extractSubset(rootProperties,"String_Node_Str"));
  for (  final Map.Entry<String,Properties> entry : loggers.entrySet()) {
    final String name=entry.getKey().trim();
    if (!name.equals(LoggerConfig.ROOT)) {
      builder.add(createLogger(name,entry.getValue()));
    }
  }
  final Properties props=PropertiesUtil.extractSubset(rootProperties,"String_Node_Str");
  if (props.size() > 0) {
    builder.add(createRootLogger(props));
  }
  return builder.build(false);
}