docs: public static void writeNativeValue(Type type, BlockBuilder blockBuilder, Object value)
      {
          if (value == null) {
              blockBuilder.appendNull();
          }
          else if (type.getJavaType() == boolean.class) {
              type.writeBoolean(blockBuilder, (Boolean) value);
          }
          else if (type.getJavaType() == double.class) {
              type.writeDouble(blockBuilder, ((Number) value).doubleValue());
          }
          else if (type.getJavaType() == long.class) {
              type.writeLong(blockBuilder, ((Number) value).longValue());
          }
          else if (type.getJavaType() == Slice.class) {
              Slice slice;
              if (value instanceof byte[]) {
                  slice = Slices.wrappedBuffer((byte[]) value);
              }
              else if (value instanceof String) {
                  slice = Slices.utf8Slice((String) value);
              }
              else {
                  slice = (Slice) value;
              }
              type.writeSlice(blockBuilder, slice, 0, slice.length());
          }