if (member.isModule()) member = member.moduleClass();
    private NewMember[] membersToAdd(Symbol classSym) {        NewMember[] toAdd = (NewMember[])membersToAdd.get(classSym);        if (toAdd == null) {            ArrayList toAddL = new ArrayList();            Scope.SymbolIterator membersIt = classSym.members().iterator();            while (membersIt.hasNext()) {                Symbol member = membersIt.next();                if (member.isClass()) {                    Symbol tcSym = getTConstructorSym(member);                    toAddL.add(NewMember.TypeConstructor(member, tcSym));                    Symbol imSym = getInstMethSym(member);                    toAddL.add(NewMember.Instantiator(member, imSym));                } else if (member.isType()) {                    Symbol accSym = getInstMethSym(member);                    toAddL.add(NewMember.TypeAccessor(member, accSym));                }            }            if (!isNestedClass(classSym)) {                Symbol tcSym = getTConstructorSym(classSym);                toAddL.add(NewMember.TypeConstructor(classSym, tcSym));                Symbol ciSym = getClassInitSym(classSym);                toAddL.add(NewMember.ClassInitialiser(classSym, ciSym, tcSym));                Symbol imSym = getInstMethSym(classSym);                toAddL.add(NewMember.Instantiator(classSym, imSym));            }            toAdd = (NewMember[])toAddL.toArray(new NewMember[toAddL.size()]);            membersToAdd.put(classSym, toAdd);        }        return toAdd;    }