Create a CollectIterator
Advance the iterator to the next element
Return the current element
Determine if we have reached the end