Let's say A inherits from B inherits from C.
A>>foo
^ #c
B>>foo
^ #b
C>>foo
^ #c
A>>superSend
^ super foo
A new foo "answers a"
A new superSend "answers b"
And you cannot directly reach c, however:
A new perform: #foo withArguments: #( ) inSuperclass: A "answers a"
A new perform: #foo withArguments: #( ) inSuperclass: B "answers b"
A new perform: #foo withArguments: #( ) inSuperclass: C "answers c"
A new perform: #foo withArguments: #( ) inSuperclass: Object "DNU"
A new perform: #foo withArguments: #( ) inSuperclass: UndefinedObject "class not in my lookup chain"
Ah the dark side of the force. Always tempting but so dangerous in the long term.