Implement better caching, using Guava iterables rather than copying amongst collections