Here is my current refinement of the methods...
Context>>stackValues
| stackValues stackDepth|
stackValues := OrderedCollection new.
stackDepth := self basicSize min: 21.
(stackDepth to: 1 by: -1) do: [ :index | ��
stackValues add: (self basicAt: index)
].
^stackValues
Context>>composite
<gtInspectorPresentationOrder: 30>��
|stackValues|
stackValues := self stackValues.
^ composite table
title: 'Value Stack';
display: [ :aCollection | [(1 to: stackValues size) collect: [ :index | index -> (stackValues at: index) ]] on:Error do:[#()]];
beMultiple;
column: 'Index' evaluated: [ :assoc | (assoc key = 1 ifTrue: ['Top'] ifFalse: [ assoc key asString ])] width: 50;
column: 'Item' evaluated: [ :assoc | GTObjectPrinter new asTruncatedTextFrom: assoc value ];
send: [ :result |��
result isNil
ifTrue: [ nil ]
ifFalse: [ result value size = 1��
ifTrue: [result anyOne value] ��
ifFalse: [self species withAll: (result collect: [:each | each value])]]];
showOnly: 50