@Override public Iterator<TaskStateChange> iterateContentChangesSince( FileCollectionSnapshot oldSnapshot, String fileType) { final OutputFilesSnapshot other = (OutputFilesSnapshot) oldSnapshot; final Iterator<TaskStateChange> rootFileIdIterator = iterateRootFileIdChanges(other, fileType); final Iterator<TaskStateChange> fileIterator = filesSnapshot.iterateContentChangesSince(other.filesSnapshot, fileType); return Iterators.concat(rootFileIdIterator, fileIterator); }