This does not make any sense. It does not modify the collection. Using ``ArrayObject`` for your ``IteratorAggregate`` is a bad idea, because ``ArrayIterator`` has a special handling for ``ArrayObject``: it receives it by reference, not only the internal array, and so it will still modify the original collection