@Override
public <T> FacetPage<T> queryForFacetPage(FacetQuery query, Class<T> clazz) {
Assert.notNull(query, "Query must not be 'null'.");
Assert.notNull(clazz, "Target class must not be 'null'.");
NamedObjectsFacetQuery namedObjectsQuery = new NamedObjectsFacetQuery(query);
QueryResponse response = query(namedObjectsQuery);
Map<String, Object> objectsName = namedObjectsQuery.getNamesAssociation();
SolrResultPage<T> page = createSolrResultPage(query, clazz, response, objectsName);
page.addAllFacetFieldResultPages(ResultHelper.convertFacetQueryResponseToFacetPageMap(query, response));
page.addAllFacetPivotFieldResult(ResultHelper.convertFacetQueryResponseToFacetPivotMap(query, response));