@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'."); QueryResponse response = query(query); List<T> beans = convertQueryResponseToBeans(response, clazz); SolrDocumentList results = response.getResults(); SolrResultPage<T> page = new SolrResultPage<T>( beans, query.getPageRequest(), results.getNumFound(), results.getMaxScore()); page.addAllFacetFieldResultPages( ResultHelper.convertFacetQueryResponseToFacetPageMap(query, response)); page.addAllFacetPivotFieldResult( ResultHelper.convertFacetQueryResponseToFacetPivotMap(query, response)); page.setFacetQueryResultPage( ResultHelper.convertFacetQueryResponseToFacetQueryResult(query, response)); return page; }