@Override
 public MetadataBuilder applyCacheRegionDefinition(CacheRegionDefinition cacheRegionDefinition) {
   if (options.cacheRegionDefinitions == null) {
     options.cacheRegionDefinitions = new ArrayList<CacheRegionDefinition>();
   }
   options.cacheRegionDefinitions.add(cacheRegionDefinition);
   return this;
 }
 @Override
 public MetadataBuilder applyTempClassLoader(ClassLoader tempClassLoader) {
   options.tempClassLoader = tempClassLoader;
   return this;
 }
 @Override
 public MetadataBuilder enableImplicitForcingOfDiscriminatorsInSelect(boolean supported) {
   options.implicitlyForceDiscriminatorInSelect = supported;
   return this;
 }
 @Override
 public MetadataBuilder enableGlobalNationalizedCharacterDataSupport(boolean enabled) {
   options.useNationalizedCharacterData = enabled;
   return this;
 }
 @Override
 public MetadataBuilder enableImplicitDiscriminatorsForJoinedSubclassSupport(boolean supported) {
   options.implicitDiscriminatorsForJoinedInheritanceSupported = supported;
   return this;
 }