My question regards the details of how the contents of m_self of an acquired method is calculated by the acquisition machinery. To illustrate this, I will depict an acquisition tree using the following symbols: O -- an acquisition wrapper <upcase letter> -- an acquitsition wrapper named for further reference [<lowercase letter>] -- an object -- -- the aq_parent link | -- the aq_self link I will use the following acquisition tree for illustration (it resembles the tree I have in my application, I just reduced it to make my point) A--O--[a] | | | [b] | O--B--O--[c] | | | | | [d] | | | O--[e] | | | [f] | [g] In this representation, the acquisition order is from bottom to top. The bottom most object is /A.aq_base/. Acquisition along containment only produces horizontal lines of acquisition wrappers. let /m/ be a method of the objekt /f/. The expression of interest is x := A.m I would expect /x.m_self/ to be an acquisition wrapper C C := A.f where (as far as i understand the rules of acquisition) /C.aq_parent == A/ But instead displaying /x.m_self/ yields the acquisition tree rooted at /B/ !! I find this a bit disturbing. My question: 'Is it a *bug* or a *feature*?'. I hope, I made my point clear. I hope someone can shed light on this subject, Stefan.