package crmdna.practice; import java.util.HashSet; import java.util.Map; import java.util.Set; public class PracticeHelper { public static void populateName(String client, Iterable<? extends IHasPracticeIdsAndNames> iterable) { // do a batch get using ids and populate names Set<Long> ids = new HashSet<>(); for (IHasPracticeIdsAndNames element : iterable) { ids.addAll(element.getPracticeIds()); } Map<Long, PracticeEntity> map = Practice.getEntities(client, ids); for (IHasPracticeIdsAndNames element : iterable) { Set<String> names = new HashSet<>(); for (Long id : element.getPracticeIds()) { if (!map.containsKey(id)) continue; names.add(map.get(id).displayName); } element.setPracticeNames(names); } } }