Making ComparatorChain implement Iterable. Including test and package private copy of Collections' UnmodifiableIterator