List<Configurable> (ConfigurableGroup @NotNull [] groups) { List<Configurable> result = new ArrayList<>(); CollectConsumer<Configurable> consumer = new CollectConsumer<>(result); for (ConfigurableGroup group : groups) { processExpandedGroups(group, consumer); } return result; }