protected CCList cc_list() throws Exception {
        if (!tk_m('[')) {
            throw syntax_error("ICCList expected '['");
        }
        CCList xa = new CCList();
        for (;;) {
            tk_csp();
            if (tk_m(']')) {
                return xa;
            }
            xa.add(cc_next(valuePattern));
            tk_csp();
            if (tk_m(']')) {
                return xa;
            }
            if (!tk_m(',')) {
                throw syntax_error("ICCList expected  (','|']') ");
            }
        }
    }