public final boolean useObjectLoader;
RootEntityMetadata(Class<?> rootEntity, SearchFactoryImplementor searchFactoryImplementor, Session session) {
this.rootEntity = rootEntity;
DocumentBuilder<?> provider = searchFactoryImplementor.getDocumentBuilder( rootEntity );
if ( provider == null) throw new AssertionFailure("Provider not found for class: " + rootEntity);
this.mappedSubclasses = provider.getMappedSubclasses();
this.criteria = session.createCriteria( rootEntity );
this.useObjectLoader = !provider.isSafeFromTupleId();
}