presto-kudu/src/main/java/io/prestosql/plugin/kudu/properties/RangeBoundValueSerializer.java/RangeBoundValueSerializer/writeValue
class RangeBoundValueSerializer:    private void writeValue(Object obj, JsonGenerator gen)
            throws IOException
    {
        if (obj == null) {
            throw new IllegalStateException("Unexpected null value");
        }
        else if (obj instanceof String) {
            gen.writeString((String) obj);
        }
        else if (Number.class.isAssignableFrom(obj.getClass())) {
            if (obj instanceof Long) {
                gen.writeNumber((Long) obj);
            }
            else if (obj instanceof Integer) {
                gen.writeNumber((Integer) obj);
            }
            else if (obj instanceof Short) {
                gen.writeNumber((Short) obj);
            }
            else if (obj instanceof Double) {
                gen.writeNumber((Double) obj);
            }
            else if (obj instanceof Float) {
                gen.writeNumber((Float) obj);
            }
            else if (obj instanceof BigInteger) {
                gen.writeNumber((BigInteger) obj);
            }
            else if (obj instanceof BigDecimal) {
                gen.writeNumber((BigDecimal) obj);
            }
            else {
                throw new IllegalStateException("Unknown number value: " + obj);
            }
        }
        else if (obj instanceof Boolean) {
            gen.writeBoolean((Boolean) obj);
        }
        else if (obj instanceof byte[]) {
            gen.writeBinary((byte[]) obj);
        }
    }