Any urgent (performance or otherwise) need for FluentIterable here? Smells a little like https://code.google.com/p/guava-libraries/wiki/FunctionalExplained - what would the imperative version look like?