@Override public List<RefactoringPageRow> buildResponse(final List<KObject> kObjects) { //Both "child" rule and "parent" rule (when one extends another) are stored //in the index. We therefore need to build a set of unique Rule Names final List<RefactoringPageRow> result = new ArrayList<RefactoringPageRow>(kObjects.size()); final Set<RuleName> uniqueRuleNames = new HashSet<>(); for (final KObject kObject : kObjects) { final Set<RuleName> ruleNames = getRuleNamesFromKObject(kObject); uniqueRuleNames.addAll(ruleNames); } for (RuleName ruleName : uniqueRuleNames) { final RefactoringRuleNamePageRow row = new RefactoringRuleNamePageRow(); row.setValue(ruleName); result.add(row); } return result; }