calrissian/mango — pull request #7 by eawagner (2013-06-12 07:11:21+00:00)
Title: Reorganized 

I reorganized the iterable and iterator classes to be more consistent. There was a mixture of static methods (guava style) and class implementations (apache commons style) for these. I chose to follow the guava style of using static methods as it makes for less verbose code to use it. Additionally, I made sure that iteration manipulations could be applied to both closeable iterators and iterables.

Additionally, I tried to keep the contract that all Iterables will get a new iterator each time one is requested. This means that a CloseableIterable can reiterate over the data, while a CloseableIterator will be exhausted when hasNext returns false.