OK - I look at again --- I seem to remember it was confusing the last time I looked at it --- But it seems clear now! The function looks up the inheritance tree skipping singletons and ICLASS Nodes (Include Nodes?) and finds the first object that that is a 'real obj' (ie not a singleton or ICLASS object). Correct?