void (final UpdatedFiles updatedFiles, final Consumer<? super Couple<String>> callback) { final List<FileGroup> groups = updatedFiles.getTopLevelGroups(); for (FileGroup group : groups) { iterateGroup(group, callback); // for changed on server for (FileGroup childGroup : group.getChildren()) { iterateGroup(childGroup, callback); } } }