static int readType(StringBuffer sbuf, int pos, String desc) {
            char c = desc.charAt(pos);
            int arrayDim = 0;
            while (c == '[') {
                arrayDim++;
                c = desc.charAt(++pos);
            }

            if (c == 'L')
                while (true) {
                    c = desc.charAt(++pos);
                    if (c == ';')
                        break;

                    if (c == '/')
                        c = '.';

                    sbuf.append(c);
                }
            else {
                CtClass t = toPrimitiveClass(c);
                sbuf.append(t.getName());
            }

            while (arrayDim-- > 0)
                sbuf.append("[]");

            return pos + 1;
        }