docs: public void initConfiguration(Map<?, ?> configurationMap, ServiceRegistryImplementor serviceRegistry) {
  		ClassLoaderService classLoaderService = serviceRegistry.getService( ClassLoaderService.class );
  		ConfigurationPropertyReader propertyReader = new ConfigurationPropertyReader( configurationMap, classLoaderService );
  
  		this.configurationResource = propertyReader
  				.property( InfinispanRemoteProperties.CONFIGURATION_RESOURCE_NAME, URL.class )
  				.withDefaultStringValue( InfinispanRemoteProperties.DEFAULT_CONFIGURATION_RESOURCE_NAME )
  				.getValue();
  
  		this.clientProperties = getHotRodConfiguration( configurationMap, propertyReader, this.configurationResource );
  
  		this.schemaCaptureService = propertyReader
  				.property( InfinispanRemoteProperties.SCHEMA_CAPTURE_SERVICE, SchemaCapture.class )
  				.instantiate()
  				.getValue();
  
  		this.schemaOverrideService = propertyReader
  				.property( InfinispanRemoteProperties.SCHEMA_OVERRIDE_SERVICE, SchemaOverride.class )
  				.instantiate()
  				.getValue();
  
  		this.schemaOverrideResource = propertyReader
  				.property( InfinispanRemoteProperties.SCHEMA_OVERRIDE_RESOURCE, URL.class )
  				.getValue();
  
  		this.schemaPackageName = propertyReader
  				.property( InfinispanRemoteProperties.SCHEMA_PACKAGE_NAME, String.class )
  				.withDefault( InfinispanRemoteProperties.DEFAULT_SCHEMA_PACKAGE_NAME )
  				.getValue();
  
  		this.schemaFileName = propertyReader
  				.property( InfinispanRemoteProperties.SCHEMA_FILE_NAME, String.class )
  				.withDefault( InfinispanRemoteProperties.DEFAULT_SCHEMA_FILE_NAME )
  				.withValidator( InfinispanRemoteValidators.SCHEMA_FILE_NAME )
  				.getValue();
  
  		this.createCachesEnabled = propertyReader
  				.property( OgmProperties.CREATE_DATABASE, boolean.class )
  				.withDefault( false )
  				.getValue();
  
  		this.cacheConfiguration = propertyReader
  				.property( InfinispanRemoteProperties.CACHE_CONFIGURATION, String.class )
  				.withDefault( null )
  				.getValue();
  
  		String transactionModeString = propertyReader
  				.property( InfinispanRemoteProperties.TRANSACTION_MODE, String.class )
  				.withDefault( InfinispanRemoteProperties.DEFAULT_TRANSACTION_MODE )
  				.getValue();
  
  		this.transactionMode = extractTransactionMode( transactionModeString );
  
  		log.tracef( "Initializing Infinispan Hot Rod client from configuration file at '%1$s'", configurationResource );
  	}