public static ClickHouseLongValue of(ClickHouseValue ref, long value, boolean unsigned) {
        if (unsigned) {
            return ref instanceof UnsignedLongValue ? ((UnsignedLongValue) ref).set(false, value)
                    : new UnsignedLongValue(false, value);
        }
        return ref instanceof ClickHouseLongValue ? ((ClickHouseLongValue) ref).set(false, value)
                : new ClickHouseLongValue(false, value);
    }
Updates value of the given object or create a new instance when {@code ref}
is null.

@param ref      object to update, could be null
@param value    value
@param unsigned true if {@code 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/ClickHouseLongValue.java