Program: 10573
Project: 10573
Buggy source:
private static void setFieldValue(Field f,Object obj,String type,String[] values) throws IllegalArgumentException, IllegalAccessException {
  String fType=type == null ? f.getType().getSimpleName() : type;
  if ("String_Node_Str".equals(fType) || "String_Node_Str".equals(fType)) {
    f.set(obj,values[0]);
  }
 else   if ("String_Node_Str".equals(fType) || "String_Node_Str".equals(fType)) {
    f.set(obj,values);
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,Integer.parseInt(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,new Integer(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    int[] is=new int[values.length];
    for (int i=0; i < is.length; i++) {
      is[i]=Integer.parseInt(values[i]);
    }
    f.set(obj,is);
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,Short.parseShort(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,new Short(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    short[] ss=new short[values.length];
    for (int i=0; i < ss.length; i++) {
      ss[i]=Short.parseShort(values[i]);
    }
    f.set(obj,ss);
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,Byte.parseByte(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,new Byte(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    byte[] bs=new byte[values.length];
    for (int i=0; i < bs.length; i++) {
      bs[i]=Byte.parseByte(values[i]);
    }
    f.set(obj,bs);
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,Long.parseLong(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,new Long(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    long[] ls=new long[values.length];
    for (int i=0; i < ls.length; i++) {
      ls[i]=Long.parseLong(values[i]);
    }
    f.set(obj,ls);
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,Boolean.parseBoolean(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,new Boolean(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    boolean[] bs=new boolean[values.length];
    for (int i=0; i < bs.length; i++) {
      bs[i]=Boolean.parseBoolean(values[i]);
    }
    f.set(obj,bs);
  }
 else   if ("String_Node_Str".equals(fType)) {
    DatatypeConverter.setDatatypeConverter(DatatypeConverterImpl.theInstance);
    Calendar cal=DatatypeConverter.parseTime(values[0]);
    f.set(obj,cal);
  }
 else {
    System.out.println("String_Node_Str" + f.getType().getCanonicalName() + type+ fType);
    throw new RuntimeException("String_Node_Str" + f.getType().getCanonicalName() + f.getName());
  }
}

Fixed version (ground truth):
private static void setFieldValue(Field f,Object obj,String type,String[] values) throws IllegalArgumentException, IllegalAccessException {
  String fType=type == null ? f.getType().getSimpleName() : type;
  if ("String_Node_Str".equals(fType) || "String_Node_Str".equals(fType)) {
    f.set(obj,values[0]);
  }
 else   if ("String_Node_Str".equals(fType) || "String_Node_Str".equals(fType)) {
    f.set(obj,values);
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,Integer.parseInt(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,new Integer(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    int[] is=new int[values.length];
    for (int i=0; i < is.length; i++) {
      is[i]=Integer.parseInt(values[i]);
    }
    f.set(obj,is);
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,Short.parseShort(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,new Short(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    short[] ss=new short[values.length];
    for (int i=0; i < ss.length; i++) {
      ss[i]=Short.parseShort(values[i]);
    }
    f.set(obj,ss);
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,Byte.parseByte(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,new Byte(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    byte[] bs=new byte[values.length];
    for (int i=0; i < bs.length; i++) {
      bs[i]=Byte.parseByte(values[i]);
    }
    f.set(obj,bs);
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,Long.parseLong(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,new Long(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    long[] ls=new long[values.length];
    for (int i=0; i < ls.length; i++) {
      ls[i]=Long.parseLong(values[i]);
    }
    f.set(obj,ls);
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,Boolean.parseBoolean(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    f.set(obj,new Boolean(values[0]));
  }
 else   if ("String_Node_Str".equals(fType)) {
    boolean[] bs=new boolean[values.length];
    for (int i=0; i < bs.length; i++) {
      bs[i]=Boolean.parseBoolean(values[i]);
    }
    f.set(obj,bs);
  }
 else   if ("String_Node_Str".equals(fType)) {
    Calendar cal=DatatypeConverter.parseTime(values[0]);
    f.set(obj,cal);
  }
 else {
    System.out.println("String_Node_Str" + f.getType().getCanonicalName() + type+ fType);
    throw new RuntimeException("String_Node_Str" + f.getType().getCanonicalName() + f.getName());
  }
}