code: protected IntermediateQuery buildQuery(DBMetadata metadata,
                                             DistinctVariableOnlyDataAtom projectionAtom,
                                             QueryTreeComponent treeComponent) {
  
          return new IntermediateQueryImpl(metadata, projectionAtom, treeComponent, executorRegistry, validator,
                  settings, iqFactory);
      }
docs: Can be overwritten to use another constructor