public byte[] asBytes() {
        if(value instanceof byte[]) {
            return (byte[])value;
        } else if(value instanceof Byte) {
            return new byte[]{(Byte)value};
        } else if(value instanceof Short) {
            return Utils.Int162Bytes((Short)value);
        } else if(value instanceof Integer) {
            return Utils.Int322Bytes((Integer)value);
        } else if(value instanceof Long) {
            return Utils.Int642Bytes((Long)value);
        } else if(value instanceof Float) {
            return Utils.Int322Bytes(Float.floatToIntBits((Float)value));
        } else if(value instanceof Double) {
            return Utils.Int642Bytes(Double.doubleToLongBits((Double)value));
        } else if(value instanceof String) {
            try { return ((String)value).getBytes("UTF-8"); }catch(Exception e){}
        }
        return null;
    }