code: @Override
  	public final SolrQuery doConstructSolrQuery(SolrDataQuery query, @Nullable Class<?> domainType) {
  
  		Assert.notNull(query, "Cannot construct solrQuery from null value.");
  		Assert.notNull(query.getCriteria(), "Query has to have a criteria.");
  
  		SolrQuery solrQuery = new SolrQuery();
  		solrQuery.setParam(CommonParams.Q, getQueryString(query, domainType));
  
  		if (query instanceof Query) {
  			processQueryOptions(solrQuery, (Query) query, domainType);
  		}
  
  		if (query instanceof FacetQuery) {
  			processFacetOptions(solrQuery, (FacetQuery) query, domainType);
  		}
  
  		if (query instanceof HighlightQuery) {
  			processHighlightOptions(solrQuery, (HighlightQuery) query, domainType);
  		}
  
  		return solrQuery;
  	}
docs: Convert given Query into a SolrQuery executable via {@link org.apache.solr.client.solrj.SolrClient}
  
  @param query the source query to turn into a {@link SolrQuery}.
  @param domainType can be {@literal null}.
  @return