List<ModuleWizardStep> () { final List<ModuleWizardStep> result = new ArrayList<>(); result.addAll(myCommonSteps); result.addAll(mySpecificSteps.values()); for (Pair<ModuleWizardStep, Predicate<? super Set<String>>> pair : myCommonFinishingSteps) { result.add(pair.getFirst()); } result.addAll(mySpecificFinishingSteps.values()); ContainerUtil.removeDuplicates(result); return result; }