}
} else if (targetType == CLI_DECIMAL) {
try {
AtomicValue v = getAtomicValue(value, targetType, context);
if (v instanceof DoubleValue) {
return new Decimal(((DoubleValue) v).getDoubleValue());
} else if (v instanceof FloatValue) {
return new Decimal(((FloatValue) v).getFloatValue());
} else if (v instanceof Int64Value) {
return new Decimal(((Int64Value) v).longValue());
} else if (v instanceof BigIntegerValue) {
return Decimal.Parse(v.getStringValue());
} else if (v instanceof DecimalValue) {
return Decimal.Parse(v.getStringValue());
} else {