Program: 59820
Project: 59820
Buggy source:
/** 
 * Sets the attributes of an object according to the properties provided.
 * @param object Object on which the properties should be set.
 * @param properties Properties that should be set as properties of the object. Key is a name of an object property and value is its value.
 * @throws InvocationTargetException When it was not possible to call the setter on the object.
 * @throws IllegalAccessException When we did not have the correct rights to set any of the properties.
 */
public static void setPropertiesOnObject(final Object object,final Properties properties) throws IllegalAccessException, InvocationTargetException {
  final PropertyUtilsBean propertyUtilsBean=new PropertyUtilsBean();
  propertyUtilsBean.addBeanIntrospector(new FluentPropertyBeanIntrospector());
  final BeanUtilsBean beanUtilsBean=new BeanUtilsBean(new EnumConvertUtilsBean(),propertyUtilsBean);
  if (log.isTraceEnabled()) {
    log.trace(String.format("String_Node_Str",object.getClass().getName()));
  }
  for (  final Map.Entry<Object,Object> entry : properties.entrySet()) {
    if (log.isTraceEnabled()) {
      log.trace("String_Node_Str" + entry.getKey().toString() + "String_Node_Str"+ entry.getValue().toString()+ "String_Node_Str");
    }
    boolean successSet=false;
    if (entry.getValue() instanceof Element) {
      successSet=setElementProperty(object,entry.getKey().toString(),(Element)entry.getValue());
    }
    if (!successSet) {
      beanUtilsBean.setProperty(object,entry.getKey().toString(),entry.getValue());
    }
  }
}

Fixed version (ground truth):
/** 
 * Sets the attributes of an object according to the properties provided.
 * @param object Object on which the properties should be set.
 * @param properties Properties that should be set as properties of the object. Key is a name of an object property and value is its value.
 * @throws InvocationTargetException When it was not possible to call the setter on the object.
 * @throws IllegalAccessException When we did not have the correct rights to set any of the properties.
 */
public static void setPropertiesOnObject(final Object object,final Properties properties) throws IllegalAccessException, InvocationTargetException {
  final PropertyUtilsBean propertyUtilsBean=new PropertyUtilsBean();
  propertyUtilsBean.addBeanIntrospector(new FluentPropertyBeanIntrospector());
  final BeanUtilsBean beanUtilsBean=new BeanUtilsBean(new EnumConvertUtilsBean(),propertyUtilsBean);
  if (log.isTraceEnabled()) {
    log.trace(String.format("String_Node_Str",object.getClass().getName()));
  }
  for (  final Map.Entry<Object,Object> entry : properties.entrySet()) {
    if (log.isTraceEnabled()) {
      log.trace("String_Node_Str" + entry.getKey().toString() + "String_Node_Str"+ entry.getValue().toString()+ "String_Node_Str");
    }
    boolean successSet=false;
    if (entry.getValue() instanceof Element) {
      successSet=setElementProperty(object,entry.getKey().toString(),(Element)entry.getValue());
    }
    if (!successSet) {
      beanUtilsBean.setProperty(object,entry.getKey().toString(),entry.getValue());
      try {
        beanUtilsBean.getProperty(object,entry.getKey().toString());
      }
 catch (      ReflectiveOperationException reo) {
        log.warn(String.format("String_Node_Str" + "String_Node_Str",entry.getKey().toString(),object.getClass().getCanonicalName()));
      }
    }
  }
}