#repeat: create an infinite iterable that just repeats the same value
#cycle: infinitely cycle through a sequence of elements
TakingIterator: extracting ImmutableIterator impl from #take
InGroupsOf: fixing a bug where the iterator cursor doesn't advance on next()
IterableMatcher: adding iteration check to ensure iterable can be finitely iterated to help catch previously mentioned InGroupsOf bug

pom: adding dependency on loan-shark
#takeWhile: take elements from an iterable while a predicate holds true

TakingIterator: supports take
PredicatedTakingIterator: supports takeWhile