Program: 28868
Project: 28868
Buggy source:
/** 
 * Executes the setter methods in the java bean.
 */
public Object run() throws Exception {
  Iterator it=props.iterator();
  methods=bean.getClass().getMethods();
  while (it.hasNext()) {
    EnvironmentProperty prop=(EnvironmentProperty)it.next();
    String propName=prop.getName();
    Class type=getTypeOf(prop);
    if (type == null) {
      type=Class.forName(prop.getType());
    }
    if (prop.getResolvedValue() != null && prop.getResolvedValue().trim().length() != 0) {
      Method meth=null;
      try {
        meth=getMutatorMethod(propName,type);
        if (meth != null) {
          if (logger.isLoggable(Level.FINER)) {
            logger.log(Level.FINER,"String_Node_Str" + meth + "String_Node_Str"+ bean.getClass().getName()+ "String_Node_Str"+ "String_Node_Str"+ prop.getResolvedValueObject().getClass()+ "String_Node_Str"+ getFilteredPropValue(prop)+ "String_Node_Str");
          }
          meth.invoke(bean,new Object[]{prop.getResolvedValueObject()});
        }
 else {
          logger.log(Level.WARNING,"String_Node_Str",new Object[]{prop.getName(),bean.getClass().getName()});
        }
      }
 catch (      IllegalArgumentException ia) {
        if (logger.isLoggable(Level.FINE)) {
          logger.log(Level.FINE,"String_Node_Str" + prop.getName() + "String_Node_Str"+ getFilteredPropValue(prop),ia + "String_Node_Str" + bean.getClass()+ "String_Node_Str");
        }
        boolean prevBoundsChecking=EnvironmentProperty.isBoundsChecking();
        try {
          EnvironmentProperty.setBoundsChecking(false);
          prop.setType(type.getName());
          if (logger.isLoggable(Level.FINE)) {
            logger.log(Level.FINE,"String_Node_Str" + meth + "String_Node_Str"+ bean.getClass().getName()+ "String_Node_Str"+ prop.getResolvedValueObject().getClass()+ "String_Node_Str"+ getFilteredPropValue(prop)+ "String_Node_Str");
          }
          meth.invoke(bean,new Object[]{prop.getResolvedValueObject()});
        }
 catch (        Exception e) {
          handleException(e,prop,bean);
        }
 finally {
          EnvironmentProperty.setBoundsChecking(prevBoundsChecking);
        }
      }
catch (      Exception ex) {
        handleException(ex,prop,bean);
      }
    }
  }
  return null;
}

Fixed version (ground truth):
/** 
 * Executes the setter methods in the java bean.
 */
public Object run() throws Exception {
  Iterator it=props.iterator();
  methods=bean.getClass().getMethods();
  while (it.hasNext()) {
    EnvironmentProperty prop=(EnvironmentProperty)it.next();
    String propName=prop.getName();
    Class type=getTypeOf(prop);
    if (type == null) {
      type=Class.forName(prop.getType());
    }
    if (prop.getResolvedValue() != null && prop.getResolvedValue().trim().length() != 0) {
      Method meth=getMutatorMethod(propName,type);
      if (meth == null) {
        logger.log(Level.WARNING,"String_Node_Str",new Object[]{prop.getName(),bean.getClass().getName()});
      }
 else {
        try {
          if (logger.isLoggable(Level.FINER)) {
            logger.log(Level.FINER,"String_Node_Str" + meth + "String_Node_Str"+ bean.getClass().getName()+ "String_Node_Str"+ "String_Node_Str"+ prop.getResolvedValueObject().getClass()+ "String_Node_Str"+ getFilteredPropValue(prop)+ "String_Node_Str");
          }
          meth.invoke(bean,new Object[]{prop.getResolvedValueObject()});
        }
 catch (        IllegalArgumentException ia) {
          if (logger.isLoggable(Level.FINE)) {
            logger.log(Level.FINE,"String_Node_Str" + prop.getName() + "String_Node_Str"+ getFilteredPropValue(prop),ia + "String_Node_Str" + bean.getClass()+ "String_Node_Str");
          }
          boolean prevBoundsChecking=EnvironmentProperty.isBoundsChecking();
          try {
            EnvironmentProperty.setBoundsChecking(false);
            prop.setType(type.getName());
            if (logger.isLoggable(Level.FINE)) {
              logger.log(Level.FINE,"String_Node_Str" + meth + "String_Node_Str"+ bean.getClass().getName()+ "String_Node_Str"+ prop.getResolvedValueObject().getClass()+ "String_Node_Str"+ getFilteredPropValue(prop)+ "String_Node_Str");
            }
            meth.invoke(bean,new Object[]{prop.getResolvedValueObject()});
          }
 catch (          Exception e) {
            handleException(e,prop,bean);
          }
 finally {
            EnvironmentProperty.setBoundsChecking(prevBoundsChecking);
          }
        }
catch (        Exception ex) {
          handleException(ex,prop,bean);
        }
      }
    }
  }
  return null;
}