private <T, F> F parseField(ClassAccessor<F> field, Symbol sym, TokenStream stream) {
        discardTokens(stream, sym.ignoreCase(), sym.prefix());
        F value = null;
        if (isPrimitive(field)) {
            value = parsePrimitive(field, sym, stream);
        } else {
            value = parseClass(field, stream);
        }
        discardTokens(stream, sym.ignoreCase(), sym.suffix());
        return value;
    }