private List<Requirement> removeRequirementsWithoutTestsFrom(List<Requirement> requirements) { List<Requirement> prunedRequirements = Lists.newArrayList(); for(Requirement requirement : requirements) { if (testsExistFor(requirement)) { List<Requirement> prunedChildren = removeRequirementsWithoutTestsFrom(requirement.getChildren()); prunedRequirements.add(requirement.withChildren(prunedChildren)); } } return ImmutableList.copyOf(prunedRequirements); }
private List<Requirement> removeRequirementsWithoutTestsFrom(List<Requirement> requirements) { List<Requirement> prunedRequirements = Lists.newArrayList(); for(Requirement requirement : requirements) { if (testsExistFor(requirement)) { List<Requirement> prunedChildren = removeRequirementsWithoutTestsFrom(requirement.getChildren()); prunedRequirements.add(requirement.withChildren(prunedChildren)); } } return ImmutableList.copyOf(prunedRequirements); }
private Set<Requirement> removeRequirementsWithoutTestsFrom(Collection<Requirement> requirements) { Set<Requirement> prunedRequirements = new HashSet<>(); for (Requirement requirement : requirements) { if (testsExistFor(requirement)) { Set<Requirement> prunedChildren = removeRequirementsWithoutTestsFrom(requirement.getChildren()); prunedRequirements.add(requirement.withChildren(new ArrayList<>(prunedChildren))); } } return prunedRequirements; }