public CtConstructor[] getDeclaredConstructors() {
        CtMember.Cache memCache = getMembers();
        CtMember cons = memCache.consHead();
        CtMember consTail = memCache.lastCons();

        int n = 0;
        CtMember mem = cons;
        while (mem != consTail) {
            mem = mem.next();
            CtConstructor cc = (CtConstructor)mem;
            if (cc.isConstructor())
                n++;
        }

        CtConstructor[] result = new CtConstructor[n];
        int i = 0;
        mem = cons;
        while (mem != consTail) {
            mem = mem.next();
            CtConstructor cc = (CtConstructor)mem;
            if (cc.isConstructor())
                result[i++] = cc;
        }

        return result;
    }