Iterator Issues
nWho controls iteration?
nDoes collection know about iterator?
nHow robust is the iterator? (DP)
nWho cleans up heap-based iterators?
nHow are recursive collections handled?
nWhat about boundaries? (NullIterator)
Here are a few issues that you can think about as we look at some concrete examples.  For the most part, these issues all have relatively good solutions.