This recipe makes heavy use of iterators to manipulate streams of data. If you are not yet familiar with them or need a quick refresher, you should read the Access collections as Iterators section in Chapter 2, Working with Collections, before continuing.