@Test public void testTransformCat() { Assert.assertEquals( Lists.newArrayList( FunctionalIterator.create(Arrays.asList("1,2", "3,4", "5,6").iterator()) .transformCat( new Function<String, Iterator<String>>() { @Override public Iterator<String> apply(String input) { return Splitter.on(",").split(input).iterator(); } } ) ), Arrays.asList("1", "2", "3", "4", "5", "6") ); }