public class org.hibernate.metamodel.source.internal.MetadataImpl implements org.hibernate.metamodel.source.MetadataImplementor, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.metamodel.source.internal.MetadataImpl
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.hibernate.service.ServiceRegistry serviceRegistry;
    descriptor: Lorg/hibernate/service/ServiceRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.metamodel.Metadata$Options options;
    descriptor: Lorg/hibernate/metamodel/Metadata$Options;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final transient org.hibernate.internal.util.ValueHolder<org.hibernate.boot.registry.classloading.spi.ClassLoaderService> classLoaderService;
    descriptor: Lorg/hibernate/internal/util/ValueHolder;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Lorg/hibernate/internal/util/ValueHolder<Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;>;

  private final transient org.hibernate.internal.util.ValueHolder<org.hibernate.persister.spi.PersisterClassResolver> persisterClassResolverService;
    descriptor: Lorg/hibernate/internal/util/ValueHolder;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Lorg/hibernate/internal/util/ValueHolder<Lorg/hibernate/persister/spi/PersisterClassResolver;>;

  private org.hibernate.type.TypeResolver typeResolver;
    descriptor: Lorg/hibernate/type/TypeResolver;
    flags: (0x0002) ACC_PRIVATE

  private final org.hibernate.id.factory.spi.MutableIdentifierGeneratorFactory identifierGeneratorFactory;
    descriptor: Lorg/hibernate/id/factory/spi/MutableIdentifierGeneratorFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.metamodel.relational.Database database;
    descriptor: Lorg/hibernate/metamodel/relational/Database;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.metamodel.source.MappingDefaults mappingDefaults;
    descriptor: Lorg/hibernate/metamodel/source/MappingDefaults;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Map<java.lang.String, org.hibernate.metamodel.binding.EntityBinding> entityBindingMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metamodel/binding/EntityBinding;>;

  private java.util.Map<java.lang.String, org.hibernate.metamodel.binding.PluralAttributeBinding> collectionBindingMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metamodel/binding/PluralAttributeBinding;>;

  private java.util.Map<java.lang.String, org.hibernate.metamodel.binding.FetchProfile> fetchProfiles;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metamodel/binding/FetchProfile;>;

  private java.util.Map<java.lang.String, java.lang.String> imports;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private java.util.Map<java.lang.String, org.hibernate.metamodel.binding.TypeDef> typeDefs;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metamodel/binding/TypeDef;>;

  private java.util.Map<java.lang.String, org.hibernate.metamodel.binding.IdGenerator> idGenerators;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metamodel/binding/IdGenerator;>;

  private java.util.Map<java.lang.String, org.hibernate.engine.spi.NamedQueryDefinition> namedQueryDefs;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/spi/NamedQueryDefinition;>;

  private java.util.Map<java.lang.String, org.hibernate.engine.spi.NamedSQLQueryDefinition> namedNativeQueryDefs;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;>;

  private java.util.Map<java.lang.String, org.hibernate.engine.ResultSetMappingDefinition> resultSetMappings;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/ResultSetMappingDefinition;>;

  private java.util.Map<java.lang.String, org.hibernate.engine.spi.FilterDefinition> filterDefs;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/spi/FilterDefinition;>;

  private boolean globallyQuotedIdentifiers;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final org.hibernate.metamodel.source.MetaAttributeContext globalMetaAttributeContext;
    descriptor: Lorg/hibernate/metamodel/source/MetaAttributeContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.lang.String DEFAULT_IDENTIFIER_COLUMN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "id"

  private static final java.lang.String DEFAULT_DISCRIMINATOR_COLUMN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "class"

  private static final java.lang.String DEFAULT_CASCADE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "none"

  private static final java.lang.String DEFAULT_PROPERTY_ACCESS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "property"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 82
            ldc Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 83
            ldc Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         2: .line 81
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.metamodel.source.internal.MetadataImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         3: .line 496
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.metamodel.MetadataSources, org.hibernate.metamodel.Metadata$Options);
    descriptor: (Lorg/hibernate/metamodel/MetadataSources;Lorg/hibernate/metamodel/Metadata$Options;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.metamodel.MetadataSources metadataSources
        start local 2 // org.hibernate.metamodel.Metadata$Options options
         0: .line 117
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 92
            aload 0 /* this */
            new org.hibernate.type.TypeResolver
            dup
            invokespecial org.hibernate.type.TypeResolver.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.typeResolver:Lorg/hibernate/type/TypeResolver;
         2: .line 103
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.entityBindingMap:Ljava/util/Map;
         3: .line 105
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.collectionBindingMap:Ljava/util/Map;
         4: .line 106
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.fetchProfiles:Ljava/util/Map;
         5: .line 107
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.imports:Ljava/util/Map;
         6: .line 108
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.typeDefs:Ljava/util/Map;
         7: .line 109
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.idGenerators:Ljava/util/Map;
         8: .line 110
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.namedQueryDefs:Ljava/util/Map;
         9: .line 111
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.namedNativeQueryDefs:Ljava/util/Map;
        10: .line 112
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.resultSetMappings:Ljava/util/Map;
        11: .line 113
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.filterDefs:Ljava/util/Map;
        12: .line 115
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.globallyQuotedIdentifiers:Z
        13: .line 481
            aload 0 /* this */
            new org.hibernate.metamodel.source.MetaAttributeContext
            dup
            invokespecial org.hibernate.metamodel.source.MetaAttributeContext.<init>:()V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.globalMetaAttributeContext:Lorg/hibernate/metamodel/source/MetaAttributeContext;
        14: .line 118
            aload 0 /* this */
            aload 2 /* options */
            invokeinterface org.hibernate.metamodel.Metadata$Options.getServiceRegistry:()Lorg/hibernate/boot/registry/StandardServiceRegistry;
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.serviceRegistry:Lorg/hibernate/service/ServiceRegistry;
        15: .line 119
            aload 0 /* this */
            aload 2 /* options */
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.options:Lorg/hibernate/metamodel/Metadata$Options;
        16: .line 120
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.serviceRegistry:Lorg/hibernate/service/ServiceRegistry;
            ldc Lorg/hibernate/id/factory/spi/MutableIdentifierGeneratorFactory;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.id.factory.spi.MutableIdentifierGeneratorFactory
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.identifierGeneratorFactory:Lorg/hibernate/id/factory/spi/MutableIdentifierGeneratorFactory;
        17: .line 122
            aload 0 /* this */
            new org.hibernate.metamodel.relational.Database
            dup
            aload 2 /* options */
            invokespecial org.hibernate.metamodel.relational.Database.<init>:(Lorg/hibernate/metamodel/Metadata$Options;)V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.database:Lorg/hibernate/metamodel/relational/Database;
        18: .line 124
            aload 0 /* this */
            new org.hibernate.metamodel.source.internal.MetadataImpl$MappingDefaultsImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.metamodel.source.internal.MetadataImpl$MappingDefaultsImpl.<init>:(Lorg/hibernate/metamodel/source/internal/MetadataImpl;)V
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.mappingDefaults:Lorg/hibernate/metamodel/source/MappingDefaults;
        19: .line 127
            aload 2 /* options */
            invokeinterface org.hibernate.metamodel.Metadata$Options.getMetadataSourceProcessingOrder:()Lorg/hibernate/metamodel/MetadataSourceProcessingOrder;
            getstatic org.hibernate.metamodel.MetadataSourceProcessingOrder.HBM_FIRST:Lorg/hibernate/metamodel/MetadataSourceProcessingOrder;
            if_acmpne 25
        20: .line 128
            iconst_2
            anewarray org.hibernate.metamodel.source.MetadataSourceProcessor
            dup
            iconst_0
        21: .line 129
            new org.hibernate.metamodel.source.hbm.HbmMetadataSourceProcessorImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.metamodel.source.hbm.HbmMetadataSourceProcessorImpl.<init>:(Lorg/hibernate/metamodel/source/MetadataImplementor;)V
            aastore
            dup
            iconst_1
        22: .line 130
            new org.hibernate.metamodel.source.annotations.AnnotationMetadataSourceProcessorImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.metamodel.source.annotations.AnnotationMetadataSourceProcessorImpl.<init>:(Lorg/hibernate/metamodel/source/internal/MetadataImpl;)V
            aastore
        23: .line 128
            astore 3 /* metadataSourceProcessors */
        start local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        24: .line 132
            goto 29
        end local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        25: .line 134
      StackMap locals: org.hibernate.metamodel.source.internal.MetadataImpl org.hibernate.metamodel.MetadataSources org.hibernate.metamodel.Metadata$Options
      StackMap stack:
            iconst_2
            anewarray org.hibernate.metamodel.source.MetadataSourceProcessor
            dup
            iconst_0
        26: .line 135
            new org.hibernate.metamodel.source.annotations.AnnotationMetadataSourceProcessorImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.metamodel.source.annotations.AnnotationMetadataSourceProcessorImpl.<init>:(Lorg/hibernate/metamodel/source/internal/MetadataImpl;)V
            aastore
            dup
            iconst_1
        27: .line 136
            new org.hibernate.metamodel.source.hbm.HbmMetadataSourceProcessorImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.metamodel.source.hbm.HbmMetadataSourceProcessorImpl.<init>:(Lorg/hibernate/metamodel/source/MetadataImplementor;)V
            aastore
        28: .line 134
            astore 3 /* metadataSourceProcessors */
        start local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        29: .line 140
      StackMap locals: org.hibernate.metamodel.source.MetadataSourceProcessor[]
      StackMap stack:
            aload 0 /* this */
            new org.hibernate.internal.util.ValueHolder
            dup
        30: .line 141
            new org.hibernate.metamodel.source.internal.MetadataImpl$1
            dup
            aload 0 /* this */
            invokespecial org.hibernate.metamodel.source.internal.MetadataImpl$1.<init>:(Lorg/hibernate/metamodel/source/internal/MetadataImpl;)V
            invokespecial org.hibernate.internal.util.ValueHolder.<init>:(Lorg/hibernate/internal/util/ValueHolder$DeferredInitializer;)V
        31: .line 140
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.classLoaderService:Lorg/hibernate/internal/util/ValueHolder;
        32: .line 148
            aload 0 /* this */
            new org.hibernate.internal.util.ValueHolder
            dup
        33: .line 149
            new org.hibernate.metamodel.source.internal.MetadataImpl$2
            dup
            aload 0 /* this */
            invokespecial org.hibernate.metamodel.source.internal.MetadataImpl$2.<init>:(Lorg/hibernate/metamodel/source/internal/MetadataImpl;)V
            invokespecial org.hibernate.internal.util.ValueHolder.<init>:(Lorg/hibernate/internal/util/ValueHolder$DeferredInitializer;)V
        34: .line 148
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.persisterClassResolverService:Lorg/hibernate/internal/util/ValueHolder;
        35: .line 158
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* processedEntityNames */
        start local 4 // java.util.ArrayList processedEntityNames
        36: .line 160
            aload 0 /* this */
            aload 3 /* metadataSourceProcessors */
            aload 1 /* metadataSources */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.prepare:([Lorg/hibernate/metamodel/source/MetadataSourceProcessor;Lorg/hibernate/metamodel/MetadataSources;)V
        37: .line 161
            aload 0 /* this */
            aload 3 /* metadataSourceProcessors */
            aload 1 /* metadataSources */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.bindIndependentMetadata:([Lorg/hibernate/metamodel/source/MetadataSourceProcessor;Lorg/hibernate/metamodel/MetadataSources;)V
        38: .line 162
            aload 0 /* this */
            aload 3 /* metadataSourceProcessors */
            aload 1 /* metadataSources */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.bindTypeDependentMetadata:([Lorg/hibernate/metamodel/source/MetadataSourceProcessor;Lorg/hibernate/metamodel/MetadataSources;)V
        39: .line 163
            aload 0 /* this */
            aload 3 /* metadataSourceProcessors */
            aload 1 /* metadataSources */
            aload 4 /* processedEntityNames */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.bindMappingMetadata:([Lorg/hibernate/metamodel/source/MetadataSourceProcessor;Lorg/hibernate/metamodel/MetadataSources;Ljava/util/List;)V
        40: .line 164
            aload 0 /* this */
            aload 3 /* metadataSourceProcessors */
            aload 1 /* metadataSources */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.bindMappingDependentMetadata:([Lorg/hibernate/metamodel/source/MetadataSourceProcessor;Lorg/hibernate/metamodel/MetadataSources;)V
        41: .line 167
            new org.hibernate.metamodel.source.internal.AssociationResolver
            dup
            aload 0 /* this */
            invokespecial org.hibernate.metamodel.source.internal.AssociationResolver.<init>:(Lorg/hibernate/metamodel/source/MetadataImplementor;)V
            invokevirtual org.hibernate.metamodel.source.internal.AssociationResolver.resolve:()V
        42: .line 168
            new org.hibernate.metamodel.source.internal.HibernateTypeResolver
            dup
            aload 0 /* this */
            invokespecial org.hibernate.metamodel.source.internal.HibernateTypeResolver.<init>:(Lorg/hibernate/metamodel/source/MetadataImplementor;)V
            invokevirtual org.hibernate.metamodel.source.internal.HibernateTypeResolver.resolve:()V
        43: .line 170
            new org.hibernate.metamodel.source.internal.IdentifierGeneratorResolver
            dup
            aload 0 /* this */
            invokespecial org.hibernate.metamodel.source.internal.IdentifierGeneratorResolver.<init>:(Lorg/hibernate/metamodel/source/MetadataImplementor;)V
            invokevirtual org.hibernate.metamodel.source.internal.IdentifierGeneratorResolver.resolve:()V
        44: .line 171
            return
        end local 4 // java.util.ArrayList processedEntityNames
        end local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        end local 2 // org.hibernate.metamodel.Metadata$Options options
        end local 1 // org.hibernate.metamodel.MetadataSources metadataSources
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   45     0                      this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0   45     1           metadataSources  Lorg/hibernate/metamodel/MetadataSources;
            0   45     2                   options  Lorg/hibernate/metamodel/Metadata$Options;
           24   25     3  metadataSourceProcessors  [Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
           29   45     3  metadataSourceProcessors  [Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
           36   45     4      processedEntityNames  Ljava/util/ArrayList<Ljava/lang/String;>;
    MethodParameters:
                 Name  Flags
      metadataSources  
      options          

  private void prepare(org.hibernate.metamodel.source.MetadataSourceProcessor[], org.hibernate.metamodel.MetadataSources);
    descriptor: ([Lorg/hibernate/metamodel/source/MetadataSourceProcessor;Lorg/hibernate/metamodel/MetadataSources;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        start local 2 // org.hibernate.metamodel.MetadataSources metadataSources
         0: .line 174
            aload 1 /* metadataSourceProcessors */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 4
      StackMap locals: org.hibernate.metamodel.source.internal.MetadataImpl org.hibernate.metamodel.source.MetadataSourceProcessor[] org.hibernate.metamodel.MetadataSources top int int org.hibernate.metamodel.source.MetadataSourceProcessor[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* metadataSourceProcessor */
        start local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor metadataSourceProcessor
         2: .line 175
            aload 3 /* metadataSourceProcessor */
            aload 2 /* metadataSources */
            invokeinterface org.hibernate.metamodel.source.MetadataSourceProcessor.prepare:(Lorg/hibernate/metamodel/MetadataSources;)V
        end local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor metadataSourceProcessor
         3: .line 174
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 177
            return
        end local 2 // org.hibernate.metamodel.MetadataSources metadataSources
        end local 1 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    6     0                      this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    6     1  metadataSourceProcessors  [Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
            0    6     2           metadataSources  Lorg/hibernate/metamodel/MetadataSources;
            2    3     3   metadataSourceProcessor  Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
    MethodParameters:
                          Name  Flags
      metadataSourceProcessors  
      metadataSources           

  private void bindIndependentMetadata(org.hibernate.metamodel.source.MetadataSourceProcessor[], org.hibernate.metamodel.MetadataSources);
    descriptor: ([Lorg/hibernate/metamodel/source/MetadataSourceProcessor;Lorg/hibernate/metamodel/MetadataSources;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        start local 2 // org.hibernate.metamodel.MetadataSources metadataSources
         0: .line 180
            aload 1 /* metadataSourceProcessors */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 4
      StackMap locals: org.hibernate.metamodel.source.internal.MetadataImpl org.hibernate.metamodel.source.MetadataSourceProcessor[] org.hibernate.metamodel.MetadataSources top int int org.hibernate.metamodel.source.MetadataSourceProcessor[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* metadataSourceProcessor */
        start local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor metadataSourceProcessor
         2: .line 181
            aload 3 /* metadataSourceProcessor */
            aload 2 /* metadataSources */
            invokeinterface org.hibernate.metamodel.source.MetadataSourceProcessor.processIndependentMetadata:(Lorg/hibernate/metamodel/MetadataSources;)V
        end local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor metadataSourceProcessor
         3: .line 180
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 183
            return
        end local 2 // org.hibernate.metamodel.MetadataSources metadataSources
        end local 1 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    6     0                      this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    6     1  metadataSourceProcessors  [Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
            0    6     2           metadataSources  Lorg/hibernate/metamodel/MetadataSources;
            2    3     3   metadataSourceProcessor  Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
    MethodParameters:
                          Name  Flags
      metadataSourceProcessors  
      metadataSources           

  private void bindTypeDependentMetadata(org.hibernate.metamodel.source.MetadataSourceProcessor[], org.hibernate.metamodel.MetadataSources);
    descriptor: ([Lorg/hibernate/metamodel/source/MetadataSourceProcessor;Lorg/hibernate/metamodel/MetadataSources;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        start local 2 // org.hibernate.metamodel.MetadataSources metadataSources
         0: .line 186
            aload 1 /* metadataSourceProcessors */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 4
      StackMap locals: org.hibernate.metamodel.source.internal.MetadataImpl org.hibernate.metamodel.source.MetadataSourceProcessor[] org.hibernate.metamodel.MetadataSources top int int org.hibernate.metamodel.source.MetadataSourceProcessor[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* metadataSourceProcessor */
        start local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor metadataSourceProcessor
         2: .line 187
            aload 3 /* metadataSourceProcessor */
            aload 2 /* metadataSources */
            invokeinterface org.hibernate.metamodel.source.MetadataSourceProcessor.processTypeDependentMetadata:(Lorg/hibernate/metamodel/MetadataSources;)V
        end local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor metadataSourceProcessor
         3: .line 186
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 189
            return
        end local 2 // org.hibernate.metamodel.MetadataSources metadataSources
        end local 1 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    6     0                      this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    6     1  metadataSourceProcessors  [Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
            0    6     2           metadataSources  Lorg/hibernate/metamodel/MetadataSources;
            2    3     3   metadataSourceProcessor  Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
    MethodParameters:
                          Name  Flags
      metadataSourceProcessors  
      metadataSources           

  private void bindMappingMetadata(org.hibernate.metamodel.source.MetadataSourceProcessor[], org.hibernate.metamodel.MetadataSources, java.util.List<java.lang.String>);
    descriptor: ([Lorg/hibernate/metamodel/source/MetadataSourceProcessor;Lorg/hibernate/metamodel/MetadataSources;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        start local 2 // org.hibernate.metamodel.MetadataSources metadataSources
        start local 3 // java.util.List processedEntityNames
         0: .line 192
            aload 1 /* metadataSourceProcessors */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 4
      StackMap locals: org.hibernate.metamodel.source.internal.MetadataImpl org.hibernate.metamodel.source.MetadataSourceProcessor[] org.hibernate.metamodel.MetadataSources java.util.List top int int org.hibernate.metamodel.source.MetadataSourceProcessor[]
      StackMap stack:
         1: aload 7
            iload 5
            aaload
            astore 4 /* metadataSourceProcessor */
        start local 4 // org.hibernate.metamodel.source.MetadataSourceProcessor metadataSourceProcessor
         2: .line 193
            aload 4 /* metadataSourceProcessor */
            aload 2 /* metadataSources */
            aload 3 /* processedEntityNames */
            invokeinterface org.hibernate.metamodel.source.MetadataSourceProcessor.processMappingMetadata:(Lorg/hibernate/metamodel/MetadataSources;Ljava/util/List;)V
        end local 4 // org.hibernate.metamodel.source.MetadataSourceProcessor metadataSourceProcessor
         3: .line 192
            iinc 5 1
      StackMap locals:
      StackMap stack:
         4: iload 5
            iload 6
            if_icmplt 1
         5: .line 195
            return
        end local 3 // java.util.List processedEntityNames
        end local 2 // org.hibernate.metamodel.MetadataSources metadataSources
        end local 1 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    6     0                      this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    6     1  metadataSourceProcessors  [Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
            0    6     2           metadataSources  Lorg/hibernate/metamodel/MetadataSources;
            0    6     3      processedEntityNames  Ljava/util/List<Ljava/lang/String;>;
            2    3     4   metadataSourceProcessor  Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
    Signature: ([Lorg/hibernate/metamodel/source/MetadataSourceProcessor;Lorg/hibernate/metamodel/MetadataSources;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
                          Name  Flags
      metadataSourceProcessors  
      metadataSources           
      processedEntityNames      

  private void bindMappingDependentMetadata(org.hibernate.metamodel.source.MetadataSourceProcessor[], org.hibernate.metamodel.MetadataSources);
    descriptor: ([Lorg/hibernate/metamodel/source/MetadataSourceProcessor;Lorg/hibernate/metamodel/MetadataSources;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        start local 2 // org.hibernate.metamodel.MetadataSources metadataSources
         0: .line 198
            aload 1 /* metadataSourceProcessors */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 4
      StackMap locals: org.hibernate.metamodel.source.internal.MetadataImpl org.hibernate.metamodel.source.MetadataSourceProcessor[] org.hibernate.metamodel.MetadataSources top int int org.hibernate.metamodel.source.MetadataSourceProcessor[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* metadataSourceProcessor */
        start local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor metadataSourceProcessor
         2: .line 199
            aload 3 /* metadataSourceProcessor */
            aload 2 /* metadataSources */
            invokeinterface org.hibernate.metamodel.source.MetadataSourceProcessor.processMappingDependentMetadata:(Lorg/hibernate/metamodel/MetadataSources;)V
        end local 3 // org.hibernate.metamodel.source.MetadataSourceProcessor metadataSourceProcessor
         3: .line 198
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 201
            return
        end local 2 // org.hibernate.metamodel.MetadataSources metadataSources
        end local 1 // org.hibernate.metamodel.source.MetadataSourceProcessor[] metadataSourceProcessors
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    6     0                      this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    6     1  metadataSourceProcessors  [Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
            0    6     2           metadataSources  Lorg/hibernate/metamodel/MetadataSources;
            2    3     3   metadataSourceProcessor  Lorg/hibernate/metamodel/source/MetadataSourceProcessor;
    MethodParameters:
                          Name  Flags
      metadataSourceProcessors  
      metadataSources           

  public void addFetchProfile(org.hibernate.metamodel.binding.FetchProfile);
    descriptor: (Lorg/hibernate/metamodel/binding/FetchProfile;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.metamodel.binding.FetchProfile profile
         0: .line 205
            aload 1 /* profile */
            ifnull 1
            aload 1 /* profile */
            invokevirtual org.hibernate.metamodel.binding.FetchProfile.getName:()Ljava/lang/String;
            ifnonnull 2
         1: .line 206
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Fetch profile object or name is null: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* profile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.fetchProfiles:Ljava/util/Map;
            aload 1 /* profile */
            invokevirtual org.hibernate.metamodel.binding.FetchProfile.getName:()Ljava/lang/String;
            aload 1 /* profile */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 209
            return
        end local 1 // org.hibernate.metamodel.binding.FetchProfile profile
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    4     1  profile  Lorg/hibernate/metamodel/binding/FetchProfile;
    MethodParameters:
         Name  Flags
      profile  

  public void addFilterDefinition(org.hibernate.engine.spi.FilterDefinition);
    descriptor: (Lorg/hibernate/engine/spi/FilterDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.engine.spi.FilterDefinition def
         0: .line 213
            aload 1 /* def */
            ifnull 1
            aload 1 /* def */
            invokevirtual org.hibernate.engine.spi.FilterDefinition.getFilterName:()Ljava/lang/String;
            ifnonnull 2
         1: .line 214
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Filter definition object or name is null: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* def */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.filterDefs:Ljava/util/Map;
            aload 1 /* def */
            invokevirtual org.hibernate.engine.spi.FilterDefinition.getFilterName:()Ljava/lang/String;
            aload 1 /* def */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 217
            return
        end local 1 // org.hibernate.engine.spi.FilterDefinition def
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    4     1   def  Lorg/hibernate/engine/spi/FilterDefinition;
    MethodParameters:
      Name  Flags
      def   

  public java.lang.Iterable<org.hibernate.engine.spi.FilterDefinition> getFilterDefinitions();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 220
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.filterDefs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/engine/spi/FilterDefinition;>;

  public void addIdGenerator(org.hibernate.metamodel.binding.IdGenerator);
    descriptor: (Lorg/hibernate/metamodel/binding/IdGenerator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.metamodel.binding.IdGenerator generator
         0: .line 225
            aload 1 /* generator */
            ifnull 1
            aload 1 /* generator */
            invokevirtual org.hibernate.metamodel.binding.IdGenerator.getName:()Ljava/lang/String;
            ifnonnull 2
         1: .line 226
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "ID generator object or name is null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.idGenerators:Ljava/util/Map;
            aload 1 /* generator */
            invokevirtual org.hibernate.metamodel.binding.IdGenerator.getName:()Ljava/lang/String;
            aload 1 /* generator */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 229
            return
        end local 1 // org.hibernate.metamodel.binding.IdGenerator generator
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    4     1  generator  Lorg/hibernate/metamodel/binding/IdGenerator;
    MethodParameters:
           Name  Flags
      generator  

  public org.hibernate.metamodel.binding.IdGenerator getIdGenerator(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/metamodel/binding/IdGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String name
         0: .line 233
            aload 1 /* name */
            ifnonnull 2
         1: .line 234
            new java.lang.IllegalArgumentException
            dup
            ldc "null is not a valid generator name"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.idGenerators:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.IdGenerator
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void registerIdentifierGenerator(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String generatorClassName
         0: .line 240
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.identifierGeneratorFactory:Lorg/hibernate/id/factory/spi/MutableIdentifierGeneratorFactory;
            aload 1 /* name */
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.classLoaderService:()Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            aload 2 /* generatorClassName */
            invokeinterface org.hibernate.boot.registry.classloading.spi.ClassLoaderService.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            invokeinterface org.hibernate.id.factory.spi.MutableIdentifierGeneratorFactory.register:(Ljava/lang/String;Ljava/lang/Class;)V
         1: .line 241
            return
        end local 2 // java.lang.String generatorClassName
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    2     1                name  Ljava/lang/String;
            0    2     2  generatorClassName  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      name                
      generatorClassName  

  public void addNamedNativeQuery(org.hibernate.engine.spi.NamedSQLQueryDefinition);
    descriptor: (Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.engine.spi.NamedSQLQueryDefinition def
         0: .line 245
            aload 1 /* def */
            ifnull 1
            aload 1 /* def */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getName:()Ljava/lang/String;
            ifnonnull 2
         1: .line 246
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Named native query definition object or name is null: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* def */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getQueryString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.namedNativeQueryDefs:Ljava/util/Map;
            aload 1 /* def */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinition.getName:()Ljava/lang/String;
            aload 1 /* def */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 249
            return
        end local 1 // org.hibernate.engine.spi.NamedSQLQueryDefinition def
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    4     1   def  Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
    MethodParameters:
      Name  Flags
      def   

  public org.hibernate.engine.spi.NamedSQLQueryDefinition getNamedNativeQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String name
         0: .line 252
            aload 1 /* name */
            ifnonnull 2
         1: .line 253
            new java.lang.IllegalArgumentException
            dup
            ldc "null is not a valid native query name"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.namedNativeQueryDefs:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.NamedSQLQueryDefinition
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.Iterable<org.hibernate.engine.spi.NamedSQLQueryDefinition> getNamedNativeQueryDefinitions();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 260
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.namedNativeQueryDefs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;>;

  public void addNamedQuery(org.hibernate.engine.spi.NamedQueryDefinition);
    descriptor: (Lorg/hibernate/engine/spi/NamedQueryDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.engine.spi.NamedQueryDefinition def
         0: .line 265
            aload 1 /* def */
            ifnonnull 2
         1: .line 266
            new java.lang.IllegalArgumentException
            dup
            ldc "Named query definition is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 268
      StackMap locals:
      StackMap stack:
            aload 1 /* def */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getName:()Ljava/lang/String;
            ifnonnull 4
         3: .line 269
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Named query definition name is null: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* def */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getQueryString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.namedQueryDefs:Ljava/util/Map;
            aload 1 /* def */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinition.getName:()Ljava/lang/String;
            aload 1 /* def */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 272
            return
        end local 1 // org.hibernate.engine.spi.NamedQueryDefinition def
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    6     1   def  Lorg/hibernate/engine/spi/NamedQueryDefinition;
    MethodParameters:
      Name  Flags
      def   

  public org.hibernate.engine.spi.NamedQueryDefinition getNamedQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedQueryDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String name
         0: .line 275
            aload 1 /* name */
            ifnonnull 2
         1: .line 276
            new java.lang.IllegalArgumentException
            dup
            ldc "null is not a valid query name"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.namedQueryDefs:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.NamedQueryDefinition
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.Iterable<org.hibernate.engine.spi.NamedQueryDefinition> getNamedQueryDefinitions();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 283
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.namedQueryDefs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/engine/spi/NamedQueryDefinition;>;

  public void addResultSetMapping(org.hibernate.engine.ResultSetMappingDefinition);
    descriptor: (Lorg/hibernate/engine/ResultSetMappingDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.engine.ResultSetMappingDefinition resultSetMappingDefinition
         0: .line 288
            aload 1 /* resultSetMappingDefinition */
            ifnull 1
            aload 1 /* resultSetMappingDefinition */
            invokevirtual org.hibernate.engine.ResultSetMappingDefinition.getName:()Ljava/lang/String;
            ifnonnull 2
         1: .line 289
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Result-set mapping object or name is null: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resultSetMappingDefinition */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.resultSetMappings:Ljava/util/Map;
            aload 1 /* resultSetMappingDefinition */
            invokevirtual org.hibernate.engine.ResultSetMappingDefinition.getName:()Ljava/lang/String;
            aload 1 /* resultSetMappingDefinition */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 292
            return
        end local 1 // org.hibernate.engine.ResultSetMappingDefinition resultSetMappingDefinition
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    4     0                        this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    4     1  resultSetMappingDefinition  Lorg/hibernate/engine/ResultSetMappingDefinition;
    MethodParameters:
                            Name  Flags
      resultSetMappingDefinition  

  public java.lang.Iterable<org.hibernate.engine.ResultSetMappingDefinition> getResultSetMappingDefinitions();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 296
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.resultSetMappings:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/engine/ResultSetMappingDefinition;>;

  public void addTypeDefinition(org.hibernate.metamodel.binding.TypeDef);
    descriptor: (Lorg/hibernate/metamodel/binding/TypeDef;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.metamodel.binding.TypeDef typeDef
         0: .line 301
            aload 1 /* typeDef */
            ifnonnull 2
         1: .line 302
            new java.lang.IllegalArgumentException
            dup
            ldc "Type definition is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 304
      StackMap locals:
      StackMap stack:
            aload 1 /* typeDef */
            invokevirtual org.hibernate.metamodel.binding.TypeDef.getName:()Ljava/lang/String;
            ifnonnull 4
         3: .line 305
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Type definition name is null: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* typeDef */
            invokevirtual org.hibernate.metamodel.binding.TypeDef.getTypeClass:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.typeDefs:Ljava/util/Map;
            aload 1 /* typeDef */
            invokevirtual org.hibernate.metamodel.binding.TypeDef.getName:()Ljava/lang/String;
            aload 1 /* typeDef */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.TypeDef
            astore 2 /* previous */
        start local 2 // org.hibernate.metamodel.binding.TypeDef previous
         5: .line 308
            aload 2 /* previous */
            ifnull 7
         6: .line 309
            getstatic org.hibernate.metamodel.source.internal.MetadataImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Duplicate typedef name [%s] now -> %s"
            aload 1 /* typeDef */
            invokevirtual org.hibernate.metamodel.binding.TypeDef.getName:()Ljava/lang/String;
            aload 1 /* typeDef */
            invokevirtual org.hibernate.metamodel.binding.TypeDef.getTypeClass:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 311
      StackMap locals: org.hibernate.metamodel.binding.TypeDef
      StackMap stack:
            return
        end local 2 // org.hibernate.metamodel.binding.TypeDef previous
        end local 1 // org.hibernate.metamodel.binding.TypeDef typeDef
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    8     1   typeDef  Lorg/hibernate/metamodel/binding/TypeDef;
            5    8     2  previous  Lorg/hibernate/metamodel/binding/TypeDef;
    MethodParameters:
         Name  Flags
      typeDef  

  public java.lang.Iterable<org.hibernate.metamodel.binding.TypeDef> getTypeDefinitions();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 315
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.typeDefs:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/TypeDef;>;

  public org.hibernate.metamodel.binding.TypeDef getTypeDefinition(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/metamodel/binding/TypeDef;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String name
         0: .line 320
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.typeDefs:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.TypeDef
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private org.hibernate.boot.registry.classloading.spi.ClassLoaderService classLoaderService();
    descriptor: ()Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 324
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.classLoaderService:Lorg/hibernate/internal/util/ValueHolder;
            invokevirtual org.hibernate.internal.util.ValueHolder.getValue:()Ljava/lang/Object;
            checkcast org.hibernate.boot.registry.classloading.spi.ClassLoaderService
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  private org.hibernate.persister.spi.PersisterClassResolver persisterClassResolverService();
    descriptor: ()Lorg/hibernate/persister/spi/PersisterClassResolver;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 328
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.persisterClassResolverService:Lorg/hibernate/internal/util/ValueHolder;
            invokevirtual org.hibernate.internal.util.ValueHolder.getValue:()Ljava/lang/Object;
            checkcast org.hibernate.persister.spi.PersisterClassResolver
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public org.hibernate.metamodel.Metadata$Options getOptions();
    descriptor: ()Lorg/hibernate/metamodel/Metadata$Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 333
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.options:Lorg/hibernate/metamodel/Metadata$Options;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public org.hibernate.service.ServiceRegistry getServiceRegistry();
    descriptor: ()Lorg/hibernate/service/ServiceRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 338
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.serviceRegistry:Lorg/hibernate/service/ServiceRegistry;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public <T> java.lang.Class<T> locateClassByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String name
         0: .line 344
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.classLoaderService:()Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            aload 1 /* name */
            invokeinterface org.hibernate.boot.registry.classloading.spi.ClassLoaderService.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    1     1  name  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)Ljava/lang/Class<TT;>;
    MethodParameters:
      Name  Flags
      name  

  public org.hibernate.metamodel.domain.Type makeJavaType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/metamodel/domain/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String className
         0: .line 350
            new org.hibernate.metamodel.domain.BasicType
            dup
            aload 1 /* className */
            aload 0 /* this */
            aload 1 /* className */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.makeClassReference:(Ljava/lang/String;)Lorg/hibernate/internal/util/ValueHolder;
            invokespecial org.hibernate.metamodel.domain.BasicType.<init>:(Ljava/lang/String;Lorg/hibernate/internal/util/ValueHolder;)V
            areturn
        end local 1 // java.lang.String className
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    1     1  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  public org.hibernate.internal.util.ValueHolder<java.lang.Class<?>> makeClassReference(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/internal/util/ValueHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String className
         0: .line 355
            new org.hibernate.internal.util.ValueHolder
            dup
         1: .line 356
            new org.hibernate.metamodel.source.internal.MetadataImpl$3
            dup
            aload 0 /* this */
            aload 1 /* className */
            invokespecial org.hibernate.metamodel.source.internal.MetadataImpl$3.<init>:(Lorg/hibernate/metamodel/source/internal/MetadataImpl;Ljava/lang/String;)V
         2: .line 355
            invokespecial org.hibernate.internal.util.ValueHolder.<init>:(Lorg/hibernate/internal/util/ValueHolder$DeferredInitializer;)V
            areturn
        end local 1 // java.lang.String className
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    3     1  className  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Lorg/hibernate/internal/util/ValueHolder<Ljava/lang/Class<*>;>;
    MethodParameters:
           Name  Flags
      className  final

  public java.lang.String qualifyClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String name
         0: .line 367
            aload 1 /* name */
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.hibernate.metamodel.relational.Database getDatabase();
    descriptor: ()Lorg/hibernate/metamodel/relational/Database;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 372
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.database:Lorg/hibernate/metamodel/relational/Database;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public org.hibernate.metamodel.binding.EntityBinding getEntityBinding(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/metamodel/binding/EntityBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String entityName
         0: .line 376
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.entityBindingMap:Ljava/util/Map;
            aload 1 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.EntityBinding
            areturn
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    1     1  entityName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      entityName  

  public org.hibernate.metamodel.binding.EntityBinding getRootEntityBinding(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/metamodel/binding/EntityBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String entityName
         0: .line 381
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.entityBindingMap:Ljava/util/Map;
            aload 1 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.EntityBinding
            astore 2 /* binding */
        start local 2 // org.hibernate.metamodel.binding.EntityBinding binding
         1: .line 382
            aload 2 /* binding */
            ifnonnull 3
         2: .line 383
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown entity binding: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* entityName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 387
      StackMap locals: org.hibernate.metamodel.binding.EntityBinding
      StackMap stack:
            aload 2 /* binding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isRoot:()Z
            ifeq 5
         4: .line 388
            aload 2 /* binding */
            areturn
         5: .line 390
      StackMap locals:
      StackMap stack:
            aload 2 /* binding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getSuperEntityBinding:()Lorg/hibernate/metamodel/binding/EntityBinding;
            astore 2 /* binding */
         6: .line 391
            aload 2 /* binding */
            ifnonnull 3
         7: .line 393
            new org.hibernate.AssertionFailure
            dup
            new java.lang.StringBuilder
            dup
            ldc "Entity binding has no root: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* entityName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.hibernate.metamodel.binding.EntityBinding binding
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    8     1  entityName  Ljava/lang/String;
            1    8     2     binding  Lorg/hibernate/metamodel/binding/EntityBinding;
    MethodParameters:
            Name  Flags
      entityName  

  public java.lang.Iterable<org.hibernate.metamodel.binding.EntityBinding> getEntityBindings();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 397
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.entityBindingMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/EntityBinding;>;

  public void addEntity(org.hibernate.metamodel.binding.EntityBinding);
    descriptor: (Lorg/hibernate/metamodel/binding/EntityBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.metamodel.binding.EntityBinding entityBinding
         0: .line 401
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
            astore 2 /* entityName */
        start local 2 // java.lang.String entityName
         1: .line 402
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.entityBindingMap:Ljava/util/Map;
            aload 2 /* entityName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 403
            new org.hibernate.DuplicateMappingException
            dup
            getstatic org.hibernate.DuplicateMappingException$Type.ENTITY:Lorg/hibernate/DuplicateMappingException$Type;
            aload 2 /* entityName */
            invokespecial org.hibernate.DuplicateMappingException.<init>:(Lorg/hibernate/DuplicateMappingException$Type;Ljava/lang/String;)V
            athrow
         3: .line 405
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.entityBindingMap:Ljava/util/Map;
            aload 2 /* entityName */
            aload 1 /* entityBinding */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 406
            return
        end local 2 // java.lang.String entityName
        end local 1 // org.hibernate.metamodel.binding.EntityBinding entityBinding
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    5     1  entityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
            1    5     2     entityName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      entityBinding  

  public org.hibernate.metamodel.binding.PluralAttributeBinding getCollection(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/metamodel/binding/PluralAttributeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String collectionRole
         0: .line 409
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.collectionBindingMap:Ljava/util/Map;
            aload 1 /* collectionRole */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.PluralAttributeBinding
            areturn
        end local 1 // java.lang.String collectionRole
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    1     1  collectionRole  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      collectionRole  

  public java.lang.Iterable<org.hibernate.metamodel.binding.PluralAttributeBinding> getCollectionBindings();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 414
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.collectionBindingMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/PluralAttributeBinding;>;

  public void addCollection(org.hibernate.metamodel.binding.PluralAttributeBinding);
    descriptor: (Lorg/hibernate/metamodel/binding/PluralAttributeBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // org.hibernate.metamodel.binding.PluralAttributeBinding pluralAttributeBinding
         0: .line 418
            aload 1 /* pluralAttributeBinding */
            invokeinterface org.hibernate.metamodel.binding.PluralAttributeBinding.getContainer:()Lorg/hibernate/metamodel/binding/AttributeBindingContainer;
            invokeinterface org.hibernate.metamodel.binding.AttributeBindingContainer.getPathBase:()Ljava/lang/String;
            astore 2 /* owningEntityName */
        start local 2 // java.lang.String owningEntityName
         1: .line 419
            aload 1 /* pluralAttributeBinding */
            invokeinterface org.hibernate.metamodel.binding.PluralAttributeBinding.getAttribute:()Lorg/hibernate/metamodel/domain/PluralAttribute;
            invokeinterface org.hibernate.metamodel.domain.PluralAttribute.getName:()Ljava/lang/String;
            astore 3 /* attributeName */
        start local 3 // java.lang.String attributeName
         2: .line 420
            new java.lang.StringBuilder
            dup
            aload 2 /* owningEntityName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 3 /* attributeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* collectionRole */
        start local 4 // java.lang.String collectionRole
         3: .line 421
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.collectionBindingMap:Ljava/util/Map;
            aload 4 /* collectionRole */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 422
            new org.hibernate.DuplicateMappingException
            dup
            getstatic org.hibernate.DuplicateMappingException$Type.ENTITY:Lorg/hibernate/DuplicateMappingException$Type;
            aload 4 /* collectionRole */
            invokespecial org.hibernate.DuplicateMappingException.<init>:(Lorg/hibernate/DuplicateMappingException$Type;Ljava/lang/String;)V
            athrow
         5: .line 424
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.collectionBindingMap:Ljava/util/Map;
            aload 4 /* collectionRole */
            aload 1 /* pluralAttributeBinding */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 425
            return
        end local 4 // java.lang.String collectionRole
        end local 3 // java.lang.String attributeName
        end local 2 // java.lang.String owningEntityName
        end local 1 // org.hibernate.metamodel.binding.PluralAttributeBinding pluralAttributeBinding
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    7     0                    this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    7     1  pluralAttributeBinding  Lorg/hibernate/metamodel/binding/PluralAttributeBinding;
            1    7     2        owningEntityName  Ljava/lang/String;
            2    7     3           attributeName  Ljava/lang/String;
            3    7     4          collectionRole  Ljava/lang/String;
    MethodParameters:
                        Name  Flags
      pluralAttributeBinding  

  public void addImport(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String importName
        start local 2 // java.lang.String entityName
         0: .line 428
            aload 1 /* importName */
            ifnull 1
            aload 2 /* entityName */
            ifnonnull 2
         1: .line 429
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Import name or entity name is null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 431
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.metamodel.source.internal.MetadataImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Import: {0} -> {1}"
            aload 1 /* importName */
            aload 2 /* entityName */
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 432
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.imports:Ljava/util/Map;
            aload 1 /* importName */
            aload 2 /* entityName */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* old */
        start local 3 // java.lang.String old
         4: .line 433
            aload 3 /* old */
            ifnull 6
         5: .line 434
            getstatic org.hibernate.metamodel.source.internal.MetadataImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "import name ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* importName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] overrode previous [{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* old */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
         6: .line 436
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 3 // java.lang.String old
        end local 2 // java.lang.String entityName
        end local 1 // java.lang.String importName
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    7     1  importName  Ljava/lang/String;
            0    7     2  entityName  Ljava/lang/String;
            4    7     3         old  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      importName  
      entityName  

  public java.lang.Iterable<java.util.Map$Entry<java.lang.String, java.lang.String>> getImports();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 440
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.imports:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
    Signature: ()Ljava/lang/Iterable<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;

  public java.lang.Iterable<org.hibernate.metamodel.binding.FetchProfile> getFetchProfiles();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 445
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.fetchProfiles:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/FetchProfile;>;

  public org.hibernate.type.TypeResolver getTypeResolver();
    descriptor: ()Lorg/hibernate/type/TypeResolver;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 449
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.typeResolver:Lorg/hibernate/type/TypeResolver;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public org.hibernate.metamodel.SessionFactoryBuilder getSessionFactoryBuilder();
    descriptor: ()Lorg/hibernate/metamodel/SessionFactoryBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 454
            new org.hibernate.metamodel.source.internal.SessionFactoryBuilderImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.metamodel.source.internal.SessionFactoryBuilderImpl.<init>:(Lorg/hibernate/metamodel/source/MetadataImplementor;)V
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public org.hibernate.SessionFactory buildSessionFactory();
    descriptor: ()Lorg/hibernate/SessionFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 459
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.getSessionFactoryBuilder:()Lorg/hibernate/metamodel/SessionFactoryBuilder;
            invokeinterface org.hibernate.metamodel.SessionFactoryBuilder.build:()Lorg/hibernate/SessionFactory;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public org.hibernate.cfg.NamingStrategy getNamingStrategy();
    descriptor: ()Lorg/hibernate/cfg/NamingStrategy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 464
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.options:Lorg/hibernate/metamodel/Metadata$Options;
            invokeinterface org.hibernate.metamodel.Metadata$Options.getNamingStrategy:()Lorg/hibernate/cfg/NamingStrategy;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public boolean isGloballyQuotedIdentifiers();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 469
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.globallyQuotedIdentifiers:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.getOptions:()Lorg/hibernate/metamodel/Metadata$Options;
            invokeinterface org.hibernate.metamodel.Metadata$Options.isGloballyQuotedIdentifiers:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public void setGloballyQuotedIdentifiers(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // boolean globallyQuotedIdentifiers
         0: .line 473
            aload 0 /* this */
            iload 1 /* globallyQuotedIdentifiers */
            putfield org.hibernate.metamodel.source.internal.MetadataImpl.globallyQuotedIdentifiers:Z
         1: .line 474
            return
        end local 1 // boolean globallyQuotedIdentifiers
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    2     1  globallyQuotedIdentifiers  Z
    MethodParameters:
                           Name  Flags
      globallyQuotedIdentifiers  

  public org.hibernate.metamodel.source.MappingDefaults getMappingDefaults();
    descriptor: ()Lorg/hibernate/metamodel/source/MappingDefaults;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 478
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.mappingDefaults:Lorg/hibernate/metamodel/source/MappingDefaults;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public org.hibernate.metamodel.source.MetaAttributeContext getGlobalMetaAttributeContext();
    descriptor: ()Lorg/hibernate/metamodel/source/MetaAttributeContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 485
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.globalMetaAttributeContext:Lorg/hibernate/metamodel/source/MetaAttributeContext;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public org.hibernate.metamodel.source.MetadataImplementor getMetadataImplementor();
    descriptor: ()Lorg/hibernate/metamodel/source/MetadataImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 490
            aload 0 /* this */
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public org.hibernate.id.factory.IdentifierGeneratorFactory getIdentifierGeneratorFactory();
    descriptor: ()Lorg/hibernate/id/factory/IdentifierGeneratorFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
         0: .line 500
            aload 0 /* this */
            getfield org.hibernate.metamodel.source.internal.MetadataImpl.identifierGeneratorFactory:Lorg/hibernate/id/factory/spi/MutableIdentifierGeneratorFactory;
            areturn
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;

  public org.hibernate.type.Type getIdentifierType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String entityName
         0: .line 505
            aload 0 /* this */
            aload 1 /* entityName */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.getEntityBinding:(Ljava/lang/String;)Lorg/hibernate/metamodel/binding/EntityBinding;
            astore 2 /* entityBinding */
        start local 2 // org.hibernate.metamodel.binding.EntityBinding entityBinding
         1: .line 506
            aload 2 /* entityBinding */
            ifnonnull 3
         2: .line 507
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Entity binding not known: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* entityName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 509
      StackMap locals: org.hibernate.metamodel.binding.EntityBinding
      StackMap stack:
            aload 2 /* entityBinding */
         4: .line 510
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
         5: .line 511
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getEntityIdentifier:()Lorg/hibernate/metamodel/binding/EntityIdentifier;
         6: .line 512
            invokevirtual org.hibernate.metamodel.binding.EntityIdentifier.getValueBinding:()Lorg/hibernate/metamodel/binding/BasicAttributeBinding;
         7: .line 513
            invokevirtual org.hibernate.metamodel.binding.BasicAttributeBinding.getHibernateTypeDescriptor:()Lorg/hibernate/metamodel/binding/HibernateTypeDescriptor;
         8: .line 514
            invokevirtual org.hibernate.metamodel.binding.HibernateTypeDescriptor.getResolvedTypeMapping:()Lorg/hibernate/type/Type;
         9: .line 509
            areturn
        end local 2 // org.hibernate.metamodel.binding.EntityBinding entityBinding
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0   10     1     entityName  Ljava/lang/String;
            1   10     2  entityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
            Name  Flags
      entityName  

  public java.lang.String getIdentifierPropertyName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String entityName
         0: .line 519
            aload 0 /* this */
            aload 1 /* entityName */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.getEntityBinding:(Ljava/lang/String;)Lorg/hibernate/metamodel/binding/EntityBinding;
            astore 2 /* entityBinding */
        start local 2 // org.hibernate.metamodel.binding.EntityBinding entityBinding
         1: .line 520
            aload 2 /* entityBinding */
            ifnonnull 3
         2: .line 521
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Entity binding not known: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* entityName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 523
      StackMap locals: org.hibernate.metamodel.binding.EntityBinding
      StackMap stack:
            aload 2 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getEntityIdentifier:()Lorg/hibernate/metamodel/binding/EntityIdentifier;
            invokevirtual org.hibernate.metamodel.binding.EntityIdentifier.getValueBinding:()Lorg/hibernate/metamodel/binding/BasicAttributeBinding;
            astore 3 /* idBinding */
        start local 3 // org.hibernate.metamodel.binding.AttributeBinding idBinding
         4: .line 524
            aload 3 /* idBinding */
            ifnonnull 5
            aconst_null
            goto 6
      StackMap locals: org.hibernate.metamodel.binding.AttributeBinding
      StackMap stack:
         5: aload 3 /* idBinding */
            invokeinterface org.hibernate.metamodel.binding.AttributeBinding.getAttribute:()Lorg/hibernate/metamodel/domain/Attribute;
            invokeinterface org.hibernate.metamodel.domain.Attribute.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         6: areturn
        end local 3 // org.hibernate.metamodel.binding.AttributeBinding idBinding
        end local 2 // org.hibernate.metamodel.binding.EntityBinding entityBinding
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    7     1     entityName  Ljava/lang/String;
            1    7     2  entityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
            4    7     3      idBinding  Lorg/hibernate/metamodel/binding/AttributeBinding;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
            Name  Flags
      entityName  

  public org.hibernate.type.Type getReferencedPropertyType(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
        start local 1 // java.lang.String entityName
        start local 2 // java.lang.String propertyName
         0: .line 529
            aload 0 /* this */
            aload 1 /* entityName */
            invokevirtual org.hibernate.metamodel.source.internal.MetadataImpl.getEntityBinding:(Ljava/lang/String;)Lorg/hibernate/metamodel/binding/EntityBinding;
            astore 3 /* entityBinding */
        start local 3 // org.hibernate.metamodel.binding.EntityBinding entityBinding
         1: .line 530
            aload 3 /* entityBinding */
            ifnonnull 3
         2: .line 531
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Entity binding not known: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* entityName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 534
      StackMap locals: org.hibernate.metamodel.binding.EntityBinding
      StackMap stack:
            aload 3 /* entityBinding */
            aload 2 /* propertyName */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.locateAttributeBinding:(Ljava/lang/String;)Lorg/hibernate/metamodel/binding/AttributeBinding;
            astore 4 /* attributeBinding */
        start local 4 // org.hibernate.metamodel.binding.AttributeBinding attributeBinding
         4: .line 535
            aload 4 /* attributeBinding */
            ifnonnull 6
         5: .line 536
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown property: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* entityName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* propertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 538
      StackMap locals: org.hibernate.metamodel.binding.AttributeBinding
      StackMap stack:
            aload 4 /* attributeBinding */
            invokeinterface org.hibernate.metamodel.binding.AttributeBinding.getHibernateTypeDescriptor:()Lorg/hibernate/metamodel/binding/HibernateTypeDescriptor;
            invokevirtual org.hibernate.metamodel.binding.HibernateTypeDescriptor.getResolvedTypeMapping:()Lorg/hibernate/type/Type;
            areturn
        end local 4 // org.hibernate.metamodel.binding.AttributeBinding attributeBinding
        end local 3 // org.hibernate.metamodel.binding.EntityBinding entityBinding
        end local 2 // java.lang.String propertyName
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.metamodel.source.internal.MetadataImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/hibernate/metamodel/source/internal/MetadataImpl;
            0    7     1        entityName  Ljava/lang/String;
            0    7     2      propertyName  Ljava/lang/String;
            1    7     3     entityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
            4    7     4  attributeBinding  Lorg/hibernate/metamodel/binding/AttributeBinding;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
              Name  Flags
      entityName    
      propertyName  
}
SourceFile: "MetadataImpl.java"
NestMembers:
  org.hibernate.metamodel.source.internal.MetadataImpl$1  org.hibernate.metamodel.source.internal.MetadataImpl$2  org.hibernate.metamodel.source.internal.MetadataImpl$3  org.hibernate.metamodel.source.internal.MetadataImpl$MappingDefaultsImpl  org.hibernate.metamodel.source.internal.MetadataImpl$MappingDefaultsImpl$1
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Type = org.hibernate.DuplicateMappingException$Type of org.hibernate.DuplicateMappingException
  public abstract DeferredInitializer = org.hibernate.internal.util.ValueHolder$DeferredInitializer of org.hibernate.internal.util.ValueHolder
  public abstract Options = org.hibernate.metamodel.Metadata$Options of org.hibernate.metamodel.Metadata
  org.hibernate.metamodel.source.internal.MetadataImpl$1
  org.hibernate.metamodel.source.internal.MetadataImpl$2
  org.hibernate.metamodel.source.internal.MetadataImpl$3
  private MappingDefaultsImpl = org.hibernate.metamodel.source.internal.MetadataImpl$MappingDefaultsImpl of org.hibernate.metamodel.source.internal.MetadataImpl