protected static Object[][] check(List<ClickHouseColumn> columns, Object[][] value) {
        if (columns == null || value == null) {
            throw new IllegalArgumentException("Non-null columns and value are required");
        }

        int size = columns.size();
        for (int i = 0, len = value.length; i < len; i++) {
            Object[] objs = value[i];
            if (objs == null || objs.length != size) {
                throw new IllegalArgumentException("Columns and values should have same length");
            }
        }

        return value;
    }
Update value of the given object or create a new instance if {@code ref} is
null.

@param ref     object to update, could be null
@param columns columns
@param values  values
@return same object as {@code ref} or a new instance if it's null
clickhouse-data/src/main/java/com/clickhouse/data/value/ClickHouseNestedValue.java