this.cypherQueryExecutor = new CypherQueryExecutor(graphDatabase.queryEngine(resultConverter));
if (schemaIndexProvider == null) {
schemaIndexProvider = new SchemaIndexProvider(graphDatabase);
}
if (this.indexProvider == null) {
this.indexProvider = new IndexProviderImpl(graphDatabase);
}
if (this.typeSafetyPolicy == null) {
this.typeSafetyPolicy = new TypeSafetyPolicy();
}
this.mappingInfrastructure = new MappingInfrastructure(graphDatabase, graphDatabaseService, indexProvider, resultConverter, transactionManager, typeRepresentationStrategies, entityRemover, entityPersister, entityStateHandler, cypherQueryExecutor, mappingContext, relationshipTypeRepresentationStrategy, nodeTypeRepresentationStrategy, validator, conversionService, schemaIndexProvider, typeSafetyPolicy);