Program: 53202
Project: 53202
Buggy source:
private void convertDTCellValueFromString(DataType.DataTypes dataType,DTCellValue52 dcv){
  String text=dcv.getStringValue();
switch (dataType) {
case BOOLEAN:
    dcv.setBooleanValue((text == null ? false : Boolean.valueOf(text)));
  break;
case DATE:
Date d=null;
try {
if (text != null) {
  if (DATE_CONVERTOR == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  d=DATE_CONVERTOR.parse(text);
}
}
 catch (IllegalArgumentException e) {
}
dcv.setDateValue(d);
break;
case NUMERIC:
BigDecimal numericValue=null;
try {
if (text != null) {
numericValue=new BigDecimal(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(numericValue);
break;
case NUMERIC_BIGDECIMAL:
BigDecimal bigDecimalValue=null;
try {
if (text != null) {
bigDecimalValue=new BigDecimal(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(bigDecimalValue);
break;
case NUMERIC_BIGINTEGER:
BigInteger bigIntegerValue=null;
try {
if (text != null) {
bigIntegerValue=new BigInteger(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(bigIntegerValue);
break;
case NUMERIC_BYTE:
Byte byteValue=null;
try {
if (text != null) {
byteValue=new Byte(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(byteValue);
break;
case NUMERIC_DOUBLE:
Double doubleValue=null;
try {
if (text != null) {
doubleValue=new Double(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(doubleValue);
break;
case NUMERIC_FLOAT:
Float floatValue=null;
try {
if (text != null) {
floatValue=new Float(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(floatValue);
break;
case NUMERIC_INTEGER:
Integer integerValue=null;
try {
if (text != null) {
integerValue=new Integer(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(integerValue);
break;
case NUMERIC_LONG:
Long longValue=null;
try {
if (text != null) {
longValue=new Long(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(longValue);
break;
case NUMERIC_SHORT:
Short shortValue=null;
try {
if (text != null) {
shortValue=new Short(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(shortValue);
break;
}
}

Fixed version (ground truth):
private void convertDTCellValueFromString(DataType.DataTypes dataType,DTCellValue52 dcv){
  String text=dcv.getStringValue();
switch (dataType) {
case BOOLEAN:
    dcv.setBooleanValue((text == null ? Boolean.FALSE : Boolean.valueOf(text)));
  break;
case DATE:
Date d=null;
try {
if (text != null) {
  if (DATE_CONVERTOR == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  d=DATE_CONVERTOR.parse(text);
}
}
 catch (IllegalArgumentException e) {
}
dcv.setDateValue(d);
break;
case NUMERIC:
BigDecimal numericValue=null;
try {
if (text != null) {
numericValue=new BigDecimal(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(numericValue);
break;
case NUMERIC_BIGDECIMAL:
BigDecimal bigDecimalValue=null;
try {
if (text != null) {
bigDecimalValue=new BigDecimal(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(bigDecimalValue);
break;
case NUMERIC_BIGINTEGER:
BigInteger bigIntegerValue=null;
try {
if (text != null) {
bigIntegerValue=new BigInteger(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(bigIntegerValue);
break;
case NUMERIC_BYTE:
Byte byteValue=null;
try {
if (text != null) {
byteValue=Byte.valueOf(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(byteValue);
break;
case NUMERIC_DOUBLE:
Double doubleValue=null;
try {
if (text != null) {
doubleValue=Double.valueOf(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(doubleValue);
break;
case NUMERIC_FLOAT:
Float floatValue=null;
try {
if (text != null) {
floatValue=Float.valueOf(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(floatValue);
break;
case NUMERIC_INTEGER:
Integer integerValue=null;
try {
if (text != null) {
integerValue=Integer.valueOf(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(integerValue);
break;
case NUMERIC_LONG:
Long longValue=null;
try {
if (text != null) {
longValue=Long.valueOf(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(longValue);
break;
case NUMERIC_SHORT:
Short shortValue=null;
try {
if (text != null) {
shortValue=Short.valueOf(text);
}
}
 catch (Exception e) {
}
dcv.setNumericValue(shortValue);
break;
}
}