code: public static void validateExternalizersPresent(EmbeddedCacheManager externalCacheManager) {
  		Map<Integer, AdvancedExternalizer<?>> externalizerMap = externalCacheManager
  				.getCacheManagerConfiguration()
  				.serialization()
  				.advancedExternalizers();
  		for ( AdvancedExternalizer<?> ogmExternalizer : ogmExternalizers.values() ) {
  			final Integer externalizerId = ogmExternalizer.getId();
  			AdvancedExternalizer<?> registeredExternalizer = externalizerMap.get( externalizerId );
  			if ( registeredExternalizer == null ) {
  				throw log.externalizersNotRegistered( externalizerId, ogmExternalizer.getClass() );
  			}
  			else if ( !registeredExternalizer.getClass().equals( ogmExternalizer ) ) {
  				if ( registeredExternalizer.getClass().toString().equals( ogmExternalizer.getClass().toString() ) ) {
  					// same class name, yet different Class definition!
  					throw log.registeredExternalizerNotLoadedFromOGMClassloader( registeredExternalizer.getClass() );
  				}
  				else {
  					throw log.externalizerIdNotMatchingType( externalizerId, registeredExternalizer, ogmExternalizer );
  				}
  			}
  		}
  	}
docs: Verify that all OGM custom externalizers are present.
  N.B. even if some Externalizer is only needed in specific configuration,
  it is not safe to start a CacheManager without one as the same CacheManager
  might be used, or have been used in the past, to store data using a different
  configuration.
  
  @see ExternalizerIds
  @see AdvancedExternalizer
  @param externalCacheManager the provided CacheManager to validate