protected Object toType( Number num ) {
            Class jType = getType().getJavaType();
            if( jType == Long.TYPE || jType == Double.TYPE ) {
                // Should already be the right type
                return num;
            }
            if( jType == Byte.TYPE ) {
                return num.byteValue();
            }
            if( jType == Short.TYPE ) {
                return num.shortValue(); 
            }
            if( jType == Integer.TYPE ) {
                return num.intValue();
            }
            if( jType == Float.TYPE ) {
                return num.floatValue();
            }
            throw new UnsupportedOperationException("Unhandled type:" + getType());
        }