Program: 44135
Project: 44135
Buggy source:
private void configureProperties(final Properties properties,final Object object,final String prefix) throws IOException {
  final List<String> propertyNames=getStringCsvList(properties,getKey(prefix,"String_Node_Str"));
  final Class<? extends Object> objClass=object.getClass();
  final Iterator<String> it=propertyNames.iterator();
  if (!it.hasNext()) {
    return;
  }
 else {
    final Map<String,Method> setters=new HashMap<String,Method>();
    for (    Method method : objClass.getMethods()) {
      final int modifiers=method.getModifiers();
      if (Modifier.isStatic(modifiers) || !Modifier.isPublic(modifiers)) {
        continue;
      }
      final String name=method.getName();
      if (!name.startsWith("String_Node_Str")) {
        continue;
      }
      final Class<?>[] parameterTypes=method.getParameterTypes();
      if (parameterTypes.length != 1) {
        continue;
      }
      if (method.getReturnType() != void.class) {
        continue;
      }
      setters.put(name.substring(3,4).toLowerCase() + name.substring(4),method);
    }
    do {
      String propertyName=it.next();
      final String propValue=getStringProperty(properties,getKey(prefix,propertyName));
      if (propValue != null) {
        final Object argument;
        final Method method=setters.get(propertyName);
        if (method == null) {
          throw new IllegalArgumentException("String_Node_Str" + propertyName + "String_Node_Str"+ objClass);
        }
        argument=getArgument(properties,method,propertyName,propValue);
        try {
          method.invoke(object,argument);
        }
 catch (        Exception e) {
          throw new IllegalArgumentException("String_Node_Str" + propertyName + "String_Node_Str"+ objClass,e);
        }
      }
    }
 while (it.hasNext());
  }
}

Fixed version (ground truth):
private void configureProperties(final Properties properties,final Object object,final String prefix) throws IOException {
  final List<String> propertyNames=getStringCsvList(properties,getKey(prefix,"String_Node_Str"));
  final Class<? extends Object> objClass=object.getClass();
  final Iterator<String> it=propertyNames.iterator();
  if (!it.hasNext()) {
    return;
  }
 else {
    final Map<String,Method> setters=new HashMap<String,Method>();
    for (    Method method : objClass.getMethods()) {
      final int modifiers=method.getModifiers();
      if (Modifier.isStatic(modifiers) || !Modifier.isPublic(modifiers)) {
        continue;
      }
      final String name=method.getName();
      if (!name.startsWith("String_Node_Str")) {
        continue;
      }
      final Class<?>[] parameterTypes=method.getParameterTypes();
      if (parameterTypes.length != 1) {
        continue;
      }
      if (method.getReturnType() != void.class) {
        continue;
      }
      setters.put(name.substring(3,4).toLowerCase() + name.substring(4),method);
    }
    do {
      String propertyName=it.next();
      final String propValue=getStringProperty(properties,getKey(prefix,propertyName));
      if (propValue != null) {
        final Object argument;
        final Method method=setters.get(propertyName);
        if (method == null) {
          if (reportErrors) {
            System.err.printf("String_Node_Str",propertyName,objClass);
          }
          continue;
        }
        try {
          argument=getArgument(properties,method,propertyName,propValue);
        }
 catch (        IllegalArgumentException e) {
          System.err.printf("String_Node_Str",object,e.getMessage());
          continue;
        }
        try {
          method.invoke(object,argument);
        }
 catch (        Exception e) {
          if (reportErrors) {
            System.err.printf("String_Node_Str",propertyName,objClass);
            e.printStackTrace(System.err);
          }
        }
      }
    }
 while (it.hasNext());
  }
}