@Override
    public Map<Object, Object> asMap() {
        Object[][] values = getValue();
        int len = values.length;
        if (len == 0) {
            return Collections.emptyMap();
        }

        Map<Object, Object> map = new LinkedHashMap<>();
        for (int i = 0, size = columns.size(); i < size; i++) {
            Object[] v = new Object[len];
            for (int j = 0; j < len; j++) {
                v[j] = values[j][i];
            }
            map.put(columns.get(i).getColumnName(), v);
        }
        // why not use Collections.unmodifiableMap(map) here?
        return map;
    }
Gets immutable list of nested columns.

@return immutable list of columns
clickhouse-data/src/main/java/com/clickhouse/data/value/ClickHouseNestedValue.java