Can anyone tell if this is possible in VB6?

I have an object structure like this.
Rootobject
--companycollection
----company
------contactcollection
--------contact

But now I want to make another collection that points directly into the existing contact collection.

Rootobject
--flatcontactcollection
----contact

This means I must write my own NewEnum and Get functions in the new collection and these must iterate through both companies and contacts.
I do want to implement it to make it possible to use FOR EACH in this new collection.
Is this possible at all in VB6?

/Goran