int parentIndex = 0;
int parentIndex = superClassSym.isJava() ? 0 : 1;
        private Ancestor[][] computeDisplay0(Symbol classSym) {            Type[] parentTypes = classSym.parents();            Ancestor[][] superDisplay =                computeDisplay(parentTypes[0].symbol());            int level = superDisplay.length;            ArrayList/*<Ancestor>*/[] display = new ArrayList[level + 1];            // Start with the display of the super-class            for (int l = 0; l < level; ++l) {                Ancestor[] superRow = superDisplay[l];                ArrayList newRow = new ArrayList();                for (int i = 0; i < superRow.length; ++i)                    newRow.add(new Ancestor(superRow[i].symbol, 0, i));                display[l] = newRow;            }            display[level] = new ArrayList();            display[level].add(new Ancestor(classSym, -1, -1));            // Go over parents from left to right and add missing            // ancestors to the display, remembering where they come            // from.            int parentIndex = 0;            for (int p = 1; p < parentTypes.length; ++p) {                Symbol parentSymbol = parentTypes[p].symbol();                assert parentSymbol != Symbol.NONE;                if (parentSymbol.isJava())                    continue;                Ancestor[][] parentDisplay = computeDisplay(parentSymbol);                assert parentDisplay.length <= display.length;                for (int l = 0; l < parentDisplay.length; ++l) {                    ArrayList/*<Ancestor>*/ myRow = display[l];                    Ancestor[] parentRow = parentDisplay[l];                    for (int i = 0; i < parentRow.length; ++i) {                        Symbol sym = parentRow[i].symbol;                        Iterator myRowIt = myRow.iterator();                        boolean alreadyExists = false;                        while (!alreadyExists && myRowIt.hasNext()) {                            Ancestor myAncestor = (Ancestor)myRowIt.next();                            if (myAncestor.symbol == sym)                                alreadyExists = true;                        }                        if (!alreadyExists)                            myRow.add(new Ancestor(sym, parentIndex, i));                    }                }                ++parentIndex;            }            Ancestor[][] finalDisplay = new Ancestor[level + 1][];            for (int i = 0; i < finalDisplay.length; ++i) {                finalDisplay[i] = (Ancestor[])                    display[i].toArray(new Ancestor[display[i].size()]);            }            return finalDisplay;        }