code: @Override
  	public <T> StreamSupplier<T> query(AggregationQuery query, Class<T> outputClass, DefiningClassLoader queryClassLoader) {
  		checkArgument(iterate(queryClassLoader, Objects::nonNull, ClassLoader::getParent).anyMatch(isEqual(classLoader)),
  				"Unrelated queryClassLoader");
  		List<String> fields = getMeasures().stream().filter(query.getMeasures()::contains).collect(toList());
  		List<AggregationChunk> allChunks = state.findChunks(query.getPredicate(), fields);
  		return consolidatedSupplier(query.getKeys(),
  				fields, outputClass, query.getPredicate(), allChunks, queryClassLoader);
  	}
docs: Returns a {@link StreamSupplier} of the records retrieved from aggregation for the specified query.
  
  @param <T>         type of output objects
  @param query       query
  @param outputClass class of output records
  @return supplier that streams query results