} else if (source instanceof Double) {
result = new DoubleValue((Double)source);
} else if (source instanceof Float) {
result = new FloatValue((Float)source);
} else if (source instanceof BigDecimal) {
result = new DecimalValue((BigDecimal)source);
} else if (source instanceof String) {
result = new StringValue(((String)source));
} else {
result = new ObjectValue(source);
}