List<ExecutionTarget> (List<? extends RunConfiguration> selectedValues) { LinkedHashSet<ExecutionTarget> intersection = new LinkedHashSet<>(); for (int i = 0; i < selectedValues.size(); i++) { RunConfiguration config = selectedValues.get(i); RunnerAndConfigurationSettingsImpl settings = runManager.getSettings(config); List<ExecutionTarget> targets = settings == null ? Collections.emptyList() : ExecutionTargetManager.getTargetsToChooseFor(project, settings.getConfiguration()); if (i == 0) { intersection.addAll(targets); } else { intersection.retainAll(targets); } } return new ArrayList<>(intersection); }