docs: public <E> CacheQuery<E> getQuery(HSQuery hSearchQuery, IndexedQueryMode queryMode) {
        if (timeoutExceptionFactory != null) {
           hSearchQuery.timeoutExceptionFactory(timeoutExceptionFactory);
        }
        Class<?>[] classes = hSearchQuery.getTargetedEntities().toPojosSet().toArray(new Class[hSearchQuery.getTargetedEntities().size()]);
        queryInterceptor.enableClasses(classes);
  
        if (queryMode == IndexedQueryMode.BROADCAST) {
           ExecutorService asyncExecutor = queryInterceptor.getAsyncExecutor();
           return new ClusteredCacheQueryImpl<>(new QueryDefinition(hSearchQuery), asyncExecutor, cache, keyTransformationHandler, null);
        } else {
           return new CacheQueryImpl<>(hSearchQuery, cache, keyTransformationHandler);
        }
     }