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

  private static final java.lang.Object ENTITY_NAME_RESOLVER_MAP_VALUE;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private final org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory;
    descriptor: Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.util.Map<java.lang.String, org.hibernate.persister.entity.EntityPersister> entityPersisterMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/persister/entity/EntityPersister;>;

  private final java.util.Map<java.lang.Class, java.lang.String> entityProxyInterfaceMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class;Ljava/lang/String;>;

  private final java.util.Map<java.lang.String, org.hibernate.persister.collection.CollectionPersister> collectionPersisterMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/persister/collection/CollectionPersister;>;

  private final java.util.Map<java.lang.String, java.util.Set<java.lang.String>> collectionRolesByEntityParticipant;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;

  private final java.util.concurrent.ConcurrentMap<org.hibernate.EntityNameResolver, java.lang.Object> entityNameResolvers;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Lorg/hibernate/EntityNameResolver;Ljava/lang/Object;>;

  private final java.util.Map<java.lang.Class<?>, org.hibernate.metamodel.internal.EntityTypeImpl<?>> jpaEntityTypeMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lorg/hibernate/metamodel/internal/EntityTypeImpl<*>;>;

  private final java.util.Map<java.lang.Class<?>, org.hibernate.metamodel.internal.EmbeddableTypeImpl<?>> jpaEmbeddableTypeMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lorg/hibernate/metamodel/internal/EmbeddableTypeImpl<*>;>;

  private final java.util.Map<java.lang.Class<?>, javax.persistence.metamodel.MappedSuperclassType<?>> jpaMappedSuperclassTypeMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljavax/persistence/metamodel/MappedSuperclassType<*>;>;

  private final java.util.Map<java.lang.String, org.hibernate.metamodel.internal.EntityTypeImpl<?>> jpaEntityTypesByEntityName;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metamodel/internal/EntityTypeImpl<*>;>;

  private final transient java.util.Map<java.lang.String, javax.persistence.EntityGraph> entityGraphMap;
    descriptor: Ljava/util/Map;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Ljava/util/Map<Ljava/lang/String;Ljavax/persistence/EntityGraph;>;

  private final org.hibernate.type.spi.TypeConfiguration typeConfiguration;
    descriptor: Lorg/hibernate/type/spi/TypeConfiguration;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 78
            ldc Lorg/hibernate/metamodel/internal/MetamodelImpl;
            invokestatic org.hibernate.internal.HEMLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/EntityManagerMessageLogger;
            putstatic org.hibernate.metamodel.internal.MetamodelImpl.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
         1: .line 79
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic org.hibernate.metamodel.internal.MetamodelImpl.ENTITY_NAME_RESOLVER_MAP_VALUE:Ljava/lang/Object;
         2: .line 80
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.type.spi.TypeConfiguration);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/type/spi/TypeConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        start local 2 // org.hibernate.type.spi.TypeConfiguration typeConfiguration
         0: .line 101
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.metamodel.internal.MetamodelImpl.imports:Ljava/util/Map;
         2: .line 85
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.metamodel.internal.MetamodelImpl.entityPersisterMap:Ljava/util/Map;
         3: .line 86
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.metamodel.internal.MetamodelImpl.entityProxyInterfaceMap:Ljava/util/Map;
         4: .line 87
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.metamodel.internal.MetamodelImpl.collectionPersisterMap:Ljava/util/Map;
         5: .line 88
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.metamodel.internal.MetamodelImpl.collectionRolesByEntityParticipant:Ljava/util/Map;
         6: .line 89
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.metamodel.internal.MetamodelImpl.entityNameResolvers:Ljava/util/concurrent/ConcurrentMap;
         7: .line 92
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEntityTypeMap:Ljava/util/Map;
         8: .line 93
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEmbeddableTypeMap:Ljava/util/Map;
         9: .line 94
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.metamodel.internal.MetamodelImpl.jpaMappedSuperclassTypeMap:Ljava/util/Map;
        10: .line 95
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEntityTypesByEntityName:Ljava/util/Map;
        11: .line 97
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.metamodel.internal.MetamodelImpl.entityGraphMap:Ljava/util/Map;
        12: .line 102
            aload 0 /* this */
            aload 1 /* sessionFactory */
            putfield org.hibernate.metamodel.internal.MetamodelImpl.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
        13: .line 103
            aload 0 /* this */
            aload 2 /* typeConfiguration */
            putfield org.hibernate.metamodel.internal.MetamodelImpl.typeConfiguration:Lorg/hibernate/type/spi/TypeConfiguration;
        14: .line 104
            return
        end local 2 // org.hibernate.type.spi.TypeConfiguration typeConfiguration
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0   15     1     sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0   15     2  typeConfiguration  Lorg/hibernate/type/spi/TypeConfiguration;
    MethodParameters:
                   Name  Flags
      sessionFactory     
      typeConfiguration  

  public void initialize(org.hibernate.boot.spi.MetadataImplementor, org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting);
    descriptor: (Lorg/hibernate/boot/spi/MetadataImplementor;Lorg/hibernate/metamodel/internal/JpaMetaModelPopulationSetting;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=14, args_size=3
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // org.hibernate.boot.spi.MetadataImplementor mappingMetadata
        start local 2 // org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting jpaMetaModelPopulationSetting
         0: .line 114
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.imports:Ljava/util/Map;
            aload 1 /* mappingMetadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getImports:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         1: .line 116
            aload 0 /* this */
            aload 1 /* mappingMetadata */
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.primeSecondLevelCacheRegions:(Lorg/hibernate/boot/spi/MetadataImplementor;)V
         2: .line 118
            new org.hibernate.metamodel.internal.MetamodelImpl$1
            dup
            aload 0 /* this */
            aload 1 /* mappingMetadata */
            invokespecial org.hibernate.metamodel.internal.MetamodelImpl$1.<init>:(Lorg/hibernate/metamodel/internal/MetamodelImpl;Lorg/hibernate/boot/spi/MetadataImplementor;)V
            astore 3 /* persisterCreationContext */
        start local 3 // org.hibernate.persister.spi.PersisterCreationContext persisterCreationContext
         3: .line 130
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            ldc Lorg/hibernate/persister/spi/PersisterFactory;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.persister.spi.PersisterFactory
            astore 4 /* persisterFactory */
        start local 4 // org.hibernate.persister.spi.PersisterFactory persisterFactory
         4: .line 132
            aload 1 /* mappingMetadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getEntityBindings:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 33
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting org.hibernate.persister.spi.PersisterCreationContext org.hibernate.persister.spi.PersisterFactory top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            astore 5 /* model */
        start local 5 // org.hibernate.mapping.PersistentClass model
         6: .line 133
            new org.hibernate.metamodel.model.domain.NavigableRole
            dup
            aload 5 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getRootClass:()Lorg/hibernate/mapping/RootClass;
            invokevirtual org.hibernate.mapping.RootClass.getEntityName:()Ljava/lang/String;
            invokespecial org.hibernate.metamodel.model.domain.NavigableRole.<init>:(Ljava/lang/String;)V
            astore 7 /* rootEntityRole */
        start local 7 // org.hibernate.metamodel.model.domain.NavigableRole rootEntityRole
         7: .line 134
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getCache:()Lorg/hibernate/cache/spi/CacheImplementor;
            aload 7 /* rootEntityRole */
            invokeinterface org.hibernate.cache.spi.CacheImplementor.getEntityRegionAccess:(Lorg/hibernate/metamodel/model/domain/NavigableRole;)Lorg/hibernate/cache/spi/access/EntityDataAccess;
            astore 8 /* accessStrategy */
        start local 8 // org.hibernate.cache.spi.access.EntityDataAccess accessStrategy
         8: .line 135
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getCache:()Lorg/hibernate/cache/spi/CacheImplementor;
            aload 7 /* rootEntityRole */
            invokeinterface org.hibernate.cache.spi.CacheImplementor.getNaturalIdCacheRegionAccessStrategy:(Lorg/hibernate/metamodel/model/domain/NavigableRole;)Lorg/hibernate/cache/spi/access/NaturalIdDataAccess;
            astore 9 /* naturalIdAccessStrategy */
        start local 9 // org.hibernate.cache.spi.access.NaturalIdDataAccess naturalIdAccessStrategy
         9: .line 137
            aload 4 /* persisterFactory */
        10: .line 138
            aload 5 /* model */
        11: .line 139
            aload 8 /* accessStrategy */
        12: .line 140
            aload 9 /* naturalIdAccessStrategy */
        13: .line 141
            aload 3 /* persisterCreationContext */
        14: .line 137
            invokeinterface org.hibernate.persister.spi.PersisterFactory.createEntityPersister:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/cache/spi/access/EntityDataAccess;Lorg/hibernate/cache/spi/access/NaturalIdDataAccess;Lorg/hibernate/persister/spi/PersisterCreationContext;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 10 /* cp */
        start local 10 // org.hibernate.persister.entity.EntityPersister cp
        15: .line 143
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityPersisterMap:Ljava/util/Map;
            aload 5 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            aload 10 /* cp */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 145
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getConcreteProxyClass:()Ljava/lang/Class;
            ifnull 33
        17: .line 146
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getConcreteProxyClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 33
        18: .line 147
            ldc Ljava/util/Map;
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getConcreteProxyClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 33
        19: .line 148
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getMappedClass:()Ljava/lang/Class;
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getConcreteProxyClass:()Ljava/lang/Class;
            if_acmpeq 33
        20: .line 152
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getMappedClass:()Ljava/lang/Class;
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getConcreteProxyClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 23
        21: .line 156
            getstatic org.hibernate.metamodel.internal.MetamodelImpl.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
            ldc "Entity [%s] mapped same interface [%s] as class and proxy"
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getMappedClass:()Ljava/lang/Class;
            invokeinterface org.hibernate.internal.EntityManagerMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        22: .line 157
            goto 33
        23: .line 159
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting org.hibernate.persister.spi.PersisterCreationContext org.hibernate.persister.spi.PersisterFactory org.hibernate.mapping.PersistentClass java.util.Iterator org.hibernate.metamodel.model.domain.NavigableRole org.hibernate.cache.spi.access.EntityDataAccess org.hibernate.cache.spi.access.NaturalIdDataAccess org.hibernate.persister.entity.EntityPersister
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityProxyInterfaceMap:Ljava/util/Map;
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getConcreteProxyClass:()Ljava/lang/Class;
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* old */
        start local 11 // java.lang.String old
        24: .line 160
            aload 11 /* old */
            ifnull 33
        25: .line 161
            new org.hibernate.HibernateException
            dup
        26: .line 163
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
        27: .line 164
            ldc "Multiple entities [%s, %s] named the same interface [%s] as their proxy which is not supported"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        28: .line 165
            aload 11 /* old */
            aastore
            dup
            iconst_1
        29: .line 166
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        30: .line 167
            aload 10 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getConcreteProxyClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        31: .line 162
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        32: .line 161
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.String old
        end local 10 // org.hibernate.persister.entity.EntityPersister cp
        end local 9 // org.hibernate.cache.spi.access.NaturalIdDataAccess naturalIdAccessStrategy
        end local 8 // org.hibernate.cache.spi.access.EntityDataAccess accessStrategy
        end local 7 // org.hibernate.metamodel.model.domain.NavigableRole rootEntityRole
        end local 5 // org.hibernate.mapping.PersistentClass model
        33: .line 132
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting org.hibernate.persister.spi.PersisterCreationContext org.hibernate.persister.spi.PersisterFactory top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        34: .line 175
            aload 1 /* mappingMetadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getCollectionBindings:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 62
      StackMap locals:
      StackMap stack:
        35: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Collection
            astore 5 /* model */
        start local 5 // org.hibernate.mapping.Collection model
        36: .line 176
            new org.hibernate.metamodel.model.domain.NavigableRole
            dup
            aload 5 /* model */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
            invokespecial org.hibernate.metamodel.model.domain.NavigableRole.<init>:(Ljava/lang/String;)V
            astore 7 /* navigableRole */
        start local 7 // org.hibernate.metamodel.model.domain.NavigableRole navigableRole
        37: .line 178
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getCache:()Lorg/hibernate/cache/spi/CacheImplementor;
        38: .line 179
            aload 7 /* navigableRole */
        39: .line 178
            invokeinterface org.hibernate.cache.spi.CacheImplementor.getCollectionRegionAccess:(Lorg/hibernate/metamodel/model/domain/NavigableRole;)Lorg/hibernate/cache/spi/access/CollectionDataAccess;
            astore 8 /* accessStrategy */
        start local 8 // org.hibernate.cache.spi.access.CollectionDataAccess accessStrategy
        40: .line 181
            aload 4 /* persisterFactory */
        41: .line 182
            aload 5 /* model */
        42: .line 183
            aload 8 /* accessStrategy */
        43: .line 184
            aload 3 /* persisterCreationContext */
        44: .line 181
            invokeinterface org.hibernate.persister.spi.PersisterFactory.createCollectionPersister:(Lorg/hibernate/mapping/Collection;Lorg/hibernate/cache/spi/access/CollectionDataAccess;Lorg/hibernate/persister/spi/PersisterCreationContext;)Lorg/hibernate/persister/collection/CollectionPersister;
            astore 9 /* persister */
        start local 9 // org.hibernate.persister.collection.CollectionPersister persister
        45: .line 186
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.collectionPersisterMap:Ljava/util/Map;
            aload 5 /* model */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
            aload 9 /* persister */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 187
            aload 9 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getIndexType:()Lorg/hibernate/type/Type;
            astore 10 /* indexType */
        start local 10 // org.hibernate.type.Type indexType
        47: .line 188
            aload 10 /* indexType */
            ifnull 54
            aload 10 /* indexType */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifeq 54
            aload 10 /* indexType */
            invokeinterface org.hibernate.type.Type.isAnyType:()Z
            ifne 54
        48: .line 189
            aload 10 /* indexType */
            checkcast org.hibernate.type.AssociationType
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.AssociationType.getAssociatedEntityName:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            astore 11 /* entityName */
        start local 11 // java.lang.String entityName
        49: .line 190
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.collectionRolesByEntityParticipant:Ljava/util/Map;
            aload 11 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 12 /* roles */
        start local 12 // java.util.Set roles
        50: .line 191
            aload 12 /* roles */
            ifnonnull 53
        51: .line 192
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 12 /* roles */
        52: .line 193
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.collectionRolesByEntityParticipant:Ljava/util/Map;
            aload 11 /* entityName */
            aload 12 /* roles */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        53: .line 195
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting org.hibernate.persister.spi.PersisterCreationContext org.hibernate.persister.spi.PersisterFactory org.hibernate.mapping.Collection java.util.Iterator org.hibernate.metamodel.model.domain.NavigableRole org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.collection.CollectionPersister org.hibernate.type.Type java.lang.String java.util.Set
      StackMap stack:
            aload 12 /* roles */
            aload 9 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getRole:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.util.Set roles
        end local 11 // java.lang.String entityName
        54: .line 197
      StackMap locals:
      StackMap stack:
            aload 9 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            astore 11 /* elementType */
        start local 11 // org.hibernate.type.Type elementType
        55: .line 198
            aload 11 /* elementType */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifeq 62
            aload 11 /* elementType */
            invokeinterface org.hibernate.type.Type.isAnyType:()Z
            ifne 62
        56: .line 199
            aload 11 /* elementType */
            checkcast org.hibernate.type.AssociationType
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.AssociationType.getAssociatedEntityName:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            astore 12 /* entityName */
        start local 12 // java.lang.String entityName
        57: .line 200
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.collectionRolesByEntityParticipant:Ljava/util/Map;
            aload 12 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 13 /* roles */
        start local 13 // java.util.Set roles
        58: .line 201
            aload 13 /* roles */
            ifnonnull 61
        59: .line 202
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 13 /* roles */
        60: .line 203
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.collectionRolesByEntityParticipant:Ljava/util/Map;
            aload 12 /* entityName */
            aload 13 /* roles */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        61: .line 205
      StackMap locals: org.hibernate.type.Type java.lang.String java.util.Set
      StackMap stack:
            aload 13 /* roles */
            aload 9 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getRole:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // java.util.Set roles
        end local 12 // java.lang.String entityName
        end local 11 // org.hibernate.type.Type elementType
        end local 10 // org.hibernate.type.Type indexType
        end local 9 // org.hibernate.persister.collection.CollectionPersister persister
        end local 8 // org.hibernate.cache.spi.access.CollectionDataAccess accessStrategy
        end local 7 // org.hibernate.metamodel.model.domain.NavigableRole navigableRole
        end local 5 // org.hibernate.mapping.Collection model
        62: .line 175
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting org.hibernate.persister.spi.PersisterCreationContext org.hibernate.persister.spi.PersisterFactory top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        63: .line 210
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityPersisterMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/hibernate/persister/entity/EntityPersister.generateEntityDefinition()V (9 itf)
                  (Lorg/hibernate/persister/entity/EntityPersister;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
        64: .line 212
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityPersisterMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 68
      StackMap locals:
      StackMap stack:
        65: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
            astore 5 /* persister */
        start local 5 // org.hibernate.persister.entity.EntityPersister persister
        66: .line 213
            aload 5 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.postInstantiate:()V
        67: .line 214
            aload 5 /* persister */
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityNameResolvers:Ljava/util/concurrent/ConcurrentMap;
            invokestatic org.hibernate.metamodel.internal.MetamodelImpl.registerEntityNameResolvers:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/util/Map;)V
        end local 5 // org.hibernate.persister.entity.EntityPersister persister
        68: .line 212
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 65
        69: .line 216
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.collectionPersisterMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/hibernate/persister/collection/CollectionPersister.postInstantiate()V (9 itf)
                  (Lorg/hibernate/persister/collection/CollectionPersister;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
        70: .line 218
            aload 2 /* jpaMetaModelPopulationSetting */
            getstatic org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting.DISABLED:Lorg/hibernate/metamodel/internal/JpaMetaModelPopulationSetting;
            if_acmpeq 87
        71: .line 219
            new org.hibernate.metamodel.internal.MetadataContext
            dup
        72: .line 220
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
        73: .line 221
            aload 1 /* mappingMetadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getMappedSuperclassMappingsCopy:()Ljava/util/Set;
        74: .line 222
            aload 2 /* jpaMetaModelPopulationSetting */
        75: .line 219
            invokespecial org.hibernate.metamodel.internal.MetadataContext.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Ljava/util/Set;Lorg/hibernate/metamodel/internal/JpaMetaModelPopulationSetting;)V
            astore 5 /* context */
        start local 5 // org.hibernate.metamodel.internal.MetadataContext context
        76: .line 225
            aload 1 /* mappingMetadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getEntityBindings:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 79
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting org.hibernate.persister.spi.PersisterCreationContext org.hibernate.persister.spi.PersisterFactory org.hibernate.metamodel.internal.MetadataContext top java.util.Iterator
      StackMap stack:
        77: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            astore 6 /* entityBinding */
        start local 6 // org.hibernate.mapping.PersistentClass entityBinding
        78: .line 226
            aload 6 /* entityBinding */
            aload 5 /* context */
            invokestatic org.hibernate.metamodel.internal.MetamodelImpl.locateOrBuildEntityType:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/EntityTypeImpl;
            pop
        end local 6 // org.hibernate.mapping.PersistentClass entityBinding
        79: .line 225
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 77
        80: .line 228
            aload 5 /* context */
            invokestatic org.hibernate.metamodel.internal.MetamodelImpl.handleUnusedMappedSuperclasses:(Lorg/hibernate/metamodel/internal/MetadataContext;)V
        81: .line 230
            aload 5 /* context */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.wrapUp:()V
        82: .line 232
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEntityTypeMap:Ljava/util/Map;
            aload 5 /* context */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.getEntityTypeMap:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        83: .line 233
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEmbeddableTypeMap:Ljava/util/Map;
            aload 5 /* context */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.getEmbeddableTypeMap:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        84: .line 234
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaMappedSuperclassTypeMap:Ljava/util/Map;
            aload 5 /* context */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.getMappedSuperclassTypeMap:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        85: .line 235
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEntityTypesByEntityName:Ljava/util/Map;
            aload 5 /* context */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.getEntityTypesByEntityName:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        86: .line 237
            aload 0 /* this */
            aload 1 /* mappingMetadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getNamedEntityGraphs:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.applyNamedEntityGraphs:(Ljava/util/Collection;)V
        end local 5 // org.hibernate.metamodel.internal.MetadataContext context
        87: .line 240
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting org.hibernate.persister.spi.PersisterCreationContext org.hibernate.persister.spi.PersisterFactory
      StackMap stack:
            return
        end local 4 // org.hibernate.persister.spi.PersisterFactory persisterFactory
        end local 3 // org.hibernate.persister.spi.PersisterCreationContext persisterCreationContext
        end local 2 // org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting jpaMetaModelPopulationSetting
        end local 1 // org.hibernate.boot.spi.MetadataImplementor mappingMetadata
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   88     0                           this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0   88     1                mappingMetadata  Lorg/hibernate/boot/spi/MetadataImplementor;
            0   88     2  jpaMetaModelPopulationSetting  Lorg/hibernate/metamodel/internal/JpaMetaModelPopulationSetting;
            3   88     3       persisterCreationContext  Lorg/hibernate/persister/spi/PersisterCreationContext;
            4   88     4               persisterFactory  Lorg/hibernate/persister/spi/PersisterFactory;
            6   33     5                          model  Lorg/hibernate/mapping/PersistentClass;
            7   33     7                 rootEntityRole  Lorg/hibernate/metamodel/model/domain/NavigableRole;
            8   33     8                 accessStrategy  Lorg/hibernate/cache/spi/access/EntityDataAccess;
            9   33     9        naturalIdAccessStrategy  Lorg/hibernate/cache/spi/access/NaturalIdDataAccess;
           15   33    10                             cp  Lorg/hibernate/persister/entity/EntityPersister;
           24   33    11                            old  Ljava/lang/String;
           36   62     5                          model  Lorg/hibernate/mapping/Collection;
           37   62     7                  navigableRole  Lorg/hibernate/metamodel/model/domain/NavigableRole;
           40   62     8                 accessStrategy  Lorg/hibernate/cache/spi/access/CollectionDataAccess;
           45   62     9                      persister  Lorg/hibernate/persister/collection/CollectionPersister;
           47   62    10                      indexType  Lorg/hibernate/type/Type;
           49   54    11                     entityName  Ljava/lang/String;
           50   54    12                          roles  Ljava/util/Set<Ljava/lang/String;>;
           55   62    11                    elementType  Lorg/hibernate/type/Type;
           57   62    12                     entityName  Ljava/lang/String;
           58   62    13                          roles  Ljava/util/Set<Ljava/lang/String;>;
           66   68     5                      persister  Lorg/hibernate/persister/entity/EntityPersister;
           76   87     5                        context  Lorg/hibernate/metamodel/internal/MetadataContext;
           78   79     6                  entityBinding  Lorg/hibernate/mapping/PersistentClass;
    MethodParameters:
                               Name  Flags
      mappingMetadata                
      jpaMetaModelPopulationSetting  

  private void primeSecondLevelCacheRegions(org.hibernate.boot.spi.MetadataImplementor);
    descriptor: (Lorg/hibernate/boot/spi/MetadataImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // org.hibernate.boot.spi.MetadataImplementor mappingMetadata
         0: .line 243
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            astore 2 /* regionConfigBuilders */
        start local 2 // java.util.Map regionConfigBuilders
         1: .line 247
            aload 1 /* mappingMetadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getEntityBindings:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            astore 3 /* bootEntityDescriptor */
        start local 3 // org.hibernate.mapping.PersistentClass bootEntityDescriptor
         3: .line 248
            aload 3 /* bootEntityDescriptor */
            invokevirtual org.hibernate.mapping.PersistentClass.getCacheConcurrencyStrategy:()Ljava/lang/String;
            invokestatic org.hibernate.cache.spi.access.AccessType.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/cache/spi/access/AccessType;
            astore 5 /* accessType */
        start local 5 // org.hibernate.cache.spi.access.AccessType accessType
         4: .line 250
            aload 5 /* accessType */
            ifnull 13
         5: .line 251
            aload 3 /* bootEntityDescriptor */
            invokevirtual org.hibernate.mapping.PersistentClass.isCached:()Z
            ifeq 8
         6: .line 252
            aload 2 /* regionConfigBuilders */
            aload 3 /* bootEntityDescriptor */
            invokevirtual org.hibernate.mapping.PersistentClass.getRootClass:()Lorg/hibernate/mapping/RootClass;
            invokevirtual org.hibernate.mapping.RootClass.getCacheRegionName:()Ljava/lang/String;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl$Builder.<init>(Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Lorg/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl$Builder;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl$Builder
         7: .line 253
            aload 3 /* bootEntityDescriptor */
            aload 5 /* accessType */
            invokevirtual org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl$Builder.addEntityConfig:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/cache/spi/access/AccessType;)Lorg/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl$Builder;
            pop
         8: .line 256
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor java.util.Map org.hibernate.mapping.PersistentClass java.util.Iterator org.hibernate.cache.spi.access.AccessType
      StackMap stack:
            ldc Lorg/hibernate/mapping/RootClass;
            aload 3 /* bootEntityDescriptor */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 13
         9: .line 257
            aload 3 /* bootEntityDescriptor */
            invokevirtual org.hibernate.mapping.PersistentClass.hasNaturalId:()Z
            ifeq 13
        10: .line 258
            aload 3 /* bootEntityDescriptor */
            invokevirtual org.hibernate.mapping.PersistentClass.getNaturalIdCacheRegionName:()Ljava/lang/String;
            ifnull 13
        11: .line 259
            aload 2 /* regionConfigBuilders */
            aload 3 /* bootEntityDescriptor */
            invokevirtual org.hibernate.mapping.PersistentClass.getNaturalIdCacheRegionName:()Ljava/lang/String;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl$Builder.<init>(Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Lorg/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl$Builder;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl$Builder
        12: .line 260
            aload 3 /* bootEntityDescriptor */
            checkcast org.hibernate.mapping.RootClass
            aload 5 /* accessType */
            invokevirtual org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl$Builder.addNaturalIdConfig:(Lorg/hibernate/mapping/RootClass;Lorg/hibernate/cache/spi/access/AccessType;)Lorg/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl$Builder;
            pop
        end local 5 // org.hibernate.cache.spi.access.AccessType accessType
        end local 3 // org.hibernate.mapping.PersistentClass bootEntityDescriptor
        13: .line 247
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        14: .line 265
            aload 1 /* mappingMetadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getCollectionBindings:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 20
      StackMap locals:
      StackMap stack:
        15: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Collection
            astore 3 /* collection */
        start local 3 // org.hibernate.mapping.Collection collection
        16: .line 266
            aload 3 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCacheConcurrencyStrategy:()Ljava/lang/String;
            invokestatic org.hibernate.cache.spi.access.AccessType.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/cache/spi/access/AccessType;
            astore 5 /* accessType */
        start local 5 // org.hibernate.cache.spi.access.AccessType accessType
        17: .line 267
            aload 5 /* accessType */
            ifnull 20
        18: .line 268
            aload 2 /* regionConfigBuilders */
            aload 3 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCacheRegionName:()Ljava/lang/String;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl$Builder.<init>(Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Lorg/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl$Builder;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl$Builder
        19: .line 269
            aload 3 /* collection */
            aload 5 /* accessType */
            invokevirtual org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl$Builder.addCollectionConfig:(Lorg/hibernate/mapping/Collection;Lorg/hibernate/cache/spi/access/AccessType;)Lorg/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl$Builder;
            pop
        end local 5 // org.hibernate.cache.spi.access.AccessType accessType
        end local 3 // org.hibernate.mapping.Collection collection
        20: .line 265
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        21: .line 274
            aload 2 /* regionConfigBuilders */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 24
        22: .line 275
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            astore 3 /* regionConfigs */
        start local 3 // java.util.Set regionConfigs
        23: .line 276
            goto 29
        end local 3 // java.util.Set regionConfigs
        24: .line 278
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor java.util.Map
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* regionConfigs */
        start local 3 // java.util.Set regionConfigs
        25: .line 279
            aload 2 /* regionConfigBuilders */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 28
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor java.util.Map java.util.Set top java.util.Iterator
      StackMap stack:
        26: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl$Builder
            astore 4 /* builder */
        start local 4 // org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl$Builder builder
        27: .line 280
            aload 3 /* regionConfigs */
            aload 4 /* builder */
            invokevirtual org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl$Builder.build:()Lorg/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl$Builder builder
        28: .line 279
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        29: .line 284
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl org.hibernate.boot.spi.MetadataImplementor java.util.Map java.util.Set
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.getSessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getCache:()Lorg/hibernate/cache/spi/CacheImplementor;
            aload 3 /* regionConfigs */
            invokeinterface org.hibernate.cache.spi.CacheImplementor.prime:(Ljava/util/Set;)V
        30: .line 285
            return
        end local 3 // java.util.Set regionConfigs
        end local 2 // java.util.Map regionConfigBuilders
        end local 1 // org.hibernate.boot.spi.MetadataImplementor mappingMetadata
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   31     0                  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0   31     1       mappingMetadata  Lorg/hibernate/boot/spi/MetadataImplementor;
            1   31     2  regionConfigBuilders  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl$Builder;>;
            3   13     3  bootEntityDescriptor  Lorg/hibernate/mapping/PersistentClass;
            4   13     5            accessType  Lorg/hibernate/cache/spi/access/AccessType;
           16   20     3            collection  Lorg/hibernate/mapping/Collection;
           17   20     5            accessType  Lorg/hibernate/cache/spi/access/AccessType;
           23   24     3         regionConfigs  Ljava/util/Set<Lorg/hibernate/cache/cfg/spi/DomainDataRegionConfig;>;
           25   31     3         regionConfigs  Ljava/util/Set<Lorg/hibernate/cache/cfg/spi/DomainDataRegionConfig;>;
           27   28     4               builder  Lorg/hibernate/cache/cfg/internal/DomainDataRegionConfigImpl$Builder;
    MethodParameters:
                 Name  Flags
      mappingMetadata  

  private void applyNamedEntityGraphs(java.util.Collection<org.hibernate.cfg.annotations.NamedEntityGraphDefinition>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.util.Collection namedEntityGraphs
         0: .line 289
            aload 1 /* namedEntityGraphs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 29
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.util.Collection top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.cfg.annotations.NamedEntityGraphDefinition
            astore 2 /* definition */
        start local 2 // org.hibernate.cfg.annotations.NamedEntityGraphDefinition definition
         2: .line 290
            getstatic org.hibernate.metamodel.internal.MetamodelImpl.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
         3: .line 291
            ldc "Applying named entity graph [name=%s, entity-name=%s, jpa-entity-name=%s"
         4: .line 292
            aload 2 /* definition */
            invokevirtual org.hibernate.cfg.annotations.NamedEntityGraphDefinition.getRegisteredName:()Ljava/lang/String;
         5: .line 293
            aload 2 /* definition */
            invokevirtual org.hibernate.cfg.annotations.NamedEntityGraphDefinition.getEntityName:()Ljava/lang/String;
         6: .line 294
            aload 2 /* definition */
            invokevirtual org.hibernate.cfg.annotations.NamedEntityGraphDefinition.getJpaEntityName:()Ljava/lang/String;
         7: .line 290
            invokeinterface org.hibernate.internal.EntityManagerMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 296
            aload 0 /* this */
            aload 2 /* definition */
            invokevirtual org.hibernate.cfg.annotations.NamedEntityGraphDefinition.getEntityName:()Ljava/lang/String;
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.entity:(Ljava/lang/String;)Ljavax/persistence/metamodel/EntityType;
            astore 4 /* entityType */
        start local 4 // javax.persistence.metamodel.EntityType entityType
         9: .line 297
            aload 4 /* entityType */
            ifnonnull 15
        10: .line 298
            new java.lang.IllegalArgumentException
            dup
        11: .line 299
            new java.lang.StringBuilder
            dup
            ldc "Attempted to register named entity graph ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* definition */
            invokevirtual org.hibernate.cfg.annotations.NamedEntityGraphDefinition.getRegisteredName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 300
            ldc "] for unknown entity ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* definition */
            invokevirtual org.hibernate.cfg.annotations.NamedEntityGraphDefinition.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 299
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 298
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 304
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.util.Collection org.hibernate.cfg.annotations.NamedEntityGraphDefinition java.util.Iterator javax.persistence.metamodel.EntityType
      StackMap stack:
            new org.hibernate.jpa.graph.internal.EntityGraphImpl
            dup
        16: .line 305
            aload 2 /* definition */
            invokevirtual org.hibernate.cfg.annotations.NamedEntityGraphDefinition.getRegisteredName:()Ljava/lang/String;
        17: .line 306
            aload 4 /* entityType */
        18: .line 307
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.getSessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
        19: .line 304
            invokespecial org.hibernate.jpa.graph.internal.EntityGraphImpl.<init>:(Ljava/lang/String;Ljavax/persistence/metamodel/EntityType;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            astore 5 /* entityGraph */
        start local 5 // org.hibernate.jpa.graph.internal.EntityGraphImpl entityGraph
        20: .line 310
            aload 2 /* definition */
            invokevirtual org.hibernate.cfg.annotations.NamedEntityGraphDefinition.getAnnotation:()Ljavax/persistence/NamedEntityGraph;
            astore 6 /* namedEntityGraph */
        start local 6 // javax.persistence.NamedEntityGraph namedEntityGraph
        21: .line 312
            aload 6 /* namedEntityGraph */
            invokeinterface javax.persistence.NamedEntityGraph.includeAllAttributes:()Z
            ifeq 26
        22: .line 313
            aload 4 /* entityType */
            invokeinterface javax.persistence.metamodel.EntityType.getAttributes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 25
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.util.Collection org.hibernate.cfg.annotations.NamedEntityGraphDefinition java.util.Iterator javax.persistence.metamodel.EntityType org.hibernate.jpa.graph.internal.EntityGraphImpl javax.persistence.NamedEntityGraph top java.util.Iterator
      StackMap stack:
        23: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 7 /* attributeObject */
        start local 7 // java.lang.Object attributeObject
        24: .line 314
            aload 5 /* entityGraph */
            iconst_1
            anewarray javax.persistence.metamodel.Attribute
            dup
            iconst_0
            aload 7 /* attributeObject */
            checkcast javax.persistence.metamodel.Attribute
            aastore
            invokevirtual org.hibernate.jpa.graph.internal.EntityGraphImpl.addAttributeNodes:([Ljavax/persistence/metamodel/Attribute;)V
        end local 7 // java.lang.Object attributeObject
        25: .line 313
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        26: .line 318
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.util.Collection org.hibernate.cfg.annotations.NamedEntityGraphDefinition java.util.Iterator javax.persistence.metamodel.EntityType org.hibernate.jpa.graph.internal.EntityGraphImpl javax.persistence.NamedEntityGraph
      StackMap stack:
            aload 6 /* namedEntityGraph */
            invokeinterface javax.persistence.NamedEntityGraph.attributeNodes:()[Ljavax/persistence/NamedAttributeNode;
            ifnull 28
        27: .line 319
            aload 0 /* this */
            aload 6 /* namedEntityGraph */
            invokeinterface javax.persistence.NamedEntityGraph.attributeNodes:()[Ljavax/persistence/NamedAttributeNode;
            aload 6 /* namedEntityGraph */
            aload 5 /* entityGraph */
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.applyNamedAttributeNodes:([Ljavax/persistence/NamedAttributeNode;Ljavax/persistence/NamedEntityGraph;Lorg/hibernate/jpa/graph/internal/AbstractGraphNode;)V
        28: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityGraphMap:Ljava/util/Map;
            aload 2 /* definition */
            invokevirtual org.hibernate.cfg.annotations.NamedEntityGraphDefinition.getRegisteredName:()Ljava/lang/String;
            aload 5 /* entityGraph */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // javax.persistence.NamedEntityGraph namedEntityGraph
        end local 5 // org.hibernate.jpa.graph.internal.EntityGraphImpl entityGraph
        end local 4 // javax.persistence.metamodel.EntityType entityType
        end local 2 // org.hibernate.cfg.annotations.NamedEntityGraphDefinition definition
        29: .line 289
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        30: .line 324
            return
        end local 1 // java.util.Collection namedEntityGraphs
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   31     0               this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0   31     1  namedEntityGraphs  Ljava/util/Collection<Lorg/hibernate/cfg/annotations/NamedEntityGraphDefinition;>;
            2   29     2         definition  Lorg/hibernate/cfg/annotations/NamedEntityGraphDefinition;
            9   29     4         entityType  Ljavax/persistence/metamodel/EntityType;
           20   29     5        entityGraph  Lorg/hibernate/jpa/graph/internal/EntityGraphImpl;
           21   29     6   namedEntityGraph  Ljavax/persistence/NamedEntityGraph;
           24   25     7    attributeObject  Ljava/lang/Object;
    Signature: (Ljava/util/Collection<Lorg/hibernate/cfg/annotations/NamedEntityGraphDefinition;>;)V
    MethodParameters:
                   Name  Flags
      namedEntityGraphs  

  private void applyNamedAttributeNodes(javax.persistence.NamedAttributeNode[], javax.persistence.NamedEntityGraph, org.hibernate.jpa.graph.internal.AbstractGraphNode);
    descriptor: ([Ljavax/persistence/NamedAttributeNode;Ljavax/persistence/NamedEntityGraph;Lorg/hibernate/jpa/graph/internal/AbstractGraphNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // javax.persistence.NamedAttributeNode[] namedAttributeNodes
        start local 2 // javax.persistence.NamedEntityGraph namedEntityGraph
        start local 3 // org.hibernate.jpa.graph.internal.AbstractGraphNode graphNode
         0: .line 330
            aload 1 /* namedAttributeNodes */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 19
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl javax.persistence.NamedAttributeNode[] javax.persistence.NamedEntityGraph org.hibernate.jpa.graph.internal.AbstractGraphNode top int int javax.persistence.NamedAttributeNode[]
      StackMap stack:
         1: aload 7
            iload 5
            aaload
            astore 4 /* namedAttributeNode */
        start local 4 // javax.persistence.NamedAttributeNode namedAttributeNode
         2: .line 331
            aload 4 /* namedAttributeNode */
            invokeinterface javax.persistence.NamedAttributeNode.value:()Ljava/lang/String;
            astore 8 /* value */
        start local 8 // java.lang.String value
         3: .line 332
            aload 3 /* graphNode */
            aload 8 /* value */
            invokevirtual org.hibernate.jpa.graph.internal.AbstractGraphNode.addAttribute:(Ljava/lang/String;)Lorg/hibernate/jpa/graph/internal/AttributeNodeImpl;
            astore 9 /* attributeNode */
        start local 9 // org.hibernate.jpa.graph.internal.AttributeNodeImpl attributeNode
         4: .line 333
            aload 4 /* namedAttributeNode */
            invokeinterface javax.persistence.NamedAttributeNode.subgraph:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 11
         5: .line 334
            aload 9 /* attributeNode */
            invokevirtual org.hibernate.jpa.graph.internal.AttributeNodeImpl.makeSubgraph:()Lorg/hibernate/jpa/graph/internal/SubgraphImpl;
            astore 10 /* subgraph */
        start local 10 // org.hibernate.jpa.graph.internal.SubgraphImpl subgraph
         6: .line 335
            aload 0 /* this */
         7: .line 336
            aload 2 /* namedEntityGraph */
         8: .line 337
            aload 4 /* namedAttributeNode */
            invokeinterface javax.persistence.NamedAttributeNode.subgraph:()Ljava/lang/String;
         9: .line 338
            aload 10 /* subgraph */
        10: .line 335
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.applyNamedSubgraphs:(Ljavax/persistence/NamedEntityGraph;Ljava/lang/String;Lorg/hibernate/jpa/graph/internal/SubgraphImpl;)V
        end local 10 // org.hibernate.jpa.graph.internal.SubgraphImpl subgraph
        11: .line 341
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl javax.persistence.NamedAttributeNode[] javax.persistence.NamedEntityGraph org.hibernate.jpa.graph.internal.AbstractGraphNode javax.persistence.NamedAttributeNode int int javax.persistence.NamedAttributeNode[] java.lang.String org.hibernate.jpa.graph.internal.AttributeNodeImpl
      StackMap stack:
            aload 4 /* namedAttributeNode */
            invokeinterface javax.persistence.NamedAttributeNode.keySubgraph:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 18
        12: .line 342
            aload 9 /* attributeNode */
            invokevirtual org.hibernate.jpa.graph.internal.AttributeNodeImpl.makeKeySubgraph:()Lorg/hibernate/jpa/graph/internal/SubgraphImpl;
            astore 10 /* subgraph */
        start local 10 // org.hibernate.jpa.graph.internal.SubgraphImpl subgraph
        13: .line 344
            aload 0 /* this */
        14: .line 345
            aload 2 /* namedEntityGraph */
        15: .line 346
            aload 4 /* namedAttributeNode */
            invokeinterface javax.persistence.NamedAttributeNode.keySubgraph:()Ljava/lang/String;
        16: .line 347
            aload 10 /* subgraph */
        17: .line 344
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.applyNamedSubgraphs:(Ljavax/persistence/NamedEntityGraph;Ljava/lang/String;Lorg/hibernate/jpa/graph/internal/SubgraphImpl;)V
        end local 10 // org.hibernate.jpa.graph.internal.SubgraphImpl subgraph
        end local 9 // org.hibernate.jpa.graph.internal.AttributeNodeImpl attributeNode
        end local 8 // java.lang.String value
        end local 4 // javax.persistence.NamedAttributeNode namedAttributeNode
        18: .line 330
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl javax.persistence.NamedAttributeNode[] javax.persistence.NamedEntityGraph org.hibernate.jpa.graph.internal.AbstractGraphNode top int int javax.persistence.NamedAttributeNode[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        19: iload 5
            iload 6
            if_icmplt 1
        20: .line 351
            return
        end local 3 // org.hibernate.jpa.graph.internal.AbstractGraphNode graphNode
        end local 2 // javax.persistence.NamedEntityGraph namedEntityGraph
        end local 1 // javax.persistence.NamedAttributeNode[] namedAttributeNodes
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0                 this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0   21     1  namedAttributeNodes  [Ljavax/persistence/NamedAttributeNode;
            0   21     2     namedEntityGraph  Ljavax/persistence/NamedEntityGraph;
            0   21     3            graphNode  Lorg/hibernate/jpa/graph/internal/AbstractGraphNode;
            2   18     4   namedAttributeNode  Ljavax/persistence/NamedAttributeNode;
            3   18     8                value  Ljava/lang/String;
            4   18     9        attributeNode  Lorg/hibernate/jpa/graph/internal/AttributeNodeImpl;
            6   11    10             subgraph  Lorg/hibernate/jpa/graph/internal/SubgraphImpl;
           13   18    10             subgraph  Lorg/hibernate/jpa/graph/internal/SubgraphImpl;
    MethodParameters:
                     Name  Flags
      namedAttributeNodes  
      namedEntityGraph     
      graphNode            

  private void applyNamedSubgraphs(javax.persistence.NamedEntityGraph, java.lang.String, org.hibernate.jpa.graph.internal.SubgraphImpl);
    descriptor: (Ljavax/persistence/NamedEntityGraph;Ljava/lang/String;Lorg/hibernate/jpa/graph/internal/SubgraphImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // javax.persistence.NamedEntityGraph namedEntityGraph
        start local 2 // java.lang.String subgraphName
        start local 3 // org.hibernate.jpa.graph.internal.SubgraphImpl subgraph
         0: .line 354
            aload 1 /* namedEntityGraph */
            invokeinterface javax.persistence.NamedEntityGraph.subgraphs:()[Ljavax/persistence/NamedSubgraph;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl javax.persistence.NamedEntityGraph java.lang.String org.hibernate.jpa.graph.internal.SubgraphImpl top int int javax.persistence.NamedSubgraph[]
      StackMap stack:
         1: aload 7
            iload 5
            aaload
            astore 4 /* namedSubgraph */
        start local 4 // javax.persistence.NamedSubgraph namedSubgraph
         2: .line 355
            aload 2 /* subgraphName */
            aload 4 /* namedSubgraph */
            invokeinterface javax.persistence.NamedSubgraph.name:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         3: .line 356
            aload 0 /* this */
         4: .line 357
            aload 4 /* namedSubgraph */
            invokeinterface javax.persistence.NamedSubgraph.attributeNodes:()[Ljavax/persistence/NamedAttributeNode;
         5: .line 358
            aload 1 /* namedEntityGraph */
         6: .line 359
            aload 3 /* subgraph */
         7: .line 356
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.applyNamedAttributeNodes:([Ljavax/persistence/NamedAttributeNode;Ljavax/persistence/NamedEntityGraph;Lorg/hibernate/jpa/graph/internal/AbstractGraphNode;)V
        end local 4 // javax.persistence.NamedSubgraph namedSubgraph
         8: .line 354
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 1
        10: .line 363
            return
        end local 3 // org.hibernate.jpa.graph.internal.SubgraphImpl subgraph
        end local 2 // java.lang.String subgraphName
        end local 1 // javax.persistence.NamedEntityGraph namedEntityGraph
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0   11     1  namedEntityGraph  Ljavax/persistence/NamedEntityGraph;
            0   11     2      subgraphName  Ljava/lang/String;
            0   11     3          subgraph  Lorg/hibernate/jpa/graph/internal/SubgraphImpl;
            2    8     4     namedSubgraph  Ljavax/persistence/NamedSubgraph;
    MethodParameters:
                  Name  Flags
      namedEntityGraph  
      subgraphName      
      subgraph          

  public java.util.Collection<org.hibernate.EntityNameResolver> getEntityNameResolvers();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
         0: .line 367
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityNameResolvers:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
            areturn
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
    Signature: ()Ljava/util/Collection<Lorg/hibernate/EntityNameResolver;>;

  private static void registerEntityNameResolvers(org.hibernate.persister.entity.EntityPersister, java.util.Map<org.hibernate.EntityNameResolver, java.lang.Object>);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.EntityPersister persister
        start local 1 // java.util.Map entityNameResolvers
         0: .line 371
            aload 0 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMetamodel:()Lorg/hibernate/tuple/entity/EntityMetamodel;
            ifnull 1
            aload 0 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMetamodel:()Lorg/hibernate/tuple/entity/EntityMetamodel;
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.getTuplizer:()Lorg/hibernate/tuple/entity/EntityTuplizer;
            ifnonnull 2
         1: .line 372
      StackMap locals:
      StackMap stack:
            return
         2: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMetamodel:()Lorg/hibernate/tuple/entity/EntityMetamodel;
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.getTuplizer:()Lorg/hibernate/tuple/entity/EntityTuplizer;
            aload 1 /* entityNameResolvers */
            invokestatic org.hibernate.metamodel.internal.MetamodelImpl.registerEntityNameResolvers:(Lorg/hibernate/tuple/entity/EntityTuplizer;Ljava/util/Map;)V
         3: .line 375
            return
        end local 1 // java.util.Map entityNameResolvers
        end local 0 // org.hibernate.persister.entity.EntityPersister persister
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0            persister  Lorg/hibernate/persister/entity/EntityPersister;
            0    4     1  entityNameResolvers  Ljava/util/Map<Lorg/hibernate/EntityNameResolver;Ljava/lang/Object;>;
    Signature: (Lorg/hibernate/persister/entity/EntityPersister;Ljava/util/Map<Lorg/hibernate/EntityNameResolver;Ljava/lang/Object;>;)V
    MethodParameters:
                     Name  Flags
      persister            
      entityNameResolvers  

  private static void registerEntityNameResolvers(org.hibernate.tuple.entity.EntityTuplizer, java.util.Map<org.hibernate.EntityNameResolver, java.lang.Object>);
    descriptor: (Lorg/hibernate/tuple/entity/EntityTuplizer;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.hibernate.tuple.entity.EntityTuplizer tuplizer
        start local 1 // java.util.Map entityNameResolvers
         0: .line 378
            aload 0 /* tuplizer */
            invokeinterface org.hibernate.tuple.entity.EntityTuplizer.getEntityNameResolvers:()[Lorg/hibernate/EntityNameResolver;
            astore 2 /* resolvers */
        start local 2 // org.hibernate.EntityNameResolver[] resolvers
         1: .line 379
            aload 2 /* resolvers */
            ifnonnull 3
         2: .line 380
            return
         3: .line 383
      StackMap locals: org.hibernate.EntityNameResolver[]
      StackMap stack:
            aload 2 /* resolvers */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: org.hibernate.tuple.entity.EntityTuplizer java.util.Map org.hibernate.EntityNameResolver[] top int int org.hibernate.EntityNameResolver[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* resolver */
        start local 3 // org.hibernate.EntityNameResolver resolver
         5: .line 384
            aload 1 /* entityNameResolvers */
            aload 3 /* resolver */
            getstatic org.hibernate.metamodel.internal.MetamodelImpl.ENTITY_NAME_RESOLVER_MAP_VALUE:Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // org.hibernate.EntityNameResolver resolver
         6: .line 383
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 386
            return
        end local 2 // org.hibernate.EntityNameResolver[] resolvers
        end local 1 // java.util.Map entityNameResolvers
        end local 0 // org.hibernate.tuple.entity.EntityTuplizer tuplizer
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0             tuplizer  Lorg/hibernate/tuple/entity/EntityTuplizer;
            0    9     1  entityNameResolvers  Ljava/util/Map<Lorg/hibernate/EntityNameResolver;Ljava/lang/Object;>;
            1    9     2            resolvers  [Lorg/hibernate/EntityNameResolver;
            5    6     3             resolver  Lorg/hibernate/EntityNameResolver;
    Signature: (Lorg/hibernate/tuple/entity/EntityTuplizer;Ljava/util/Map<Lorg/hibernate/EntityNameResolver;Ljava/lang/Object;>;)V
    MethodParameters:
                     Name  Flags
      tuplizer             
      entityNameResolvers  

  private static void handleUnusedMappedSuperclasses(org.hibernate.metamodel.internal.MetadataContext);
    descriptor: (Lorg/hibernate/metamodel/internal/MetadataContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetadataContext context
         0: .line 389
            aload 0 /* context */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.getUnusedMappedSuperclasses:()Ljava/util/Set;
            astore 1 /* unusedMappedSuperclasses */
        start local 1 // java.util.Set unusedMappedSuperclasses
         1: .line 390
            aload 1 /* unusedMappedSuperclasses */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 7
         2: .line 391
            aload 1 /* unusedMappedSuperclasses */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.hibernate.metamodel.internal.MetadataContext java.util.Set top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.MappedSuperclass
            astore 2 /* mappedSuperclass */
        start local 2 // org.hibernate.mapping.MappedSuperclass mappedSuperclass
         4: .line 392
            getstatic org.hibernate.metamodel.internal.MetamodelImpl.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
            aload 2 /* mappedSuperclass */
            invokevirtual org.hibernate.mapping.MappedSuperclass.getMappedClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.EntityManagerMessageLogger.unusedMappedSuperclass:(Ljava/lang/String;)V
         5: .line 393
            aload 2 /* mappedSuperclass */
            aload 0 /* context */
            invokestatic org.hibernate.metamodel.internal.MetamodelImpl.locateOrBuildMappedsuperclassType:(Lorg/hibernate/mapping/MappedSuperclass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl;
            pop
        end local 2 // org.hibernate.mapping.MappedSuperclass mappedSuperclass
         6: .line 391
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 396
      StackMap locals: org.hibernate.metamodel.internal.MetadataContext java.util.Set
      StackMap stack:
            return
        end local 1 // java.util.Set unusedMappedSuperclasses
        end local 0 // org.hibernate.metamodel.internal.MetadataContext context
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    8     0                   context  Lorg/hibernate/metamodel/internal/MetadataContext;
            1    8     1  unusedMappedSuperclasses  Ljava/util/Set<Lorg/hibernate/mapping/MappedSuperclass;>;
            4    6     2          mappedSuperclass  Lorg/hibernate/mapping/MappedSuperclass;
    MethodParameters:
         Name  Flags
      context  

  private static org.hibernate.metamodel.internal.EntityTypeImpl<?> locateOrBuildEntityType(org.hibernate.mapping.PersistentClass, org.hibernate.metamodel.internal.MetadataContext);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/EntityTypeImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass persistentClass
        start local 1 // org.hibernate.metamodel.internal.MetadataContext context
         0: .line 399
            aload 1 /* context */
            aload 0 /* persistentClass */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.locateEntityType:(Lorg/hibernate/mapping/PersistentClass;)Lorg/hibernate/metamodel/internal/EntityTypeImpl;
            astore 2 /* entityType */
        start local 2 // org.hibernate.metamodel.internal.EntityTypeImpl entityType
         1: .line 400
            aload 2 /* entityType */
            ifnonnull 3
         2: .line 401
            aload 0 /* persistentClass */
            aload 1 /* context */
            invokestatic org.hibernate.metamodel.internal.MetamodelImpl.buildEntityType:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/EntityTypeImpl;
            astore 2 /* entityType */
         3: .line 403
      StackMap locals: org.hibernate.metamodel.internal.EntityTypeImpl
      StackMap stack:
            aload 2 /* entityType */
            areturn
        end local 2 // org.hibernate.metamodel.internal.EntityTypeImpl entityType
        end local 1 // org.hibernate.metamodel.internal.MetadataContext context
        end local 0 // org.hibernate.mapping.PersistentClass persistentClass
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0  persistentClass  Lorg/hibernate/mapping/PersistentClass;
            0    4     1          context  Lorg/hibernate/metamodel/internal/MetadataContext;
            1    4     2       entityType  Lorg/hibernate/metamodel/internal/EntityTypeImpl<*>;
    Signature: (Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/EntityTypeImpl<*>;
    MethodParameters:
                 Name  Flags
      persistentClass  
      context          

  private static org.hibernate.metamodel.internal.EntityTypeImpl<?> buildEntityType(org.hibernate.mapping.PersistentClass, org.hibernate.metamodel.internal.MetadataContext);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/EntityTypeImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass persistentClass
        start local 1 // org.hibernate.metamodel.internal.MetadataContext context
         0: .line 409
            aload 0 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
            astore 2 /* javaType */
        start local 2 // java.lang.Class javaType
         1: .line 410
            aload 1 /* context */
            aload 0 /* persistentClass */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.pushEntityWorkedOn:(Lorg/hibernate/mapping/PersistentClass;)V
         2: .line 411
            aload 0 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSuperMappedSuperclass:()Lorg/hibernate/mapping/MappedSuperclass;
            astore 3 /* superMappedSuperclass */
        start local 3 // org.hibernate.mapping.MappedSuperclass superMappedSuperclass
         3: .line 412
            aload 3 /* superMappedSuperclass */
            ifnonnull 5
         4: .line 413
            aconst_null
            goto 6
         5: .line 414
      StackMap locals: java.lang.Class org.hibernate.mapping.MappedSuperclass
      StackMap stack:
            aload 3 /* superMappedSuperclass */
            aload 1 /* context */
            invokestatic org.hibernate.metamodel.internal.MetamodelImpl.locateOrBuildMappedsuperclassType:(Lorg/hibernate/mapping/MappedSuperclass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl;
         6: .line 412
      StackMap locals:
      StackMap stack: org.hibernate.metamodel.internal.MappedSuperclassTypeImpl
            astore 4 /* superType */
        start local 4 // org.hibernate.metamodel.internal.AbstractIdentifiableType superType
         7: .line 416
            aload 4 /* superType */
            ifnonnull 13
         8: .line 417
            aload 0 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSuperclass:()Lorg/hibernate/mapping/PersistentClass;
            astore 5 /* superPersistentClass */
        start local 5 // org.hibernate.mapping.PersistentClass superPersistentClass
         9: .line 418
            aload 5 /* superPersistentClass */
            ifnonnull 11
        10: .line 419
            aconst_null
            goto 12
        11: .line 420
      StackMap locals: org.hibernate.metamodel.internal.AbstractIdentifiableType org.hibernate.mapping.PersistentClass
      StackMap stack:
            aload 5 /* superPersistentClass */
            aload 1 /* context */
            invokestatic org.hibernate.metamodel.internal.MetamodelImpl.locateOrBuildEntityType:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/EntityTypeImpl;
        12: .line 418
      StackMap locals:
      StackMap stack: org.hibernate.metamodel.internal.EntityTypeImpl
            astore 4 /* superType */
        end local 5 // org.hibernate.mapping.PersistentClass superPersistentClass
        13: .line 422
      StackMap locals:
      StackMap stack:
            new org.hibernate.metamodel.internal.EntityTypeImpl
            dup
        14: .line 423
            aload 2 /* javaType */
        15: .line 424
            aload 4 /* superType */
        16: .line 425
            aload 0 /* persistentClass */
        17: .line 422
            invokespecial org.hibernate.metamodel.internal.EntityTypeImpl.<init>:(Ljava/lang/Class;Lorg/hibernate/metamodel/internal/AbstractIdentifiableType;Lorg/hibernate/mapping/PersistentClass;)V
            astore 5 /* entityType */
        start local 5 // org.hibernate.metamodel.internal.EntityTypeImpl entityType
        18: .line 428
            aload 1 /* context */
            aload 0 /* persistentClass */
            aload 5 /* entityType */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.registerEntityType:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/metamodel/internal/EntityTypeImpl;)V
        19: .line 429
            aload 1 /* context */
            aload 0 /* persistentClass */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.popEntityWorkedOn:(Lorg/hibernate/mapping/PersistentClass;)V
        20: .line 430
            aload 5 /* entityType */
            areturn
        end local 5 // org.hibernate.metamodel.internal.EntityTypeImpl entityType
        end local 4 // org.hibernate.metamodel.internal.AbstractIdentifiableType superType
        end local 3 // org.hibernate.mapping.MappedSuperclass superMappedSuperclass
        end local 2 // java.lang.Class javaType
        end local 1 // org.hibernate.metamodel.internal.MetadataContext context
        end local 0 // org.hibernate.mapping.PersistentClass persistentClass
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   21     0        persistentClass  Lorg/hibernate/mapping/PersistentClass;
            0   21     1                context  Lorg/hibernate/metamodel/internal/MetadataContext;
            1   21     2               javaType  Ljava/lang/Class;
            3   21     3  superMappedSuperclass  Lorg/hibernate/mapping/MappedSuperclass;
            7   21     4              superType  Lorg/hibernate/metamodel/internal/AbstractIdentifiableType<*>;
            9   13     5   superPersistentClass  Lorg/hibernate/mapping/PersistentClass;
           18   21     5             entityType  Lorg/hibernate/metamodel/internal/EntityTypeImpl;
    Signature: (Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/EntityTypeImpl<*>;
    MethodParameters:
                 Name  Flags
      persistentClass  
      context          

  private static org.hibernate.metamodel.internal.MappedSuperclassTypeImpl<?> locateOrBuildMappedsuperclassType(org.hibernate.mapping.MappedSuperclass, org.hibernate.metamodel.internal.MetadataContext);
    descriptor: (Lorg/hibernate/mapping/MappedSuperclass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.mapping.MappedSuperclass mappedSuperclass
        start local 1 // org.hibernate.metamodel.internal.MetadataContext context
         0: .line 435
            aload 1 /* context */
            aload 0 /* mappedSuperclass */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.locateMappedSuperclassType:(Lorg/hibernate/mapping/MappedSuperclass;)Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl;
            astore 2 /* mappedSuperclassType */
        start local 2 // org.hibernate.metamodel.internal.MappedSuperclassTypeImpl mappedSuperclassType
         1: .line 436
            aload 2 /* mappedSuperclassType */
            ifnonnull 3
         2: .line 437
            aload 0 /* mappedSuperclass */
            aload 1 /* context */
            invokestatic org.hibernate.metamodel.internal.MetamodelImpl.buildMappedSuperclassType:(Lorg/hibernate/mapping/MappedSuperclass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl;
            astore 2 /* mappedSuperclassType */
         3: .line 439
      StackMap locals: org.hibernate.metamodel.internal.MappedSuperclassTypeImpl
      StackMap stack:
            aload 2 /* mappedSuperclassType */
            areturn
        end local 2 // org.hibernate.metamodel.internal.MappedSuperclassTypeImpl mappedSuperclassType
        end local 1 // org.hibernate.metamodel.internal.MetadataContext context
        end local 0 // org.hibernate.mapping.MappedSuperclass mappedSuperclass
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0      mappedSuperclass  Lorg/hibernate/mapping/MappedSuperclass;
            0    4     1               context  Lorg/hibernate/metamodel/internal/MetadataContext;
            1    4     2  mappedSuperclassType  Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl<*>;
    Signature: (Lorg/hibernate/mapping/MappedSuperclass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl<*>;
    MethodParameters:
                  Name  Flags
      mappedSuperclass  
      context           

  private static org.hibernate.metamodel.internal.MappedSuperclassTypeImpl<?> buildMappedSuperclassType(org.hibernate.mapping.MappedSuperclass, org.hibernate.metamodel.internal.MetadataContext);
    descriptor: (Lorg/hibernate/mapping/MappedSuperclass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.hibernate.mapping.MappedSuperclass mappedSuperclass
        start local 1 // org.hibernate.metamodel.internal.MetadataContext context
         0: .line 447
            aload 0 /* mappedSuperclass */
            invokevirtual org.hibernate.mapping.MappedSuperclass.getSuperMappedSuperclass:()Lorg/hibernate/mapping/MappedSuperclass;
            astore 2 /* superMappedSuperclass */
        start local 2 // org.hibernate.mapping.MappedSuperclass superMappedSuperclass
         1: .line 448
            aload 2 /* superMappedSuperclass */
            ifnonnull 3
         2: .line 449
            aconst_null
            goto 4
         3: .line 450
      StackMap locals: org.hibernate.mapping.MappedSuperclass
      StackMap stack:
            aload 2 /* superMappedSuperclass */
            aload 1 /* context */
            invokestatic org.hibernate.metamodel.internal.MetamodelImpl.locateOrBuildMappedsuperclassType:(Lorg/hibernate/mapping/MappedSuperclass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl;
         4: .line 448
      StackMap locals:
      StackMap stack: org.hibernate.metamodel.internal.MappedSuperclassTypeImpl
            astore 3 /* superType */
        start local 3 // org.hibernate.metamodel.internal.AbstractIdentifiableType superType
         5: .line 452
            aload 3 /* superType */
            ifnonnull 11
         6: .line 453
            aload 0 /* mappedSuperclass */
            invokevirtual org.hibernate.mapping.MappedSuperclass.getSuperPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            astore 4 /* superPersistentClass */
        start local 4 // org.hibernate.mapping.PersistentClass superPersistentClass
         7: .line 454
            aload 4 /* superPersistentClass */
            ifnonnull 9
         8: .line 455
            aconst_null
            goto 10
         9: .line 456
      StackMap locals: org.hibernate.metamodel.internal.AbstractIdentifiableType org.hibernate.mapping.PersistentClass
      StackMap stack:
            aload 4 /* superPersistentClass */
            aload 1 /* context */
            invokestatic org.hibernate.metamodel.internal.MetamodelImpl.locateOrBuildEntityType:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/EntityTypeImpl;
        10: .line 454
      StackMap locals:
      StackMap stack: org.hibernate.metamodel.internal.EntityTypeImpl
            astore 3 /* superType */
        end local 4 // org.hibernate.mapping.PersistentClass superPersistentClass
        11: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* mappedSuperclass */
            invokevirtual org.hibernate.mapping.MappedSuperclass.getMappedClass:()Ljava/lang/Class;
            astore 4 /* javaType */
        start local 4 // java.lang.Class javaType
        12: .line 459
            new org.hibernate.metamodel.internal.MappedSuperclassTypeImpl
            dup
        13: .line 460
            aload 4 /* javaType */
        14: .line 461
            aload 0 /* mappedSuperclass */
        15: .line 462
            aload 3 /* superType */
        16: .line 459
            invokespecial org.hibernate.metamodel.internal.MappedSuperclassTypeImpl.<init>:(Ljava/lang/Class;Lorg/hibernate/mapping/MappedSuperclass;Lorg/hibernate/metamodel/internal/AbstractIdentifiableType;)V
            astore 5 /* mappedSuperclassType */
        start local 5 // org.hibernate.metamodel.internal.MappedSuperclassTypeImpl mappedSuperclassType
        17: .line 464
            aload 1 /* context */
            aload 0 /* mappedSuperclass */
            aload 5 /* mappedSuperclassType */
            invokevirtual org.hibernate.metamodel.internal.MetadataContext.registerMappedSuperclassType:(Lorg/hibernate/mapping/MappedSuperclass;Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl;)V
        18: .line 465
            aload 5 /* mappedSuperclassType */
            areturn
        end local 5 // org.hibernate.metamodel.internal.MappedSuperclassTypeImpl mappedSuperclassType
        end local 4 // java.lang.Class javaType
        end local 3 // org.hibernate.metamodel.internal.AbstractIdentifiableType superType
        end local 2 // org.hibernate.mapping.MappedSuperclass superMappedSuperclass
        end local 1 // org.hibernate.metamodel.internal.MetadataContext context
        end local 0 // org.hibernate.mapping.MappedSuperclass mappedSuperclass
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   19     0       mappedSuperclass  Lorg/hibernate/mapping/MappedSuperclass;
            0   19     1                context  Lorg/hibernate/metamodel/internal/MetadataContext;
            1   19     2  superMappedSuperclass  Lorg/hibernate/mapping/MappedSuperclass;
            5   19     3              superType  Lorg/hibernate/metamodel/internal/AbstractIdentifiableType<*>;
            7   11     4   superPersistentClass  Lorg/hibernate/mapping/PersistentClass;
           12   19     4               javaType  Ljava/lang/Class;
           17   19     5   mappedSuperclassType  Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl;
    Signature: (Lorg/hibernate/mapping/MappedSuperclass;Lorg/hibernate/metamodel/internal/MetadataContext;)Lorg/hibernate/metamodel/internal/MappedSuperclassTypeImpl<*>;
    MethodParameters:
                  Name  Flags
      mappedSuperclass  
      context           

  public org.hibernate.type.spi.TypeConfiguration getTypeConfiguration();
    descriptor: ()Lorg/hibernate/type/spi/TypeConfiguration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
         0: .line 503
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.typeConfiguration:Lorg/hibernate/type/spi/TypeConfiguration;
            areturn
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;

  public org.hibernate.engine.spi.SessionFactoryImplementor getSessionFactory();
    descriptor: ()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
         0: .line 508
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            areturn
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;

  public <X> javax.persistence.metamodel.EntityType<X> entity(java.lang.Class<X>);
    descriptor: (Ljava/lang/Class;)Ljavax/persistence/metamodel/EntityType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.Class cls
         0: .line 514
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEntityTypeMap:Ljava/util/Map;
            aload 1 /* cls */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.persistence.metamodel.EntityType
            astore 2 /* entityType */
        start local 2 // javax.persistence.metamodel.EntityType entityType
         1: .line 515
            aload 2 /* entityType */
            ifnonnull 3
         2: .line 516
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not an entity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cls */
            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
         3: .line 518
      StackMap locals: javax.persistence.metamodel.EntityType
      StackMap stack:
            aload 2 /* entityType */
            areturn
        end local 2 // javax.persistence.metamodel.EntityType entityType
        end local 1 // java.lang.Class cls
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    4     1         cls  Ljava/lang/Class<TX;>;
            1    4     2  entityType  Ljavax/persistence/metamodel/EntityType<*>;
    Signature: <X:Ljava/lang/Object;>(Ljava/lang/Class<TX;>;)Ljavax/persistence/metamodel/EntityType<TX;>;
    MethodParameters:
      Name  Flags
      cls   

  public <X> javax.persistence.metamodel.ManagedType<X> managedType(java.lang.Class<X>);
    descriptor: (Ljava/lang/Class;)Ljavax/persistence/metamodel/ManagedType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.Class cls
         0: .line 524
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEntityTypeMap:Ljava/util/Map;
            aload 1 /* cls */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.persistence.metamodel.ManagedType
            astore 2 /* type */
        start local 2 // javax.persistence.metamodel.ManagedType type
         1: .line 525
            aload 2 /* type */
            ifnonnull 3
         2: .line 526
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaMappedSuperclassTypeMap:Ljava/util/Map;
            aload 1 /* cls */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.persistence.metamodel.ManagedType
            astore 2 /* type */
         3: .line 528
      StackMap locals: javax.persistence.metamodel.ManagedType
      StackMap stack:
            aload 2 /* type */
            ifnonnull 5
         4: .line 529
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEmbeddableTypeMap:Ljava/util/Map;
            aload 1 /* cls */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.persistence.metamodel.ManagedType
            astore 2 /* type */
         5: .line 531
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            ifnonnull 7
         6: .line 532
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not a managed type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cls */
            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
         7: .line 534
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            areturn
        end local 2 // javax.persistence.metamodel.ManagedType type
        end local 1 // java.lang.Class cls
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    8     1   cls  Ljava/lang/Class<TX;>;
            1    8     2  type  Ljavax/persistence/metamodel/ManagedType<*>;
    Signature: <X:Ljava/lang/Object;>(Ljava/lang/Class<TX;>;)Ljavax/persistence/metamodel/ManagedType<TX;>;
    MethodParameters:
      Name  Flags
      cls   

  public <X> javax.persistence.metamodel.EmbeddableType<X> embeddable(java.lang.Class<X>);
    descriptor: (Ljava/lang/Class;)Ljavax/persistence/metamodel/EmbeddableType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.Class cls
         0: .line 540
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEmbeddableTypeMap:Ljava/util/Map;
            aload 1 /* cls */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.persistence.metamodel.EmbeddableType
            astore 2 /* embeddableType */
        start local 2 // javax.persistence.metamodel.EmbeddableType embeddableType
         1: .line 541
            aload 2 /* embeddableType */
            ifnonnull 3
         2: .line 542
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not an embeddable: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cls */
            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
         3: .line 544
      StackMap locals: javax.persistence.metamodel.EmbeddableType
      StackMap stack:
            aload 2 /* embeddableType */
            areturn
        end local 2 // javax.persistence.metamodel.EmbeddableType embeddableType
        end local 1 // java.lang.Class cls
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    4     1             cls  Ljava/lang/Class<TX;>;
            1    4     2  embeddableType  Ljavax/persistence/metamodel/EmbeddableType<*>;
    Signature: <X:Ljava/lang/Object;>(Ljava/lang/Class<TX;>;)Ljavax/persistence/metamodel/EmbeddableType<TX;>;
    MethodParameters:
      Name  Flags
      cls   

  public java.util.Set<javax.persistence.metamodel.ManagedType<?>> getManagedTypes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
         0: .line 550
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEntityTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaMappedSuperclassTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            iadd
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEmbeddableTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            iadd
         1: .line 549
            invokestatic org.hibernate.internal.util.collections.CollectionHelper.determineProperSizing:(I)I
            istore 1 /* setSize */
        start local 1 // int setSize
         2: .line 552
            new java.util.HashSet
            dup
            iload 1 /* setSize */
            invokespecial java.util.HashSet.<init>:(I)V
            astore 2 /* managedTypes */
        start local 2 // java.util.Set managedTypes
         3: .line 553
            aload 2 /* managedTypes */
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEntityTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         4: .line 554
            aload 2 /* managedTypes */
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaMappedSuperclassTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 555
            aload 2 /* managedTypes */
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEmbeddableTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 556
            aload 2 /* managedTypes */
            areturn
        end local 2 // java.util.Set managedTypes
        end local 1 // int setSize
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            2    7     1       setSize  I
            3    7     2  managedTypes  Ljava/util/Set<Ljavax/persistence/metamodel/ManagedType<*>;>;
    Signature: ()Ljava/util/Set<Ljavax/persistence/metamodel/ManagedType<*>;>;

  public java.util.Set<javax.persistence.metamodel.EntityType<?>> getEntities();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
         0: .line 561
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEntityTypesByEntityName:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
    Signature: ()Ljava/util/Set<Ljavax/persistence/metamodel/EntityType<*>;>;

  public java.util.Set<javax.persistence.metamodel.EmbeddableType<?>> getEmbeddables();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
         0: .line 566
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEmbeddableTypeMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
    Signature: ()Ljava/util/Set<Ljavax/persistence/metamodel/EmbeddableType<*>;>;

  public <X> javax.persistence.metamodel.EntityType<X> entity(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/persistence/metamodel/EntityType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.String entityName
         0: .line 572
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.jpaEntityTypesByEntityName:Ljava/util/Map;
            aload 1 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.persistence.metamodel.EntityType
            areturn
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    1     1  entityName  Ljava/lang/String;
    Signature: <X:Ljava/lang/Object;>(Ljava/lang/String;)Ljavax/persistence/metamodel/EntityType<TX;>;
    MethodParameters:
            Name  Flags
      entityName  

  public java.lang.String getImportedClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.String className
         0: .line 577
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.imports:Ljava/util/Map;
            aload 1 /* className */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String result
         1: .line 578
            aload 2 /* result */
            ifnonnull 9
         2: .line 580
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            ldc Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.boot.registry.classloading.spi.ClassLoaderService
            aload 1 /* className */
            invokeinterface org.hibernate.boot.registry.classloading.spi.ClassLoaderService.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         3: .line 581
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.imports:Ljava/util/Map;
            aload 1 /* className */
            aload 1 /* className */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 582
            aload 1 /* className */
         5: areturn
         6: .line 584
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.lang.String java.lang.String
      StackMap stack: org.hibernate.boot.registry.classloading.spi.ClassLoadingException
            pop
         7: .line 585
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.imports:Ljava/util/Map;
            aload 1 /* className */
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 586
            aconst_null
            areturn
         9: .line 589
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            ldc ""
            if_acmpne 11
        10: .line 590
            aconst_null
            areturn
        11: .line 593
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String result
        end local 1 // java.lang.String className
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0   12     1  className  Ljava/lang/String;
            1   12     2     result  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     5       6  Class org.hibernate.boot.registry.classloading.spi.ClassLoadingException
    MethodParameters:
           Name  Flags
      className  

  public java.lang.String[] getImplementors(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.String className
         0: .line 612
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.getSessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            ldc Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.boot.registry.classloading.spi.ClassLoaderService
            aload 1 /* className */
            invokeinterface org.hibernate.boot.registry.classloading.spi.ClassLoaderService.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* clazz */
        start local 2 // java.lang.Class clazz
         1: .line 613
            goto 4
        end local 2 // java.lang.Class clazz
         2: .line 614
      StackMap locals:
      StackMap stack: org.hibernate.boot.registry.classloading.spi.ClassLoadingException
            pop
         3: .line 615
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* className */
            aastore
            areturn
        start local 2 // java.lang.Class clazz
         4: .line 618
      StackMap locals: java.lang.Class
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* results */
        start local 3 // java.util.ArrayList results
         5: .line 619
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.entityPersisters:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 27
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.lang.String java.lang.Class java.util.ArrayList top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
            astore 4 /* checkPersister */
        start local 4 // org.hibernate.persister.entity.EntityPersister checkPersister
         7: .line 620
            ldc Lorg/hibernate/persister/entity/Queryable;
            aload 4 /* checkPersister */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 621
            goto 27
         9: .line 623
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.lang.String java.lang.Class java.util.ArrayList org.hibernate.persister.entity.EntityPersister java.util.Iterator
      StackMap stack:
            ldc Lorg/hibernate/persister/entity/Queryable;
            aload 4 /* checkPersister */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.Queryable
            astore 6 /* checkQueryable */
        start local 6 // org.hibernate.persister.entity.Queryable checkQueryable
        10: .line 624
            aload 6 /* checkQueryable */
            invokeinterface org.hibernate.persister.entity.Queryable.getEntityName:()Ljava/lang/String;
            astore 7 /* checkQueryableEntityName */
        start local 7 // java.lang.String checkQueryableEntityName
        11: .line 625
            aload 1 /* className */
            aload 7 /* checkQueryableEntityName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 8 /* isMappedClass */
        start local 8 // boolean isMappedClass
        12: .line 626
            aload 6 /* checkQueryable */
            invokeinterface org.hibernate.persister.entity.Queryable.isExplicitPolymorphism:()Z
            ifeq 15
        13: .line 627
            iload 8 /* isMappedClass */
            ifeq 27
        14: .line 628
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* className */
            aastore
            areturn
        15: .line 632
      StackMap locals: org.hibernate.persister.entity.Queryable java.lang.String int
      StackMap stack:
            iload 8 /* isMappedClass */
            ifeq 18
        16: .line 633
            aload 3 /* results */
            aload 7 /* checkQueryableEntityName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        17: .line 634
            goto 27
        18: .line 636
      StackMap locals:
      StackMap stack:
            aload 6 /* checkQueryable */
            invokeinterface org.hibernate.persister.entity.Queryable.getMappedClass:()Ljava/lang/Class;
            astore 9 /* mappedClass */
        start local 9 // java.lang.Class mappedClass
        19: .line 637
            aload 9 /* mappedClass */
            ifnull 27
            aload 2 /* clazz */
            aload 9 /* mappedClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 27
        20: .line 639
            aload 6 /* checkQueryable */
            invokeinterface org.hibernate.persister.entity.Queryable.isInherited:()Z
            ifeq 24
        21: .line 640
            aload 0 /* this */
            aload 6 /* checkQueryable */
            invokeinterface org.hibernate.persister.entity.Queryable.getMappedSuperclass:()Ljava/lang/String;
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.entityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getMappedClass:()Ljava/lang/Class;
            astore 11 /* mappedSuperclass */
        start local 11 // java.lang.Class mappedSuperclass
        22: .line 641
            aload 2 /* clazz */
            aload 11 /* mappedSuperclass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            istore 10 /* assignableSuperclass */
        end local 11 // java.lang.Class mappedSuperclass
        start local 10 // boolean assignableSuperclass
        23: .line 642
            goto 25
        end local 10 // boolean assignableSuperclass
        24: .line 644
      StackMap locals: java.lang.Class
      StackMap stack:
            iconst_0
            istore 10 /* assignableSuperclass */
        start local 10 // boolean assignableSuperclass
        25: .line 646
      StackMap locals: int
      StackMap stack:
            iload 10 /* assignableSuperclass */
            ifne 27
        26: .line 647
            aload 3 /* results */
            aload 7 /* checkQueryableEntityName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // boolean assignableSuperclass
        end local 9 // java.lang.Class mappedClass
        end local 8 // boolean isMappedClass
        end local 7 // java.lang.String checkQueryableEntityName
        end local 6 // org.hibernate.persister.entity.Queryable checkQueryable
        end local 4 // org.hibernate.persister.entity.EntityPersister checkPersister
        27: .line 619
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.lang.String java.lang.Class java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        28: .line 653
            aload 3 /* results */
            aload 3 /* results */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 3 // java.util.ArrayList results
        end local 2 // java.lang.Class clazz
        end local 1 // java.lang.String className
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   29     0                      this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0   29     1                 className  Ljava/lang/String;
            1    2     2                     clazz  Ljava/lang/Class;
            4   29     2                     clazz  Ljava/lang/Class;
            5   29     3                   results  Ljava/util/ArrayList<Ljava/lang/String;>;
            7   27     4            checkPersister  Lorg/hibernate/persister/entity/EntityPersister;
           10   27     6            checkQueryable  Lorg/hibernate/persister/entity/Queryable;
           11   27     7  checkQueryableEntityName  Ljava/lang/String;
           12   27     8             isMappedClass  Z
           19   27     9               mappedClass  Ljava/lang/Class;
           23   24    10      assignableSuperclass  Z
           25   27    10      assignableSuperclass  Z
           22   23    11          mappedSuperclass  Ljava/lang/Class;
      Exception table:
        from    to  target  type
           0     1       2  Class org.hibernate.boot.registry.classloading.spi.ClassLoadingException
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
           Name  Flags
      className  

  public java.util.Map<java.lang.String, org.hibernate.persister.entity.EntityPersister> entityPersisters();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
         0: .line 658
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityPersisterMap:Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/persister/entity/EntityPersister;>;

  public org.hibernate.persister.collection.CollectionPersister collectionPersister(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/persister/collection/CollectionPersister;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.String role
         0: .line 663
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.collectionPersisterMap:Ljava/util/Map;
            aload 1 /* role */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.persister.collection.CollectionPersister
            astore 2 /* persister */
        start local 2 // org.hibernate.persister.collection.CollectionPersister persister
         1: .line 664
            aload 2 /* persister */
            ifnonnull 3
         2: .line 665
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not locate CollectionPersister for role : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* role */
            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 667
      StackMap locals: org.hibernate.persister.collection.CollectionPersister
      StackMap stack:
            aload 2 /* persister */
            areturn
        end local 2 // org.hibernate.persister.collection.CollectionPersister persister
        end local 1 // java.lang.String role
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    4     1       role  Ljava/lang/String;
            1    4     2  persister  Lorg/hibernate/persister/collection/CollectionPersister;
    MethodParameters:
      Name  Flags
      role  

  public java.util.Map<java.lang.String, org.hibernate.persister.collection.CollectionPersister> collectionPersisters();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
         0: .line 672
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.collectionPersisterMap:Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/persister/collection/CollectionPersister;>;

  public org.hibernate.persister.entity.EntityPersister entityPersister(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.Class entityClass
         0: .line 677
            aload 0 /* this */
            aload 1 /* entityClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.entityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            areturn
        end local 1 // java.lang.Class entityClass
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    1     1  entityClass  Ljava/lang/Class;
    MethodParameters:
             Name  Flags
      entityClass  

  public org.hibernate.persister.entity.EntityPersister entityPersister(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.String entityName
         0: .line 682
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityPersisterMap:Ljava/util/Map;
            aload 1 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
            astore 2 /* result */
        start local 2 // org.hibernate.persister.entity.EntityPersister result
         1: .line 683
            aload 2 /* result */
            ifnonnull 3
         2: .line 684
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown entity: "
            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 686
      StackMap locals: org.hibernate.persister.entity.EntityPersister
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.hibernate.persister.entity.EntityPersister result
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    4     1  entityName  Ljava/lang/String;
            1    4     2      result  Lorg/hibernate/persister/entity/EntityPersister;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
            Name  Flags
      entityName  

  public org.hibernate.persister.entity.EntityPersister locateEntityPersister(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.Class byClass
         0: .line 692
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityPersisterMap:Ljava/util/Map;
            aload 1 /* byClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
            astore 2 /* entityPersister */
        start local 2 // org.hibernate.persister.entity.EntityPersister entityPersister
         1: .line 693
            aload 2 /* entityPersister */
            ifnonnull 5
         2: .line 694
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityProxyInterfaceMap:Ljava/util/Map;
            aload 1 /* byClass */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* mappedEntityName */
        start local 3 // java.lang.String mappedEntityName
         3: .line 695
            aload 3 /* mappedEntityName */
            ifnull 5
         4: .line 696
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityPersisterMap:Ljava/util/Map;
            aload 3 /* mappedEntityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
            astore 2 /* entityPersister */
        end local 3 // java.lang.String mappedEntityName
         5: .line 700
      StackMap locals: org.hibernate.persister.entity.EntityPersister
      StackMap stack:
            aload 2 /* entityPersister */
            ifnonnull 7
         6: .line 701
            new org.hibernate.UnknownEntityTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to locate persister: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* byClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.UnknownEntityTypeException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 704
      StackMap locals:
      StackMap stack:
            aload 2 /* entityPersister */
            areturn
        end local 2 // org.hibernate.persister.entity.EntityPersister entityPersister
        end local 1 // java.lang.Class byClass
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    8     1           byClass  Ljava/lang/Class;
            1    8     2   entityPersister  Lorg/hibernate/persister/entity/EntityPersister;
            3    5     3  mappedEntityName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      byClass  

  public org.hibernate.persister.entity.EntityPersister locateEntityPersister(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.String byName
         0: .line 709
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityPersisterMap:Ljava/util/Map;
            aload 1 /* byName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
            astore 2 /* entityPersister */
        start local 2 // org.hibernate.persister.entity.EntityPersister entityPersister
         1: .line 710
            aload 2 /* entityPersister */
            ifnonnull 3
         2: .line 711
            new org.hibernate.UnknownEntityTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to locate persister: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* byName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.UnknownEntityTypeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 713
      StackMap locals: org.hibernate.persister.entity.EntityPersister
      StackMap stack:
            aload 2 /* entityPersister */
            areturn
        end local 2 // org.hibernate.persister.entity.EntityPersister entityPersister
        end local 1 // java.lang.String byName
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    4     1           byName  Ljava/lang/String;
            1    4     2  entityPersister  Lorg/hibernate/persister/entity/EntityPersister;
    MethodParameters:
        Name  Flags
      byName  

  public java.util.Set<java.lang.String> getCollectionRolesByEntityParticipant(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.String entityName
         0: .line 718
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.collectionRolesByEntityParticipant:Ljava/util/Map;
            aload 1 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            areturn
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    1     1  entityName  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      entityName  

  public java.lang.String[] getAllEntityNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
         0: .line 723
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityPersisterMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;

  public java.lang.String[] getAllCollectionRoles();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
         0: .line 728
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityPersisterMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;

  public <T> void addNamedEntityGraph(java.lang.String, javax.persistence.EntityGraph<T>);
    descriptor: (Ljava/lang/String;Ljavax/persistence/EntityGraph;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.String graphName
        start local 2 // javax.persistence.EntityGraph entityGraph
         0: .line 733
            aload 2 /* entityGraph */
            instanceof org.hibernate.graph.spi.EntityGraphImplementor
            ifeq 2
         1: .line 734
            aload 2 /* entityGraph */
            checkcast org.hibernate.graph.spi.EntityGraphImplementor
            aload 1 /* graphName */
            invokeinterface org.hibernate.graph.spi.EntityGraphImplementor.makeImmutableCopy:(Ljava/lang/String;)Lorg/hibernate/graph/spi/EntityGraphImplementor;
            astore 2 /* entityGraph */
         2: .line 736
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityGraphMap:Ljava/util/Map;
            aload 1 /* graphName */
            aload 2 /* entityGraph */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.persistence.EntityGraph
            astore 3 /* old */
        start local 3 // javax.persistence.EntityGraph old
         3: .line 737
            aload 3 /* old */
            ifnull 5
         4: .line 738
            getstatic org.hibernate.metamodel.internal.MetamodelImpl.log:Lorg/hibernate/internal/EntityManagerMessageLogger;
            ldc "EntityGraph being replaced on EntityManagerFactory for name %s"
            aload 1 /* graphName */
            invokeinterface org.hibernate.internal.EntityManagerMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 740
      StackMap locals: javax.persistence.EntityGraph
      StackMap stack:
            return
        end local 3 // javax.persistence.EntityGraph old
        end local 2 // javax.persistence.EntityGraph entityGraph
        end local 1 // java.lang.String graphName
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    6     1    graphName  Ljava/lang/String;
            0    6     2  entityGraph  Ljavax/persistence/EntityGraph<TT;>;
            3    6     3          old  Ljavax/persistence/EntityGraph;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljavax/persistence/EntityGraph<TT;>;)V
    MethodParameters:
             Name  Flags
      graphName    
      entityGraph  

  public <T> javax.persistence.EntityGraph<T> findEntityGraphByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/persistence/EntityGraph;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.String name
         0: .line 745
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityGraphMap:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.persistence.EntityGraph
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0    1     1  name  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)Ljavax/persistence/EntityGraph<TT;>;
    MethodParameters:
      Name  Flags
      name  

  public <T> java.util.List<javax.persistence.EntityGraph<? super T>> findEntityGraphsByType(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
        start local 1 // java.lang.Class entityClass
         0: .line 751
            aload 0 /* this */
            aload 1 /* entityClass */
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.entity:(Ljava/lang/Class;)Ljavax/persistence/metamodel/EntityType;
            astore 2 /* entityType */
        start local 2 // javax.persistence.metamodel.EntityType entityType
         1: .line 752
            aload 2 /* entityType */
            ifnonnull 3
         2: .line 753
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Given class is not an entity : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* entityClass */
            invokevirtual java.lang.Class.getName:()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
         3: .line 756
      StackMap locals: javax.persistence.metamodel.EntityType
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* results */
        start local 3 // java.util.List results
         4: .line 758
            aload 0 /* this */
            getfield org.hibernate.metamodel.internal.MetamodelImpl.entityGraphMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.lang.Class javax.persistence.metamodel.EntityType java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.persistence.EntityGraph
            astore 4 /* entityGraph */
        start local 4 // javax.persistence.EntityGraph entityGraph
         6: .line 759
            ldc Lorg/hibernate/graph/spi/EntityGraphImplementor;
            aload 4 /* entityGraph */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 760
            goto 11
         8: .line 763
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.lang.Class javax.persistence.metamodel.EntityType java.util.List javax.persistence.EntityGraph java.util.Iterator
      StackMap stack:
            aload 4 /* entityGraph */
            checkcast org.hibernate.graph.spi.EntityGraphImplementor
            astore 6 /* egi */
        start local 6 // org.hibernate.graph.spi.EntityGraphImplementor egi
         9: .line 764
            aload 6 /* egi */
            aload 2 /* entityType */
            invokeinterface org.hibernate.graph.spi.EntityGraphImplementor.appliesTo:(Ljavax/persistence/metamodel/EntityType;)Z
            ifeq 11
        10: .line 765
            aload 3 /* results */
            aload 6 /* egi */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.hibernate.graph.spi.EntityGraphImplementor egi
        end local 4 // javax.persistence.EntityGraph entityGraph
        11: .line 758
      StackMap locals: org.hibernate.metamodel.internal.MetamodelImpl java.lang.Class javax.persistence.metamodel.EntityType java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        12: .line 769
            aload 3 /* results */
            areturn
        end local 3 // java.util.List results
        end local 2 // javax.persistence.metamodel.EntityType entityType
        end local 1 // java.lang.Class entityClass
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/hibernate/metamodel/internal/MetamodelImpl;
            0   13     1  entityClass  Ljava/lang/Class<TT;>;
            1   13     2   entityType  Ljavax/persistence/metamodel/EntityType<TT;>;
            4   13     3      results  Ljava/util/List<Ljavax/persistence/EntityGraph<-TT;>;>;
            6   11     4  entityGraph  Ljavax/persistence/EntityGraph;
            9   11     6          egi  Lorg/hibernate/graph/spi/EntityGraphImplementor;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Ljava/util/List<Ljavax/persistence/EntityGraph<-TT;>;>;
    MethodParameters:
             Name  Flags
      entityClass  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
         0: .line 775
            return
        end local 0 // org.hibernate.metamodel.internal.MetamodelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/internal/MetamodelImpl;

  public org.hibernate.SessionFactory getSessionFactory();
    descriptor: ()Lorg/hibernate/SessionFactory;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.getSessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "MetamodelImpl.java"
NestMembers:
  org.hibernate.metamodel.internal.MetamodelImpl$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Builder = org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl$Builder of org.hibernate.cache.cfg.internal.DomainDataRegionConfigImpl
  org.hibernate.metamodel.internal.MetamodelImpl$1