code: @Override
  	public void integrate(Metadata metadata, SessionFactoryImplementor sessionFactory, SessionFactoryServiceRegistry serviceRegistry) {
  
  		final MetadataImplementor mi;
  		if (metadata instanceof MetadataImplementor) {
  			mi = (MetadataImplementor)metadata;
  		} else {
  			throw new IllegalArgumentException("Metadata was not assignable to MetadataImplementor: " + metadata.getClass());
  		}
  		
  		try {
  			ConfigurationHelper.setCurrentSessionFactory(sessionFactory);
  		
  			String isEnabled = (String)sessionFactory.getProperties().get(REGISTER_USERTYPES_KEY); 
  			String javaZone = (String)sessionFactory.getProperties().get(DEFAULT_JAVAZONE_KEY);
  			String databaseZone = (String)sessionFactory.getProperties().get(DEFAULT_DATABASEZONE_KEY);
  			String seed = (String)sessionFactory.getProperties().get(DEFAULT_SEED_KEY);
  			String currencyCode = (String)sessionFactory.getProperties().get(DEFAULT_CURRENCYCODE_KEY);
  			
  			String jdbc42Apis = (String)sessionFactory.getProperties().get(JDBC42_API_KEY);
  			
  			configureDefaultProperties(sessionFactory, javaZone, databaseZone, seed, currencyCode, jdbc42Apis);
  		
  			if (isEnabled != null && Boolean.valueOf(isEnabled)) {
  				autoRegisterUsertypes(mi);
  			}
  			
  			final boolean use42Api = use42Api(jdbc42Apis, sessionFactory);
  			ConfigurationHelper.setUse42Api(sessionFactory, use42Api);
  			
  			// doIntegrate(mi, sessionFactory, serviceRegistry);
  		} finally {
  			ConfigurationHelper.setCurrentSessionFactory(null);
  		}
  	}
docs: {@inheritDoc}