Collection<SearchItem> res = resultsService.prepareAll(response.getHits());
if (response.getAggregations() != null) {
Filter countFacet = response.getAggregations().get("sections");
Terms sectionsFacet = countFacet.getAggregations().get("sections");
if (sectionsFacet.getBuckets().size()>1) {
params.put("sectionFacet", resultsService.buildSectionFacet(countFacet));
if (!Strings.isNullOrEmpty(query.getSection()) && sectionsFacet.getBucketByKey(query.getSection())!=null) {
Terms.Bucket selectedSection = sectionsFacet.getBucketByKey(query.getSection());
params.put("groupFacet", resultsService.buildGroupFacet(selectedSection));
}
} else if (Strings.isNullOrEmpty(query.getSection()) && sectionsFacet.getBuckets().size()==1) {
Terms.Bucket onlySection = sectionsFacet.getBuckets().iterator().next();
query.setSection(onlySection.getKey());
params.put("groupFacet", resultsService.buildGroupFacet(onlySection));
}