I am somewhat puzzled. It looks like you went out of your way to make it nearly impossible to inherit from OpenEdge.Core.Collections.Collection using your own temp-table, but inheriting from the Iterator class using your own temp-table is relatively easy. Why is there no Collection ( h as handle, c as character ) constructor to override the use of the private temp-table ttCollection in this class?