public static ClickHouseIntegerValue ofNull(ClickHouseValue ref, boolean unsigned) {
        if (unsigned) {
            return ref instanceof UnsignedIntegerValue ? ((UnsignedIntegerValue) ref).set(true, 0)
                    : new UnsignedIntegerValue(true, 0);
        }
        return ref instanceof ClickHouseIntegerValue ? ((ClickHouseIntegerValue) ref).set(true, 0)
                : new ClickHouseIntegerValue(true, 0);
    }
Updates the given value to null or creates a new instance when {@code ref} is
null.

@param ref      object to update, could be null
@param unsigned true if the value is unsigned; false otherwise
@return same object as {@code ref} or a new instance if it's null
clickhouse-data/src/main/java/com/clickhouse/data/value/ClickHouseIntegerValue.java