Program: 10546
Project: 10546
Buggy source:
public static Object parseToObject(String type,List<String> values){
  if ("String_Node_Str".equals(type) || "String_Node_Str".equals(type)) {
    return values.get(0);
  }
 else   if ("String_Node_Str".equals(type)) {
    return values;
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Integer(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toIntArray(values);
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Short(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toShortArray(values);
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Byte(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toByteArray(values);
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Long(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toLongArray(values);
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Float(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toFloatArray(values);
  }
 else   if ("String_Node_Str".equals(type)) {
    return Boolean.valueOf(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toBooleanArray(values);
  }
 else   if ("String_Node_Str".equals(type) || "String_Node_Str".equals(type)) {
    return DatatypeConverter.parseTime(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Double(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toDoubleArray(values);
  }
 else {
    throw new RuntimeException("String_Node_Str" + type + values.get(0));
  }
}

Fixed version (ground truth):
public static Object parseToObject(String type,List<String> values){
  if ("String_Node_Str".equals(type) || "String_Node_Str".equals(type)) {
    return values.get(0);
  }
 else   if ("String_Node_Str".equals(type)) {
    return values.toArray(new String[values.size()]);
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Integer(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toIntArray(values);
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Short(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toShortArray(values);
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Byte(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toByteArray(values);
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Long(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toLongArray(values);
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Float(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toFloatArray(values);
  }
 else   if ("String_Node_Str".equals(type)) {
    return Boolean.valueOf(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toBooleanArray(values);
  }
 else   if ("String_Node_Str".equals(type) || "String_Node_Str".equals(type)) {
    return DatatypeConverter.parseTime(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return new Double(values.get(0));
  }
 else   if ("String_Node_Str".equals(type)) {
    return toDoubleArray(values);
  }
 else {
    throw new RuntimeException("String_Node_Str" + type + values.get(0));
  }
}