private LocalBindingContextImpl(MetadataImplementor metadata) {
   this.metadata = metadata;
   this.localMappingDefaults =
       new OverriddenMappingDefaults(
           metadata.getMappingDefaults(),
           hbmBindResult.getRoot().getPackage(),
           hbmBindResult.getRoot().getSchema(),
           hbmBindResult.getRoot().getCatalog(),
           null,
           null,
           null,
           hbmBindResult.getRoot().getDefaultCascade(),
           hbmBindResult.getRoot().getDefaultAccess(),
           hbmBindResult.getRoot().isDefaultLazy());
   if (CollectionHelper.isEmpty(hbmBindResult.getRoot().getMeta())) {
     this.metaAttributeContext =
         new MetaAttributeContext(metadata.getGlobalMetaAttributeContext());
   } else {
     this.metaAttributeContext =
         Helper.extractMetaAttributeContext(
             hbmBindResult.getRoot().getMeta(), true, metadata.getGlobalMetaAttributeContext());
   }
 }
 @Override
 public boolean isGloballyQuotedIdentifiers() {
   return metadata.isGloballyQuotedIdentifiers();
 }
 @Override
 public ValueHolder<Class<?>> makeClassReference(String className) {
   return metadata.makeClassReference(className);
 }
 @Override
 public Type makeJavaType(String className) {
   return metadata.makeJavaType(className);
 }
 @Override
 public <T> Class<T> locateClassByName(String name) {
   return metadata.locateClassByName(name);
 }
 @Override
 public NamingStrategy getNamingStrategy() {
   return metadata.getNamingStrategy();
 }
 @Override
 public ServiceRegistry getServiceRegistry() {
   return metadata.getServiceRegistry();
 }