@Override public EsResult queryAndAggregate(NxQueryBuilder queryBuilder) { SearchResponse response = search(queryBuilder); List<Aggregate<Bucket>> aggs = getAggregates(queryBuilder, response); if (queryBuilder.returnsDocuments()) { DocumentModelListImpl docs = getDocumentModels(queryBuilder, response); return new EsResult(docs, aggs, response); } else if (queryBuilder.returnsRows()) { IterableQueryResult rows = getRows(queryBuilder, response); return new EsResult(rows, aggs, response); } return new EsResult(response); }