while (level > 0) {
for (int l = 1; l <= level; ++l) {
    protected Tree outerRef(int level) {        assert level > 0 : level;        Tree root = null;        Iterator outerIt = outerLinks.iterator();        while (level > 0) {            Symbol outerSym = (Symbol)outerIt.next();            if (root == null)                root = gen.mkStable(gen.Ident(outerSym));            else                root = gen.mkStable(gen.Select(root, outerSym));            --level;        }        return root;    }