Program: 163404
Project: 163404
Buggy source:
public static void applyFormatSettings(Object formatter,String[] propertiesAndValues){
  if (propertiesAndValues.length == 0) {
    return;
  }
  Map<String,String> values=new HashMap<String,String>();
  for (  String setting : propertiesAndValues) {
    if (setting == null) {
      throw new DataProcessingException("String_Node_Str" + Arrays.toString(propertiesAndValues));
    }
    String[] pair=setting.split("String_Node_Str");
    if (pair.length != 2) {
      throw new DataProcessingException("String_Node_Str" + setting + "String_Node_Str"+ Arrays.toString(propertiesAndValues));
    }
    values.put(pair[0],pair[1]);
  }
  try {
    BeanInfo beanInfo=Introspector.getBeanInfo(formatter.getClass(),Object.class);
    for (    PropertyDescriptor property : beanInfo.getPropertyDescriptors()) {
      String name=property.getName();
      String value=values.remove(name);
      if (value != null) {
        invokeSetter(formatter,property,value);
      }
      if ("String_Node_Str".equals(property.getName())) {
        DecimalFormatSymbols modifiedDecimalSymbols=new DecimalFormatSymbols();
        boolean modified=false;
        try {
          BeanInfo decimalBeanInfo=Introspector.getBeanInfo(modifiedDecimalSymbols.getClass(),Object.class);
          for (          PropertyDescriptor prop : decimalBeanInfo.getPropertyDescriptors()) {
            value=values.remove(prop.getName());
            if (value != null) {
              invokeSetter(modifiedDecimalSymbols,prop,value);
              modified=true;
            }
          }
          if (modified) {
            property.getWriteMethod().invoke(formatter,modifiedDecimalSymbols);
          }
        }
 catch (        Throwable ex) {
          throw new DataProcessingException("String_Node_Str" + formatter.getClass() + '.',ex);
        }
      }
    }
  }
 catch (  IntrospectionException e) {
  }
  if (!values.isEmpty()) {
    throw new DataProcessingException("String_Node_Str" + formatter.getClass() + "String_Node_Str"+ values);
  }
}

Fixed version (ground truth):
public static void applyFormatSettings(Object formatter,String[] propertiesAndValues){
  if (propertiesAndValues.length == 0) {
    return;
  }
  Map<String,String> values=new HashMap<String,String>();
  for (  String setting : propertiesAndValues) {
    if (setting == null) {
      throw new DataProcessingException("String_Node_Str" + Arrays.toString(propertiesAndValues));
    }
    String[] pair=setting.split("String_Node_Str");
    if (pair.length != 2) {
      throw new DataProcessingException("String_Node_Str" + setting + "String_Node_Str"+ Arrays.toString(propertiesAndValues));
    }
    values.put(pair[0],pair[1]);
  }
  try {
    for (    PropertyWrapper property : BeanHelper.getPropertyDescriptors(formatter.getClass())) {
      String name=property.getName();
      String value=values.remove(name);
      if (value != null) {
        invokeSetter(formatter,property,value);
      }
      if ("String_Node_Str".equals(property.getName())) {
        DecimalFormatSymbols modifiedDecimalSymbols=new DecimalFormatSymbols();
        boolean modified=false;
        try {
          for (          PropertyWrapper prop : BeanHelper.getPropertyDescriptors(modifiedDecimalSymbols.getClass())) {
            value=values.remove(prop.getName());
            if (value != null) {
              invokeSetter(modifiedDecimalSymbols,prop,value);
              modified=true;
            }
          }
          if (modified) {
            property.getWriteMethod().invoke(formatter,modifiedDecimalSymbols);
          }
        }
 catch (        Throwable ex) {
          throw new DataProcessingException("String_Node_Str" + formatter.getClass() + '.',ex);
        }
      }
    }
  }
 catch (  Exception e) {
  }
  if (!values.isEmpty()) {
    throw new DataProcessingException("String_Node_Str" + formatter.getClass() + "String_Node_Str"+ values);
  }
}