You are not allowed to expose the internal representations of your complex collection / array data type. How do you to fetch elements one after another?
Looper pattern
Visitor pattern
DataAccess pattern
Iterator pattern
None of the above