assert tcontext != null: Debug.show(clasz, " -- ", context.clasz);
assert tcontext != null: Debug.show(clasz, context.clasz);
        private Tree genOuterRef(int pos, Symbol clasz) {            if (context.clasz == clasz) return gen.This(pos, clasz);            TypeContext tcontext = null;            for (int i = 0; i < context.context.outers.length; i++)                if (context.context.outers[i].clasz == clasz)                    tcontext = context.context.outers[i];            assert tcontext != null: Debug.show(clasz, " -- ", context.clasz);            if (tcontext.isStable) {                throw Debug.abort(Debug.show(clasz, " - ", context.clasz));                /*                if (!clasz.owner().isPackageClass()) {                    Tree qualifier = genOuterRef(pos,tcontext.outers[0].clasz);                    return gen.Select(pos, qualifier, clasz.module());                } else {                    assert clasz.owner().isPackageClass(): Debug.show(clasz);                    return gen.Ident(pos, clasz.module());                }                */            } else {                assert context.context.vlink != null:                    Debug.show(clasz, " -- ", context.clasz);                Tree tree = context.method == null || context.method.isConstructor()                    ? gen.Ident(pos, context.context.vlink)                    : gen.Select(gen.This(pos, context.clasz), context.context.context.vfield);                Context context = this.context;                while (true) {                    context = context.outer;                    assert context != null:                        Debug.show(clasz, " -- ", this.context.clasz);                    while (context.context.isStable) {                        context = context.outer;                        assert context != null:                            Debug.show(clasz, " -- ", this.context.clasz);                    }                    if (context.clasz == clasz) return tree;                    Symbol access = getAccessSymbol(context.context.context.vfield, null);                    assert access != context.context.context.vfield: Debug.show(access) + " - " + Debug.show(this.context.clasz);                    tree = gen.Apply(gen.Select(tree, access));                }            }        }