JCStatement initOuterThis(int pos) {
        VarSymbol rhs = outerThisStack.head;
        assert rhs.owner.kind == MTH;
        VarSymbol lhs = outerThisStack.tail.head;
        assert rhs.owner.owner == lhs.owner;
        make.at(pos);
        return
            make.Exec(
                make.Assign(
                    make.Select(make.This(lhs.owner.erasure(types)), lhs),
                    make.Ident(rhs)).setType(lhs.erasure(types)));
    }