public final class org.hibernate.internal.SessionFactoryImpl implements org.hibernate.engine.spi.SessionFactoryImplementor
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.hibernate.internal.SessionFactoryImpl
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.hibernate.id.IdentifierGenerator UUID_GENERATOR;
    descriptor: Lorg/hibernate/id/IdentifierGenerator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String uuid;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final transient java.util.Map<java.lang.String, org.hibernate.metadata.ClassMetadata> classMetadata;
    descriptor: Ljava/util/Map;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metadata/ClassMetadata;>;

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

  private final transient java.util.Map<java.lang.String, org.hibernate.metadata.CollectionMetadata> collectionMetadata;
    descriptor: Ljava/util/Map;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metadata/CollectionMetadata;>;

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

  private final transient java.util.Map<java.lang.String, org.hibernate.id.IdentifierGenerator> identifierGenerators;
    descriptor: Ljava/util/Map;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/id/IdentifierGenerator;>;

  private final transient org.hibernate.internal.NamedQueryRepository namedQueryRepository;
    descriptor: Lorg/hibernate/internal/NamedQueryRepository;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient java.util.Map<java.lang.String, org.hibernate.engine.spi.FilterDefinition> filters;
    descriptor: Ljava/util/Map;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/spi/FilterDefinition;>;

  private final transient java.util.Map<java.lang.String, org.hibernate.engine.profile.FetchProfile> fetchProfiles;
    descriptor: Ljava/util/Map;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/profile/FetchProfile;>;

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

  private final transient org.hibernate.service.spi.SessionFactoryServiceRegistry serviceRegistry;
    descriptor: Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.engine.jdbc.spi.JdbcServices jdbcServices;
    descriptor: Lorg/hibernate/engine/jdbc/spi/JdbcServices;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.dialect.Dialect dialect;
    descriptor: Lorg/hibernate/dialect/Dialect;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.cfg.Settings settings;
    descriptor: Lorg/hibernate/cfg/Settings;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient java.util.Properties properties;
    descriptor: Ljava/util/Properties;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private transient org.hibernate.tool.hbm2ddl.SchemaExport schemaExport;
    descriptor: Lorg/hibernate/tool/hbm2ddl/SchemaExport;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final transient org.hibernate.context.spi.CurrentSessionContext currentSessionContext;
    descriptor: Lorg/hibernate/context/spi/CurrentSessionContext;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.dialect.function.SQLFunctionRegistry sqlFunctionRegistry;
    descriptor: Lorg/hibernate/dialect/function/SQLFunctionRegistry;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.internal.SessionFactoryObserverChain observer;
    descriptor: Lorg/hibernate/internal/SessionFactoryObserverChain;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

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

  private final transient org.hibernate.engine.query.spi.QueryPlanCache queryPlanCache;
    descriptor: Lorg/hibernate/engine/query/spi/QueryPlanCache;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.engine.spi.CacheImplementor cacheAccess;
    descriptor: Lorg/hibernate/engine/spi/CacheImplementor;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private transient boolean isClosed;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final transient org.hibernate.type.TypeResolver typeResolver;
    descriptor: Lorg/hibernate/type/TypeResolver;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.TypeHelper typeHelper;
    descriptor: Lorg/hibernate/TypeHelper;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.engine.transaction.spi.TransactionEnvironment transactionEnvironment;
    descriptor: Lorg/hibernate/engine/transaction/spi/TransactionEnvironment;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.SessionFactory$SessionFactoryOptions sessionFactoryOptions;
    descriptor: Lorg/hibernate/SessionFactory$SessionFactoryOptions;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.CustomEntityDirtinessStrategy customEntityDirtinessStrategy;
    descriptor: Lorg/hibernate/CustomEntityDirtinessStrategy;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.context.spi.CurrentTenantIdentifierResolver currentTenantIdentifierResolver;
    descriptor: Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 186
            ldc Lorg/hibernate/internal/CoreMessageLogger;
            ldc Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 187
            invokestatic org.hibernate.id.UUIDGenerator.buildSessionFactoryUniqueIdentifierGenerator:()Lorg/hibernate/id/UUIDGenerator;
            putstatic org.hibernate.internal.SessionFactoryImpl.UUID_GENERATOR:Lorg/hibernate/id/IdentifierGenerator;
         2: .line 1074
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic org.hibernate.internal.SessionFactoryImpl.ENTITY_NAME_RESOLVER_MAP_VALUE:Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.cfg.Configuration, org.hibernate.engine.spi.Mapping, org.hibernate.service.ServiceRegistry, org.hibernate.cfg.Settings, org.hibernate.SessionFactoryObserver);
    descriptor: (Lorg/hibernate/cfg/Configuration;Lorg/hibernate/engine/spi/Mapping;Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/cfg/Settings;Lorg/hibernate/SessionFactoryObserver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=25, args_size=6
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.cfg.Configuration cfg
        start local 2 // org.hibernate.engine.spi.Mapping mapping
        start local 3 // org.hibernate.service.ServiceRegistry serviceRegistry
        start local 4 // org.hibernate.cfg.Settings settings
        start local 5 // org.hibernate.SessionFactoryObserver observer
         0: .line 223
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 210
            aload 0 /* this */
            new org.hibernate.internal.SessionFactoryObserverChain
            dup
            invokespecial org.hibernate.internal.SessionFactoryObserverChain.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
         2: .line 211
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.entityNameResolvers:Ljava/util/concurrent/ConcurrentHashMap;
         3: .line 229
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Building session factory"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
         4: .line 231
            aload 0 /* this */
            new org.hibernate.internal.SessionFactoryImpl$1
            dup
            aload 0 /* this */
            aload 3 /* serviceRegistry */
            aload 1 /* cfg */
            invokespecial org.hibernate.internal.SessionFactoryImpl$1.<init>:(Lorg/hibernate/internal/SessionFactoryImpl;Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/cfg/Configuration;)V
            putfield org.hibernate.internal.SessionFactoryImpl.sessionFactoryOptions:Lorg/hibernate/SessionFactory$SessionFactoryOptions;
         5: .line 262
            aload 0 /* this */
            aload 4 /* settings */
            putfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
         6: .line 264
            aload 0 /* this */
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
         7: .line 265
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getProperties:()Ljava/util/Properties;
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
         8: .line 267
            aload 0 /* this */
            aload 3 /* serviceRegistry */
            ldc Lorg/hibernate/service/spi/SessionFactoryServiceRegistryFactory;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.service.spi.SessionFactoryServiceRegistryFactory
         9: .line 268
            aload 0 /* this */
        10: .line 269
            aload 1 /* cfg */
        11: .line 267
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistryFactory.buildServiceRegistry:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/cfg/Configuration;)Lorg/hibernate/service/internal/SessionFactoryServiceRegistryImpl;
            putfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
        12: .line 271
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.jdbc.spi.JdbcServices
            putfield org.hibernate.internal.SessionFactoryImpl.jdbcServices:Lorg/hibernate/engine/jdbc/spi/JdbcServices;
        13: .line 272
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.jdbcServices:Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getDialect:()Lorg/hibernate/dialect/Dialect;
            putfield org.hibernate.internal.SessionFactoryImpl.dialect:Lorg/hibernate/dialect/Dialect;
        14: .line 273
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/engine/spi/CacheImplementor;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.spi.CacheImplementor
            putfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
        15: .line 274
            aload 0 /* this */
            new org.hibernate.dialect.function.SQLFunctionRegistry
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getDialect:()Lorg/hibernate/dialect/Dialect;
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getSqlFunctions:()Ljava/util/Map;
            invokespecial org.hibernate.dialect.function.SQLFunctionRegistry.<init>:(Lorg/hibernate/dialect/Dialect;Ljava/util/Map;)V
            putfield org.hibernate.internal.SessionFactoryImpl.sqlFunctionRegistry:Lorg/hibernate/dialect/function/SQLFunctionRegistry;
        16: .line 275
            aload 5 /* observer */
            ifnull 18
        17: .line 276
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
            aload 5 /* observer */
            invokevirtual org.hibernate.internal.SessionFactoryObserverChain.addObserver:(Lorg/hibernate/SessionFactoryObserver;)V
        18: .line 279
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getTypeResolver:()Lorg/hibernate/type/TypeResolver;
            aload 0 /* this */
            invokevirtual org.hibernate.type.TypeResolver.scope:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/type/TypeResolver;
            putfield org.hibernate.internal.SessionFactoryImpl.typeResolver:Lorg/hibernate/type/TypeResolver;
        19: .line 280
            aload 0 /* this */
            new org.hibernate.internal.TypeLocatorImpl
            dup
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.typeResolver:Lorg/hibernate/type/TypeResolver;
            invokespecial org.hibernate.internal.TypeLocatorImpl.<init>:(Lorg/hibernate/type/TypeResolver;)V
            putfield org.hibernate.internal.SessionFactoryImpl.typeHelper:Lorg/hibernate/TypeHelper;
        20: .line 282
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.filters:Ljava/util/Map;
        21: .line 283
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.filters:Ljava/util/Map;
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getFilterDefinitions:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        22: .line 285
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Session factory constructed with filter configurations : %s"
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.filters:Ljava/util/Map;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        23: .line 286
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Instantiating session factory with properties: %s"
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        24: .line 289
            aload 0 /* this */
            new org.hibernate.engine.query.spi.QueryPlanCache
            dup
            aload 0 /* this */
            invokespecial org.hibernate.engine.query.spi.QueryPlanCache.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            putfield org.hibernate.internal.SessionFactoryImpl.queryPlanCache:Lorg/hibernate/engine/query/spi/QueryPlanCache;
        25: .line 309
            new org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver.<init>:(Lorg/hibernate/internal/SessionFactoryImpl;)V
            astore 6 /* integratorObserver */
        start local 6 // org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver integratorObserver
        26: .line 310
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
            aload 6 /* integratorObserver */
            invokevirtual org.hibernate.internal.SessionFactoryObserverChain.addObserver:(Lorg/hibernate/SessionFactoryObserver;)V
        27: .line 311
            aload 3 /* serviceRegistry */
            ldc Lorg/hibernate/integrator/spi/IntegratorService;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.integrator.spi.IntegratorService
            invokeinterface org.hibernate.integrator.spi.IntegratorService.getIntegrators:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 31
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver top java.util.Iterator
      StackMap stack:
        28: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.integrator.spi.Integrator
            astore 7 /* integrator */
        start local 7 // org.hibernate.integrator.spi.Integrator integrator
        29: .line 312
            aload 7 /* integrator */
            aload 1 /* cfg */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            invokeinterface org.hibernate.integrator.spi.Integrator.integrate:(Lorg/hibernate/cfg/Configuration;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;)V
        30: .line 313
            aload 6 /* integratorObserver */
            getfield org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver.integrators:Ljava/util/ArrayList;
            aload 7 /* integrator */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.hibernate.integrator.spi.Integrator integrator
        31: .line 311
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        32: .line 318
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.identifierGenerators:Ljava/util/Map;
        33: .line 319
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getClassMappings:()Ljava/util/Iterator;
            astore 7 /* classes */
        start local 7 // java.util.Iterator classes
        34: .line 320
            goto 45
        35: .line 321
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator
      StackMap stack:
            aload 7 /* classes */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            astore 8 /* model */
        start local 8 // org.hibernate.mapping.PersistentClass model
        36: .line 322
            aload 8 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.isInherited:()Z
            ifne 45
        37: .line 323
            aload 8 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
        38: .line 324
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getIdentifierGeneratorFactory:()Lorg/hibernate/id/factory/spi/MutableIdentifierGeneratorFactory;
        39: .line 325
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getDialect:()Lorg/hibernate/dialect/Dialect;
        40: .line 326
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
        41: .line 327
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
        42: .line 328
            aload 8 /* model */
            checkcast org.hibernate.mapping.RootClass
        43: .line 323
            invokeinterface org.hibernate.mapping.KeyValue.createIdentifierGenerator:(Lorg/hibernate/id/factory/IdentifierGeneratorFactory;Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/mapping/RootClass;)Lorg/hibernate/id/IdentifierGenerator;
            astore 9 /* generator */
        start local 9 // org.hibernate.id.IdentifierGenerator generator
        44: .line 330
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.identifierGenerators:Ljava/util/Map;
            aload 8 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            aload 9 /* generator */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // org.hibernate.id.IdentifierGenerator generator
        end local 8 // org.hibernate.mapping.PersistentClass model
        45: .line 320
      StackMap locals:
      StackMap stack:
            aload 7 /* classes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        46: .line 334
            aload 0 /* this */
            new java.util.HashMap
            dup
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getImports:()Ljava/util/Map;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            putfield org.hibernate.internal.SessionFactoryImpl.imports:Ljava/util/Map;
        47: .line 340
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            invokeinterface org.hibernate.engine.spi.CacheImplementor.getRegionFactory:()Lorg/hibernate/cache/spi/RegionFactory;
            astore 8 /* regionFactory */
        start local 8 // org.hibernate.cache.spi.RegionFactory regionFactory
        48: .line 341
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getCacheRegionPrefix:()Ljava/lang/String;
            ifnonnull 49
            ldc ""
            goto 50
      StackMap locals: org.hibernate.cache.spi.RegionFactory
      StackMap stack:
        49: new java.lang.StringBuilder
            dup
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getCacheRegionPrefix:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        50: astore 9 /* cacheRegionPrefix */
        start local 9 // java.lang.String cacheRegionPrefix
        51: .line 342
            aload 3 /* serviceRegistry */
            ldc Lorg/hibernate/persister/spi/PersisterFactory;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.persister.spi.PersisterFactory
            astore 10 /* persisterFactory */
        start local 10 // org.hibernate.persister.spi.PersisterFactory persisterFactory
        52: .line 350
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.entityPersisters:Ljava/util/Map;
        53: .line 351
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 11 /* entityAccessStrategies */
        start local 11 // java.util.Map entityAccessStrategies
        54: .line 352
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 12 /* classMeta */
        start local 12 // java.util.Map classMeta
        55: .line 353
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getClassMappings:()Ljava/util/Iterator;
            astore 7 /* classes */
        56: .line 354
            goto 99
        57: .line 355
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map
      StackMap stack:
            aload 7 /* classes */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            astore 13 /* model */
        start local 13 // org.hibernate.mapping.PersistentClass model
        58: .line 356
            aload 13 /* model */
            aload 2 /* mapping */
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.mapping.PersistentClass.prepareTemporaryTables:(Lorg/hibernate/engine/spi/Mapping;Lorg/hibernate/dialect/Dialect;)V
        59: .line 357
            new java.lang.StringBuilder
            dup
            aload 9 /* cacheRegionPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getRootClass:()Lorg/hibernate/mapping/RootClass;
            invokevirtual org.hibernate.mapping.RootClass.getCacheRegionName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 14 /* cacheRegionName */
        start local 14 // java.lang.String cacheRegionName
        60: .line 359
            aload 11 /* entityAccessStrategies */
            aload 14 /* cacheRegionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.cache.spi.access.EntityRegionAccessStrategy
            astore 15 /* accessStrategy */
        start local 15 // org.hibernate.cache.spi.access.EntityRegionAccessStrategy accessStrategy
        61: .line 360
            aload 15 /* accessStrategy */
            ifnonnull 69
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.isSecondLevelCacheEnabled:()Z
            ifeq 69
        62: .line 361
            aload 13 /* model */
            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 16 /* accessType */
        start local 16 // org.hibernate.cache.spi.access.AccessType accessType
        63: .line 362
            aload 16 /* accessType */
            ifnull 69
        64: .line 363
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Building shared cache region for entity data [%s]"
            aload 13 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
        65: .line 364
            aload 8 /* regionFactory */
            aload 14 /* cacheRegionName */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
            aload 13 /* model */
            invokestatic org.hibernate.cache.internal.CacheDataDescriptionImpl.decode:(Lorg/hibernate/mapping/PersistentClass;)Lorg/hibernate/cache/internal/CacheDataDescriptionImpl;
            invokeinterface org.hibernate.cache.spi.RegionFactory.buildEntityRegion:(Ljava/lang/String;Ljava/util/Properties;Lorg/hibernate/cache/spi/CacheDataDescription;)Lorg/hibernate/cache/spi/EntityRegion;
            astore 17 /* entityRegion */
        start local 17 // org.hibernate.cache.spi.EntityRegion entityRegion
        66: .line 365
            aload 17 /* entityRegion */
            aload 16 /* accessType */
            invokeinterface org.hibernate.cache.spi.EntityRegion.buildAccessStrategy:(Lorg/hibernate/cache/spi/access/AccessType;)Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;
            astore 15 /* accessStrategy */
        67: .line 366
            aload 11 /* entityAccessStrategies */
            aload 14 /* cacheRegionName */
            aload 15 /* accessStrategy */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        68: .line 367
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            aload 14 /* cacheRegionName */
            aload 17 /* entityRegion */
            invokeinterface org.hibernate.engine.spi.CacheImplementor.addCacheRegion:(Ljava/lang/String;Lorg/hibernate/cache/spi/Region;)V
        end local 17 // org.hibernate.cache.spi.EntityRegion entityRegion
        end local 16 // org.hibernate.cache.spi.access.AccessType accessType
        69: .line 371
      StackMap locals: org.hibernate.mapping.PersistentClass java.lang.String org.hibernate.cache.spi.access.EntityRegionAccessStrategy
      StackMap stack:
            aconst_null
            astore 16 /* naturalIdAccessStrategy */
        start local 16 // org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy naturalIdAccessStrategy
        70: .line 372
            aload 13 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.hasNaturalId:()Z
            ifeq 90
            aload 13 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getNaturalIdCacheRegionName:()Ljava/lang/String;
            ifnull 90
        71: .line 373
            new java.lang.StringBuilder
            dup
            aload 9 /* cacheRegionPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getNaturalIdCacheRegionName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 17 /* naturalIdCacheRegionName */
        start local 17 // java.lang.String naturalIdCacheRegionName
        72: .line 374
            aload 11 /* entityAccessStrategies */
            aload 17 /* naturalIdCacheRegionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy
            astore 16 /* naturalIdAccessStrategy */
        73: .line 376
            aload 16 /* naturalIdAccessStrategy */
            ifnonnull 90
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.isSecondLevelCacheEnabled:()Z
            ifeq 90
        74: .line 377
            aload 13 /* model */
            invokestatic org.hibernate.cache.internal.CacheDataDescriptionImpl.decode:(Lorg/hibernate/mapping/PersistentClass;)Lorg/hibernate/cache/internal/CacheDataDescriptionImpl;
            astore 18 /* cacheDataDescription */
        start local 18 // org.hibernate.cache.internal.CacheDataDescriptionImpl cacheDataDescription
        75: .line 379
            aconst_null
            astore 19 /* naturalIdRegion */
        start local 19 // org.hibernate.cache.spi.NaturalIdRegion naturalIdRegion
        76: .line 381
            aload 8 /* regionFactory */
            aload 17 /* naturalIdCacheRegionName */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
        77: .line 382
            aload 18 /* cacheDataDescription */
        78: .line 381
            invokeinterface org.hibernate.cache.spi.RegionFactory.buildNaturalIdRegion:(Ljava/lang/String;Ljava/util/Properties;Lorg/hibernate/cache/spi/CacheDataDescription;)Lorg/hibernate/cache/spi/NaturalIdRegion;
            astore 19 /* naturalIdRegion */
        79: .line 383
            goto 86
        80: .line 384
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map org.hibernate.mapping.PersistentClass java.lang.String org.hibernate.cache.spi.access.EntityRegionAccessStrategy org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy java.lang.String org.hibernate.cache.internal.CacheDataDescriptionImpl org.hibernate.cache.spi.NaturalIdRegion
      StackMap stack: java.lang.UnsupportedOperationException
            pop
        81: .line 385
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        82: .line 386
            ldc "Shared cache region factory [%s] does not support natural id caching; shared NaturalId caching will be disabled for not be enabled for %s"
        83: .line 388
            aload 8 /* regionFactory */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        84: .line 389
            aload 13 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
        85: .line 385
            invokeinterface org.hibernate.internal.CoreMessageLogger.warnf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        86: .line 393
      StackMap locals:
      StackMap stack:
            aload 19 /* naturalIdRegion */
            ifnull 90
        87: .line 394
            aload 19 /* naturalIdRegion */
            aload 8 /* regionFactory */
            invokeinterface org.hibernate.cache.spi.RegionFactory.getDefaultAccessType:()Lorg/hibernate/cache/spi/access/AccessType;
            invokeinterface org.hibernate.cache.spi.NaturalIdRegion.buildAccessStrategy:(Lorg/hibernate/cache/spi/access/AccessType;)Lorg/hibernate/cache/spi/access/NaturalIdRegionAccessStrategy;
            astore 16 /* naturalIdAccessStrategy */
        88: .line 395
            aload 11 /* entityAccessStrategies */
            aload 17 /* naturalIdCacheRegionName */
            aload 16 /* naturalIdAccessStrategy */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        89: .line 396
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            aload 17 /* naturalIdCacheRegionName */
            aload 19 /* naturalIdRegion */
            invokeinterface org.hibernate.engine.spi.CacheImplementor.addCacheRegion:(Ljava/lang/String;Lorg/hibernate/cache/spi/Region;)V
        end local 19 // org.hibernate.cache.spi.NaturalIdRegion naturalIdRegion
        end local 18 // org.hibernate.cache.internal.CacheDataDescriptionImpl cacheDataDescription
        end local 17 // java.lang.String naturalIdCacheRegionName
        90: .line 401
      StackMap locals:
      StackMap stack:
            aload 10 /* persisterFactory */
        91: .line 402
            aload 13 /* model */
        92: .line 403
            aload 15 /* accessStrategy */
        93: .line 404
            aload 16 /* naturalIdAccessStrategy */
        94: .line 405
            aload 0 /* this */
        95: .line 406
            aload 2 /* mapping */
        96: .line 401
            invokeinterface org.hibernate.persister.spi.PersisterFactory.createEntityPersister:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;Lorg/hibernate/cache/spi/access/NaturalIdRegionAccessStrategy;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/Mapping;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 17 /* cp */
        start local 17 // org.hibernate.persister.entity.EntityPersister cp
        97: .line 408
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.entityPersisters:Ljava/util/Map;
            aload 13 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            aload 17 /* cp */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        98: .line 409
            aload 12 /* classMeta */
            aload 13 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            aload 17 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getClassMetadata:()Lorg/hibernate/metadata/ClassMetadata;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 17 // org.hibernate.persister.entity.EntityPersister cp
        end local 16 // org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy naturalIdAccessStrategy
        end local 15 // org.hibernate.cache.spi.access.EntityRegionAccessStrategy accessStrategy
        end local 14 // java.lang.String cacheRegionName
        end local 13 // org.hibernate.mapping.PersistentClass model
        99: .line 354
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map
      StackMap stack:
            aload 7 /* classes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 57
       100: .line 411
            aload 0 /* this */
            aload 12 /* classMeta */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.hibernate.internal.SessionFactoryImpl.classMetadata:Ljava/util/Map;
       101: .line 413
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 13 /* tmpEntityToCollectionRoleMap */
        start local 13 // java.util.Map tmpEntityToCollectionRoleMap
       102: .line 414
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.collectionPersisters:Ljava/util/Map;
       103: .line 415
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 14 /* tmpCollectionMetadata */
        start local 14 // java.util.Map tmpCollectionMetadata
       104: .line 416
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getCollectionMappings:()Ljava/util/Iterator;
            astore 15 /* collections */
        start local 15 // java.util.Iterator collections
       105: .line 417
            goto 142
       106: .line 418
      StackMap locals: java.util.Map java.util.Map java.util.Iterator
      StackMap stack:
            aload 15 /* collections */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Collection
            astore 16 /* model */
        start local 16 // org.hibernate.mapping.Collection model
       107: .line 419
            new java.lang.StringBuilder
            dup
            aload 9 /* cacheRegionPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 16 /* model */
            invokevirtual org.hibernate.mapping.Collection.getCacheRegionName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 17 /* cacheRegionName */
        start local 17 // java.lang.String cacheRegionName
       108: .line 420
            aload 16 /* model */
            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 18 /* accessType */
        start local 18 // org.hibernate.cache.spi.access.AccessType accessType
       109: .line 421
            aconst_null
            astore 19 /* accessStrategy */
        start local 19 // org.hibernate.cache.spi.access.CollectionRegionAccessStrategy accessStrategy
       110: .line 422
            aload 18 /* accessType */
            ifnull 118
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.isSecondLevelCacheEnabled:()Z
            ifeq 118
       111: .line 423
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Building shared cache region for collection data [{0}]"
            aload 16 /* model */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
       112: .line 424
            aload 8 /* regionFactory */
            aload 17 /* cacheRegionName */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
       113: .line 425
            aload 16 /* model */
            invokestatic org.hibernate.cache.internal.CacheDataDescriptionImpl.decode:(Lorg/hibernate/mapping/Collection;)Lorg/hibernate/cache/internal/CacheDataDescriptionImpl;
       114: .line 424
            invokeinterface org.hibernate.cache.spi.RegionFactory.buildCollectionRegion:(Ljava/lang/String;Ljava/util/Properties;Lorg/hibernate/cache/spi/CacheDataDescription;)Lorg/hibernate/cache/spi/CollectionRegion;
            astore 20 /* collectionRegion */
        start local 20 // org.hibernate.cache.spi.CollectionRegion collectionRegion
       115: .line 426
            aload 20 /* collectionRegion */
            aload 18 /* accessType */
            invokeinterface org.hibernate.cache.spi.CollectionRegion.buildAccessStrategy:(Lorg/hibernate/cache/spi/access/AccessType;)Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;
            astore 19 /* accessStrategy */
       116: .line 427
            aload 11 /* entityAccessStrategies */
            aload 17 /* cacheRegionName */
            aload 19 /* accessStrategy */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       117: .line 428
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            aload 17 /* cacheRegionName */
            aload 20 /* collectionRegion */
            invokeinterface org.hibernate.engine.spi.CacheImplementor.addCacheRegion:(Ljava/lang/String;Lorg/hibernate/cache/spi/Region;)V
        end local 20 // org.hibernate.cache.spi.CollectionRegion collectionRegion
       118: .line 430
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator org.hibernate.mapping.Collection java.lang.String org.hibernate.cache.spi.access.AccessType org.hibernate.cache.spi.access.CollectionRegionAccessStrategy
      StackMap stack:
            aload 10 /* persisterFactory */
       119: .line 431
            aload 1 /* cfg */
       120: .line 432
            aload 16 /* model */
       121: .line 433
            aload 19 /* accessStrategy */
       122: .line 434
            aload 0 /* this */
       123: .line 430
            invokeinterface org.hibernate.persister.spi.PersisterFactory.createCollectionPersister:(Lorg/hibernate/cfg/Configuration;Lorg/hibernate/mapping/Collection;Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/persister/collection/CollectionPersister;
            astore 20 /* persister */
        start local 20 // org.hibernate.persister.collection.CollectionPersister persister
       124: .line 436
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.collectionPersisters:Ljava/util/Map;
            aload 16 /* model */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
            aload 20 /* persister */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       125: .line 437
            aload 14 /* tmpCollectionMetadata */
            aload 16 /* model */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
            aload 20 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getCollectionMetadata:()Lorg/hibernate/metadata/CollectionMetadata;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       126: .line 438
            aload 20 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getIndexType:()Lorg/hibernate/type/Type;
            astore 21 /* indexType */
        start local 21 // org.hibernate.type.Type indexType
       127: .line 439
            aload 21 /* indexType */
            ifnull 134
            aload 21 /* indexType */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifeq 134
            aload 21 /* indexType */
            invokeinterface org.hibernate.type.Type.isAnyType:()Z
            ifne 134
       128: .line 440
            aload 21 /* indexType */
            checkcast org.hibernate.type.AssociationType
            aload 0 /* this */
            invokeinterface org.hibernate.type.AssociationType.getAssociatedEntityName:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            astore 22 /* entityName */
        start local 22 // java.lang.String entityName
       129: .line 441
            aload 13 /* tmpEntityToCollectionRoleMap */
            aload 22 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 23 /* roles */
        start local 23 // java.util.Set roles
       130: .line 442
            aload 23 /* roles */
            ifnonnull 133
       131: .line 443
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 23 /* roles */
       132: .line 444
            aload 13 /* tmpEntityToCollectionRoleMap */
            aload 22 /* entityName */
            aload 23 /* roles */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       133: .line 446
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator org.hibernate.mapping.Collection java.lang.String org.hibernate.cache.spi.access.AccessType org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.persister.collection.CollectionPersister org.hibernate.type.Type java.lang.String java.util.Set
      StackMap stack:
            aload 23 /* roles */
            aload 20 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getRole:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 23 // java.util.Set roles
        end local 22 // java.lang.String entityName
       134: .line 448
      StackMap locals:
      StackMap stack:
            aload 20 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            astore 22 /* elementType */
        start local 22 // org.hibernate.type.Type elementType
       135: .line 449
            aload 22 /* elementType */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifeq 142
            aload 22 /* elementType */
            invokeinterface org.hibernate.type.Type.isAnyType:()Z
            ifne 142
       136: .line 450
            aload 22 /* elementType */
            checkcast org.hibernate.type.AssociationType
            aload 0 /* this */
            invokeinterface org.hibernate.type.AssociationType.getAssociatedEntityName:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            astore 23 /* entityName */
        start local 23 // java.lang.String entityName
       137: .line 451
            aload 13 /* tmpEntityToCollectionRoleMap */
            aload 23 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 24 /* roles */
        start local 24 // java.util.Set roles
       138: .line 452
            aload 24 /* roles */
            ifnonnull 141
       139: .line 453
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 24 /* roles */
       140: .line 454
            aload 13 /* tmpEntityToCollectionRoleMap */
            aload 23 /* entityName */
            aload 24 /* roles */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       141: .line 456
      StackMap locals: org.hibernate.type.Type java.lang.String java.util.Set
      StackMap stack:
            aload 24 /* roles */
            aload 20 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getRole:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 24 // java.util.Set roles
        end local 23 // java.lang.String entityName
        end local 22 // org.hibernate.type.Type elementType
        end local 21 // org.hibernate.type.Type indexType
        end local 20 // org.hibernate.persister.collection.CollectionPersister persister
        end local 19 // org.hibernate.cache.spi.access.CollectionRegionAccessStrategy accessStrategy
        end local 18 // org.hibernate.cache.spi.access.AccessType accessType
        end local 17 // java.lang.String cacheRegionName
        end local 16 // org.hibernate.mapping.Collection model
       142: .line 417
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator
      StackMap stack:
            aload 15 /* collections */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 106
       143: .line 459
            aload 0 /* this */
            aload 14 /* tmpCollectionMetadata */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.hibernate.internal.SessionFactoryImpl.collectionMetadata:Ljava/util/Map;
       144: .line 460
            aload 13 /* tmpEntityToCollectionRoleMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 16 /* itr */
        start local 16 // java.util.Iterator itr
       145: .line 461
            goto 148
       146: .line 462
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 16 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 17 /* entry */
        start local 17 // java.util.Map$Entry entry
       147: .line 463
            aload 17 /* entry */
            aload 17 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            invokeinterface java.util.Map$Entry.setValue:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 17 // java.util.Map$Entry entry
       148: .line 461
      StackMap locals:
      StackMap stack:
            aload 16 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 146
       149: .line 465
            aload 0 /* this */
            aload 13 /* tmpEntityToCollectionRoleMap */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.hibernate.internal.SessionFactoryImpl.collectionRolesByEntityParticipant:Ljava/util/Map;
       150: .line 468
            aload 0 /* this */
            new org.hibernate.internal.NamedQueryRepository
            dup
       151: .line 469
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getNamedQueries:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
       152: .line 470
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getNamedSQLQueries:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
       153: .line 471
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getSqlResultSetMappings:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
       154: .line 472
            aload 0 /* this */
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getNamedProcedureCallMap:()Ljava/util/Map;
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getSqlResultSetMappings:()Ljava/util/Map;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.toProcedureCallMementos:(Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
            invokespecial org.hibernate.internal.NamedQueryRepository.<init>:(Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/util/Map;)V
       155: .line 468
            putfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/internal/NamedQueryRepository;
       156: .line 476
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.entityPersisters:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 18
            goto 159
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator java.util.Iterator top java.util.Iterator
      StackMap stack:
       157: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
            astore 17 /* persister */
        start local 17 // org.hibernate.persister.entity.EntityPersister persister
       158: .line 477
            aload 17 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.generateEntityDefinition:()V
        end local 17 // org.hibernate.persister.entity.EntityPersister persister
       159: .line 476
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 157
       160: .line 480
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.entityPersisters:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 18
            goto 164
      StackMap locals:
      StackMap stack:
       161: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
            astore 17 /* persister */
        start local 17 // org.hibernate.persister.entity.EntityPersister persister
       162: .line 481
            aload 17 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.postInstantiate:()V
       163: .line 482
            aload 0 /* this */
            aload 17 /* persister */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.registerEntityNameResolvers:(Lorg/hibernate/persister/entity/EntityPersister;)V
        end local 17 // org.hibernate.persister.entity.EntityPersister persister
       164: .line 480
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 161
       165: .line 484
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.collectionPersisters:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 18
            goto 168
      StackMap locals:
      StackMap stack:
       166: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.persister.collection.CollectionPersister
            astore 17 /* persister */
        start local 17 // org.hibernate.persister.collection.CollectionPersister persister
       167: .line 485
            aload 17 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.postInstantiate:()V
        end local 17 // org.hibernate.persister.collection.CollectionPersister persister
       168: .line 484
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 166
       169: .line 490
            aload 0 /* this */
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getSessionFactoryName:()Ljava/lang/String;
            putfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
       170: .line 492
            aload 0 /* this */
            getstatic org.hibernate.internal.SessionFactoryImpl.UUID_GENERATOR:Lorg/hibernate/id/IdentifierGenerator;
            aconst_null
            aconst_null
            invokeinterface org.hibernate.id.IdentifierGenerator.generate:(Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/io/Serializable;
            checkcast java.lang.String
            putfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
       171: .line 493
            goto 174
       172: .line 494
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator java.util.Iterator
      StackMap stack: java.lang.Exception
            pop
       173: .line 495
            new org.hibernate.AssertionFailure
            dup
            ldc "Could not generate UUID"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
       174: .line 497
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.internal.SessionFactoryRegistry.INSTANCE:Lorg/hibernate/internal/SessionFactoryRegistry;
       175: .line 498
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
       176: .line 499
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
       177: .line 500
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.isSessionFactoryNameAlsoJndiName:()Z
       178: .line 501
            aload 0 /* this */
       179: .line 502
            aload 3 /* serviceRegistry */
            ldc Lorg/hibernate/engine/jndi/spi/JndiService;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.jndi.spi.JndiService
       180: .line 497
            invokevirtual org.hibernate.internal.SessionFactoryRegistry.addSessionFactory:(Ljava/lang/String;Ljava/lang/String;ZLorg/hibernate/SessionFactory;Lorg/hibernate/engine/jndi/spi/JndiService;)V
       181: .line 505
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Instantiated session factory"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
       182: .line 507
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getMultiTableBulkIdStrategy:()Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy;
       183: .line 508
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.jdbcServices:Lorg/hibernate/engine/jdbc/spi/JdbcServices;
       184: .line 509
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.buildLocalConnectionAccess:()Lorg/hibernate/engine/jdbc/spi/JdbcConnectionAccess;
       185: .line 510
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.createMappings:()Lorg/hibernate/cfg/Mappings;
       186: .line 511
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.buildMapping:()Lorg/hibernate/engine/spi/Mapping;
       187: .line 512
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
       188: .line 507
            invokeinterface org.hibernate.hql.spi.MultiTableBulkIdStrategy.prepare:(Lorg/hibernate/engine/jdbc/spi/JdbcServices;Lorg/hibernate/engine/jdbc/spi/JdbcConnectionAccess;Lorg/hibernate/cfg/Mappings;Lorg/hibernate/engine/spi/Mapping;Ljava/util/Map;)V
       189: .line 516
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.isAutoCreateSchema:()Z
            ifeq 193
       190: .line 517
            new org.hibernate.tool.hbm2ddl.SchemaExport
            dup
            aload 3 /* serviceRegistry */
            aload 1 /* cfg */
            invokespecial org.hibernate.tool.hbm2ddl.SchemaExport.<init>:(Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/cfg/Configuration;)V
       191: .line 518
            aload 3 /* serviceRegistry */
            ldc Lorg/hibernate/tool/hbm2ddl/ImportSqlCommandExtractor;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor
            invokevirtual org.hibernate.tool.hbm2ddl.SchemaExport.setImportSqlCommandExtractor:(Lorg/hibernate/tool/hbm2ddl/ImportSqlCommandExtractor;)Lorg/hibernate/tool/hbm2ddl/SchemaExport;
       192: .line 519
            iconst_0
            iconst_1
            invokevirtual org.hibernate.tool.hbm2ddl.SchemaExport.create:(ZZ)V
       193: .line 521
      StackMap locals:
      StackMap stack:
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.isAutoUpdateSchema:()Z
            ifeq 195
       194: .line 522
            new org.hibernate.tool.hbm2ddl.SchemaUpdate
            dup
            aload 3 /* serviceRegistry */
            aload 1 /* cfg */
            invokespecial org.hibernate.tool.hbm2ddl.SchemaUpdate.<init>:(Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/cfg/Configuration;)V
            iconst_0
            iconst_1
            invokevirtual org.hibernate.tool.hbm2ddl.SchemaUpdate.execute:(ZZ)V
       195: .line 524
      StackMap locals:
      StackMap stack:
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.isAutoValidateSchema:()Z
            ifeq 197
       196: .line 525
            new org.hibernate.tool.hbm2ddl.SchemaValidator
            dup
            aload 3 /* serviceRegistry */
            aload 1 /* cfg */
            invokespecial org.hibernate.tool.hbm2ddl.SchemaValidator.<init>:(Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/cfg/Configuration;)V
            invokevirtual org.hibernate.tool.hbm2ddl.SchemaValidator.validate:()V
       197: .line 527
      StackMap locals:
      StackMap stack:
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.isAutoDropSchema:()Z
            ifeq 201
       198: .line 528
            aload 0 /* this */
            new org.hibernate.tool.hbm2ddl.SchemaExport
            dup
            aload 3 /* serviceRegistry */
            aload 1 /* cfg */
            invokespecial org.hibernate.tool.hbm2ddl.SchemaExport.<init>:(Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/cfg/Configuration;)V
       199: .line 529
            aload 3 /* serviceRegistry */
            ldc Lorg/hibernate/tool/hbm2ddl/ImportSqlCommandExtractor;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor
            invokevirtual org.hibernate.tool.hbm2ddl.SchemaExport.setImportSqlCommandExtractor:(Lorg/hibernate/tool/hbm2ddl/ImportSqlCommandExtractor;)Lorg/hibernate/tool/hbm2ddl/SchemaExport;
       200: .line 528
            putfield org.hibernate.internal.SessionFactoryImpl.schemaExport:Lorg/hibernate/tool/hbm2ddl/SchemaExport;
       201: .line 532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.buildCurrentSessionContext:()Lorg/hibernate/context/spi/CurrentSessionContext;
            putfield org.hibernate.internal.SessionFactoryImpl.currentSessionContext:Lorg/hibernate/context/spi/CurrentSessionContext;
       202: .line 535
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.isNamedQueryStartupCheckingEnabled:()Z
            ifeq 214
       203: .line 536
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.checkNamedQueries:()Ljava/util/Map;
            astore 17 /* errors */
        start local 17 // java.util.Map errors
       204: .line 537
            aload 17 /* errors */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 214
       205: .line 538
            new java.lang.StringBuilder
            dup
            ldc "Errors in named queries: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 18 /* failingQueries */
        start local 18 // java.lang.StringBuilder failingQueries
       206: .line 539
            ldc ""
            astore 19 /* sep */
        start local 19 // java.lang.String sep
       207: .line 540
            aload 17 /* errors */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 21
            goto 212
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator java.util.Iterator java.util.Map java.lang.StringBuilder java.lang.String top java.util.Iterator
      StackMap stack:
       208: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 20 /* entry */
        start local 20 // java.util.Map$Entry entry
       209: .line 541
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 20 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 20 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.hibernate.HibernateException
            invokeinterface org.hibernate.internal.CoreMessageLogger.namedQueryError:(Ljava/lang/String;Lorg/hibernate/HibernateException;)V
       210: .line 542
            aload 18 /* failingQueries */
            aload 19 /* sep */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 20 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       211: .line 543
            ldc ", "
            astore 19 /* sep */
        end local 20 // java.util.Map$Entry entry
       212: .line 540
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 208
       213: .line 545
            new org.hibernate.HibernateException
            dup
            aload 18 /* failingQueries */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 19 // java.lang.String sep
        end local 18 // java.lang.StringBuilder failingQueries
        end local 17 // java.util.Map errors
       214: .line 550
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.fetchProfiles:Ljava/util/Map;
       215: .line 551
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.iterateFetchProfiles:()Ljava/util/Iterator;
            astore 16 /* itr */
       216: .line 552
            goto 241
       217: .line 554
      StackMap locals:
      StackMap stack:
            aload 16 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.FetchProfile
       218: .line 553
            astore 17 /* mappingProfile */
        start local 17 // org.hibernate.mapping.FetchProfile mappingProfile
       219: .line 555
            new org.hibernate.engine.profile.FetchProfile
            dup
            aload 17 /* mappingProfile */
            invokevirtual org.hibernate.mapping.FetchProfile.getName:()Ljava/lang/String;
            invokespecial org.hibernate.engine.profile.FetchProfile.<init>:(Ljava/lang/String;)V
            astore 18 /* fetchProfile */
        start local 18 // org.hibernate.engine.profile.FetchProfile fetchProfile
       220: .line 556
            aload 17 /* mappingProfile */
            invokevirtual org.hibernate.mapping.FetchProfile.getFetches:()Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.iterator:()Ljava/util/Iterator;
            astore 20
            goto 239
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator java.util.Iterator org.hibernate.mapping.FetchProfile org.hibernate.engine.profile.FetchProfile top java.util.Iterator
      StackMap stack:
       221: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.FetchProfile$Fetch
            astore 19 /* mappingFetch */
        start local 19 // org.hibernate.mapping.FetchProfile$Fetch mappingFetch
       222: .line 558
            aload 0 /* this */
            aload 19 /* mappingFetch */
            invokevirtual org.hibernate.mapping.FetchProfile$Fetch.getEntity:()Ljava/lang/String;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getImportedClassName:(Ljava/lang/String;)Ljava/lang/String;
            astore 21 /* entityName */
        start local 21 // java.lang.String entityName
       223: .line 559
            aload 21 /* entityName */
            ifnonnull 225
       224: .line 560
            aconst_null
            goto 226
       225: .line 561
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator java.util.Iterator org.hibernate.mapping.FetchProfile org.hibernate.engine.profile.FetchProfile org.hibernate.mapping.FetchProfile$Fetch java.util.Iterator java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.entityPersisters:Ljava/util/Map;
            aload 21 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
       226: .line 559
      StackMap locals:
      StackMap stack: org.hibernate.persister.entity.EntityPersister
            astore 22 /* owner */
        start local 22 // org.hibernate.persister.entity.EntityPersister owner
       227: .line 562
            aload 22 /* owner */
            ifnonnull 233
       228: .line 563
            new org.hibernate.HibernateException
            dup
       229: .line 564
            new java.lang.StringBuilder
            dup
            ldc "Unable to resolve entity reference ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* mappingFetch */
            invokevirtual org.hibernate.mapping.FetchProfile$Fetch.getEntity:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       230: .line 565
            ldc "] in fetch profile ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 18 /* fetchProfile */
            invokevirtual org.hibernate.engine.profile.FetchProfile.getName:()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;
       231: .line 564
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       232: .line 563
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
       233: .line 570
      StackMap locals: org.hibernate.persister.entity.EntityPersister
      StackMap stack:
            aload 22 /* owner */
            aload 19 /* mappingFetch */
            invokevirtual org.hibernate.mapping.FetchProfile$Fetch.getAssociation:()Ljava/lang/String;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getPropertyType:(Ljava/lang/String;)Lorg/hibernate/type/Type;
            astore 23 /* associationType */
        start local 23 // org.hibernate.type.Type associationType
       234: .line 571
            aload 23 /* associationType */
            ifnull 235
            aload 23 /* associationType */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifne 236
       235: .line 572
      StackMap locals: org.hibernate.type.Type
      StackMap stack:
            new org.hibernate.HibernateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Fetch profile ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* fetchProfile */
            invokevirtual org.hibernate.engine.profile.FetchProfile.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] specified an invalid association"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
       236: .line 576
      StackMap locals:
      StackMap stack:
            aload 19 /* mappingFetch */
            invokevirtual org.hibernate.mapping.FetchProfile$Fetch.getStyle:()Ljava/lang/String;
            invokestatic org.hibernate.engine.profile.Fetch$Style.parse:(Ljava/lang/String;)Lorg/hibernate/engine/profile/Fetch$Style;
            astore 24 /* fetchStyle */
        start local 24 // org.hibernate.engine.profile.Fetch$Style fetchStyle
       237: .line 579
            aload 18 /* fetchProfile */
            new org.hibernate.engine.profile.Association
            dup
            aload 22 /* owner */
            aload 19 /* mappingFetch */
            invokevirtual org.hibernate.mapping.FetchProfile$Fetch.getAssociation:()Ljava/lang/String;
            invokespecial org.hibernate.engine.profile.Association.<init>:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/lang/String;)V
            aload 24 /* fetchStyle */
            invokevirtual org.hibernate.engine.profile.FetchProfile.addFetch:(Lorg/hibernate/engine/profile/Association;Lorg/hibernate/engine/profile/Fetch$Style;)V
       238: .line 580
            aload 22 /* owner */
            checkcast org.hibernate.persister.entity.Loadable
            aload 18 /* fetchProfile */
            invokevirtual org.hibernate.engine.profile.FetchProfile.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.persister.entity.Loadable.registerAffectingFetchProfile:(Ljava/lang/String;)V
        end local 24 // org.hibernate.engine.profile.Fetch$Style fetchStyle
        end local 23 // org.hibernate.type.Type associationType
        end local 22 // org.hibernate.persister.entity.EntityPersister owner
        end local 21 // java.lang.String entityName
        end local 19 // org.hibernate.mapping.FetchProfile$Fetch mappingFetch
       239: .line 556
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator java.util.Iterator org.hibernate.mapping.FetchProfile org.hibernate.engine.profile.FetchProfile top java.util.Iterator
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 221
       240: .line 582
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.fetchProfiles:Ljava/util/Map;
            aload 18 /* fetchProfile */
            invokevirtual org.hibernate.engine.profile.FetchProfile.getName:()Ljava/lang/String;
            aload 18 /* fetchProfile */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 18 // org.hibernate.engine.profile.FetchProfile fetchProfile
        end local 17 // org.hibernate.mapping.FetchProfile mappingProfile
       241: .line 552
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.cfg.Configuration org.hibernate.engine.spi.Mapping org.hibernate.service.ServiceRegistry org.hibernate.cfg.Settings org.hibernate.SessionFactoryObserver org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Iterator org.hibernate.cache.spi.RegionFactory java.lang.String org.hibernate.persister.spi.PersisterFactory java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 16 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 217
       242: .line 585
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.determineCustomEntityDirtinessStrategy:()Lorg/hibernate/CustomEntityDirtinessStrategy;
            putfield org.hibernate.internal.SessionFactoryImpl.customEntityDirtinessStrategy:Lorg/hibernate/CustomEntityDirtinessStrategy;
       243: .line 586
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getCurrentTenantIdentifierResolver:()Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.determineCurrentTenantIdentifierResolver:(Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;)Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;
            putfield org.hibernate.internal.SessionFactoryImpl.currentTenantIdentifierResolver:Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;
       244: .line 587
            aload 0 /* this */
            new org.hibernate.internal.TransactionEnvironmentImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.TransactionEnvironmentImpl.<init>:(Lorg/hibernate/internal/SessionFactoryImpl;)V
            putfield org.hibernate.internal.SessionFactoryImpl.transactionEnvironment:Lorg/hibernate/engine/transaction/spi/TransactionEnvironment;
       245: .line 588
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated:(Lorg/hibernate/SessionFactory;)V
       246: .line 589
            return
        end local 16 // java.util.Iterator itr
        end local 15 // java.util.Iterator collections
        end local 14 // java.util.Map tmpCollectionMetadata
        end local 13 // java.util.Map tmpEntityToCollectionRoleMap
        end local 12 // java.util.Map classMeta
        end local 11 // java.util.Map entityAccessStrategies
        end local 10 // org.hibernate.persister.spi.PersisterFactory persisterFactory
        end local 9 // java.lang.String cacheRegionPrefix
        end local 8 // org.hibernate.cache.spi.RegionFactory regionFactory
        end local 7 // java.util.Iterator classes
        end local 6 // org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver integratorObserver
        end local 5 // org.hibernate.SessionFactoryObserver observer
        end local 4 // org.hibernate.cfg.Settings settings
        end local 3 // org.hibernate.service.ServiceRegistry serviceRegistry
        end local 2 // org.hibernate.engine.spi.Mapping mapping
        end local 1 // org.hibernate.cfg.Configuration cfg
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0  247     0                          this  Lorg/hibernate/internal/SessionFactoryImpl;
            0  247     1                           cfg  Lorg/hibernate/cfg/Configuration;
            0  247     2                       mapping  Lorg/hibernate/engine/spi/Mapping;
            0  247     3               serviceRegistry  Lorg/hibernate/service/ServiceRegistry;
            0  247     4                      settings  Lorg/hibernate/cfg/Settings;
            0  247     5                      observer  Lorg/hibernate/SessionFactoryObserver;
           26  247     6            integratorObserver  Lorg/hibernate/internal/SessionFactoryImpl$1IntegratorObserver;
           29   31     7                    integrator  Lorg/hibernate/integrator/spi/Integrator;
           34  247     7                       classes  Ljava/util/Iterator;
           36   45     8                         model  Lorg/hibernate/mapping/PersistentClass;
           44   45     9                     generator  Lorg/hibernate/id/IdentifierGenerator;
           48  247     8                 regionFactory  Lorg/hibernate/cache/spi/RegionFactory;
           51  247     9             cacheRegionPrefix  Ljava/lang/String;
           52  247    10              persisterFactory  Lorg/hibernate/persister/spi/PersisterFactory;
           54  247    11        entityAccessStrategies  Ljava/util/Map;
           55  247    12                     classMeta  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metadata/ClassMetadata;>;
           58   99    13                         model  Lorg/hibernate/mapping/PersistentClass;
           60   99    14               cacheRegionName  Ljava/lang/String;
           61   99    15                accessStrategy  Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;
           63   69    16                    accessType  Lorg/hibernate/cache/spi/access/AccessType;
           66   69    17                  entityRegion  Lorg/hibernate/cache/spi/EntityRegion;
           70   99    16       naturalIdAccessStrategy  Lorg/hibernate/cache/spi/access/NaturalIdRegionAccessStrategy;
           72   90    17      naturalIdCacheRegionName  Ljava/lang/String;
           75   90    18          cacheDataDescription  Lorg/hibernate/cache/internal/CacheDataDescriptionImpl;
           76   90    19               naturalIdRegion  Lorg/hibernate/cache/spi/NaturalIdRegion;
           97   99    17                            cp  Lorg/hibernate/persister/entity/EntityPersister;
          102  247    13  tmpEntityToCollectionRoleMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
          104  247    14         tmpCollectionMetadata  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metadata/CollectionMetadata;>;
          105  247    15                   collections  Ljava/util/Iterator;
          107  142    16                         model  Lorg/hibernate/mapping/Collection;
          108  142    17               cacheRegionName  Ljava/lang/String;
          109  142    18                    accessType  Lorg/hibernate/cache/spi/access/AccessType;
          110  142    19                accessStrategy  Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;
          115  118    20              collectionRegion  Lorg/hibernate/cache/spi/CollectionRegion;
          124  142    20                     persister  Lorg/hibernate/persister/collection/CollectionPersister;
          127  142    21                     indexType  Lorg/hibernate/type/Type;
          129  134    22                    entityName  Ljava/lang/String;
          130  134    23                         roles  Ljava/util/Set;
          135  142    22                   elementType  Lorg/hibernate/type/Type;
          137  142    23                    entityName  Ljava/lang/String;
          138  142    24                         roles  Ljava/util/Set;
          145  247    16                           itr  Ljava/util/Iterator;
          147  148    17                         entry  Ljava/util/Map$Entry;
          158  159    17                     persister  Lorg/hibernate/persister/entity/EntityPersister;
          162  164    17                     persister  Lorg/hibernate/persister/entity/EntityPersister;
          167  168    17                     persister  Lorg/hibernate/persister/collection/CollectionPersister;
          204  214    17                        errors  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/HibernateException;>;
          206  214    18                failingQueries  Ljava/lang/StringBuilder;
          207  214    19                           sep  Ljava/lang/String;
          209  212    20                         entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/hibernate/HibernateException;>;
          219  241    17                mappingProfile  Lorg/hibernate/mapping/FetchProfile;
          220  241    18                  fetchProfile  Lorg/hibernate/engine/profile/FetchProfile;
          222  239    19                  mappingFetch  Lorg/hibernate/mapping/FetchProfile$Fetch;
          223  239    21                    entityName  Ljava/lang/String;
          227  239    22                         owner  Lorg/hibernate/persister/entity/EntityPersister;
          234  239    23               associationType  Lorg/hibernate/type/Type;
          237  239    24                    fetchStyle  Lorg/hibernate/engine/profile/Fetch$Style;
      Exception table:
        from    to  target  type
          76    79      80  Class java.lang.UnsupportedOperationException
         170   171     172  Class java.lang.Exception
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      cfg              final
      mapping          
      serviceRegistry  final
      settings         
      observer         

  private java.util.Map<java.lang.String, org.hibernate.procedure.ProcedureCallMemento> toProcedureCallMementos(java.util.Map<java.lang.String, org.hibernate.cfg.annotations.NamedProcedureCallDefinition>, java.util.Map<java.lang.String, org.hibernate.engine.ResultSetMappingDefinition>);
    descriptor: (Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.util.Map definitions
        start local 2 // java.util.Map resultSetMappingMap
         0: .line 594
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* rtn */
        start local 3 // java.util.Map rtn
         1: .line 595
            aload 1 /* definitions */
            ifnull 6
         2: .line 596
            aload 1 /* definitions */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: org.hibernate.internal.SessionFactoryImpl java.util.Map java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* name */
        start local 4 // java.lang.String name
         4: .line 597
            aload 3 /* rtn */
            aload 4 /* name */
            aload 1 /* definitions */
            aload 4 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.cfg.annotations.NamedProcedureCallDefinition
            aload 0 /* this */
            aload 2 /* resultSetMappingMap */
            invokevirtual org.hibernate.cfg.annotations.NamedProcedureCallDefinition.toMemento:(Lorg/hibernate/internal/SessionFactoryImpl;Ljava/util/Map;)Lorg/hibernate/procedure/ProcedureCallMemento;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String name
         5: .line 596
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 600
      StackMap locals: org.hibernate.internal.SessionFactoryImpl java.util.Map java.util.Map java.util.Map
      StackMap stack:
            aload 3 /* rtn */
            areturn
        end local 3 // java.util.Map rtn
        end local 2 // java.util.Map resultSetMappingMap
        end local 1 // java.util.Map definitions
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    7     1          definitions  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/cfg/annotations/NamedProcedureCallDefinition;>;
            0    7     2  resultSetMappingMap  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/ResultSetMappingDefinition;>;
            1    7     3                  rtn  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/procedure/ProcedureCallMemento;>;
            4    5     4                 name  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/cfg/annotations/NamedProcedureCallDefinition;>;Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/ResultSetMappingDefinition;>;)Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/procedure/ProcedureCallMemento;>;
    MethodParameters:
                     Name  Flags
      definitions          
      resultSetMappingMap  

  private org.hibernate.engine.jdbc.spi.JdbcConnectionAccess buildLocalConnectionAccess();
    descriptor: ()Lorg/hibernate/engine/jdbc/spi/JdbcConnectionAccess;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 604
            new org.hibernate.internal.SessionFactoryImpl$2
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.SessionFactoryImpl$2.<init>:(Lorg/hibernate/internal/SessionFactoryImpl;)V
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  private org.hibernate.CustomEntityDirtinessStrategy determineCustomEntityDirtinessStrategy();
    descriptor: ()Lorg/hibernate/CustomEntityDirtinessStrategy;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 631
            new org.hibernate.internal.SessionFactoryImpl$3
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.SessionFactoryImpl$3.<init>:(Lorg/hibernate/internal/SessionFactoryImpl;)V
            astore 1 /* defaultValue */
        start local 1 // org.hibernate.CustomEntityDirtinessStrategy defaultValue
         1: .line 655
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/engine/config/spi/ConfigurationService;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.config.spi.ConfigurationService
         2: .line 656
            ldc "hibernate.entity_dirtiness_strategy"
         3: .line 657
            ldc Lorg/hibernate/CustomEntityDirtinessStrategy;
         4: .line 658
            aload 1 /* defaultValue */
         5: .line 655
            invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSetting:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.CustomEntityDirtinessStrategy
            areturn
        end local 1 // org.hibernate.CustomEntityDirtinessStrategy defaultValue
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/hibernate/internal/SessionFactoryImpl;
            1    6     1  defaultValue  Lorg/hibernate/CustomEntityDirtinessStrategy;

  private org.hibernate.context.spi.CurrentTenantIdentifierResolver determineCurrentTenantIdentifierResolver(org.hibernate.context.spi.CurrentTenantIdentifierResolver);
    descriptor: (Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;)Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.context.spi.CurrentTenantIdentifierResolver explicitResolver
         0: .line 665
            aload 1 /* explicitResolver */
            ifnull 2
         1: .line 666
            aload 1 /* explicitResolver */
            areturn
         2: .line 668
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/engine/config/spi/ConfigurationService;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.config.spi.ConfigurationService
         3: .line 670
            ldc "hibernate.tenant_identifier_resolver"
         4: .line 671
            ldc Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;
         5: .line 672
            aconst_null
         6: .line 669
            invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSetting:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.context.spi.CurrentTenantIdentifierResolver
         7: .line 668
            areturn
        end local 1 // org.hibernate.context.spi.CurrentTenantIdentifierResolver explicitResolver
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    8     1  explicitResolver  Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;
    MethodParameters:
                  Name  Flags
      explicitResolver  

  public void <init>(org.hibernate.metamodel.source.MetadataImplementor, org.hibernate.SessionFactory$SessionFactoryOptions, org.hibernate.SessionFactoryObserver);
    descriptor: (Lorg/hibernate/metamodel/source/MetadataImplementor;Lorg/hibernate/SessionFactory$SessionFactoryOptions;Lorg/hibernate/SessionFactoryObserver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=23, args_size=4
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.metamodel.source.MetadataImplementor metadata
        start local 2 // org.hibernate.SessionFactory$SessionFactoryOptions sessionFactoryOptions
        start local 3 // org.hibernate.SessionFactoryObserver observer
         0: .line 678
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 210
            aload 0 /* this */
            new org.hibernate.internal.SessionFactoryObserverChain
            dup
            invokespecial org.hibernate.internal.SessionFactoryObserverChain.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
         2: .line 211
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.entityNameResolvers:Ljava/util/concurrent/ConcurrentHashMap;
         3: .line 683
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            istore 4 /* traceEnabled */
        start local 4 // boolean traceEnabled
         4: .line 684
            iload 4 /* traceEnabled */
            ifne 5
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifne 5
            iconst_0
            goto 6
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 5 /* debugEnabled */
        start local 5 // boolean debugEnabled
         7: .line 685
            iload 5 /* debugEnabled */
            ifeq 9
         8: .line 686
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Building session factory"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
         9: .line 689
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* sessionFactoryOptions */
            putfield org.hibernate.internal.SessionFactoryImpl.sessionFactoryOptions:Lorg/hibernate/SessionFactory$SessionFactoryOptions;
        10: .line 691
            aload 0 /* this */
        11: .line 692
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getServiceRegistry:()Lorg/hibernate/service/ServiceRegistry;
            ldc Lorg/hibernate/engine/config/spi/ConfigurationService;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.config.spi.ConfigurationService
            invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSettings:()Ljava/util/Map;
        12: .line 691
            invokestatic org.hibernate.internal.SessionFactoryImpl.createPropertiesFromMap:(Ljava/util/Map;)Ljava/util/Properties;
            putfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
        13: .line 696
            aload 0 /* this */
            new org.hibernate.cfg.SettingsFactory
            dup
            invokespecial org.hibernate.cfg.SettingsFactory.<init>:()V
        14: .line 697
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
        15: .line 698
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getServiceRegistry:()Lorg/hibernate/service/ServiceRegistry;
        16: .line 696
            invokevirtual org.hibernate.cfg.SettingsFactory.buildSettings:(Ljava/util/Properties;Lorg/hibernate/service/ServiceRegistry;)Lorg/hibernate/cfg/Settings;
            putfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
        17: .line 701
            aload 0 /* this */
        18: .line 702
            aload 2 /* sessionFactoryOptions */
            invokeinterface org.hibernate.SessionFactory$SessionFactoryOptions.getServiceRegistry:()Lorg/hibernate/boot/registry/StandardServiceRegistry;
        19: .line 703
            ldc Lorg/hibernate/service/spi/SessionFactoryServiceRegistryFactory;
            invokeinterface org.hibernate.boot.registry.StandardServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.service.spi.SessionFactoryServiceRegistryFactory
        20: .line 704
            aload 0 /* this */
            aload 1 /* metadata */
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistryFactory.buildServiceRegistry:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/metamodel/source/MetadataImplementor;)Lorg/hibernate/service/internal/SessionFactoryServiceRegistryImpl;
        21: .line 701
            putfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
        22: .line 706
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.jdbc.spi.JdbcServices
            putfield org.hibernate.internal.SessionFactoryImpl.jdbcServices:Lorg/hibernate/engine/jdbc/spi/JdbcServices;
        23: .line 707
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.jdbcServices:Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getDialect:()Lorg/hibernate/dialect/Dialect;
            putfield org.hibernate.internal.SessionFactoryImpl.dialect:Lorg/hibernate/dialect/Dialect;
        24: .line 708
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/engine/spi/CacheImplementor;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.spi.CacheImplementor
            putfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
        25: .line 712
            aload 0 /* this */
            new org.hibernate.dialect.function.SQLFunctionRegistry
            dup
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.dialect:Lorg/hibernate/dialect/Dialect;
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokespecial org.hibernate.dialect.function.SQLFunctionRegistry.<init>:(Lorg/hibernate/dialect/Dialect;Ljava/util/Map;)V
            putfield org.hibernate.internal.SessionFactoryImpl.sqlFunctionRegistry:Lorg/hibernate/dialect/function/SQLFunctionRegistry;
        26: .line 717
            aload 3 /* observer */
            ifnull 28
        27: .line 718
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
            aload 3 /* observer */
            invokevirtual org.hibernate.internal.SessionFactoryObserverChain.addObserver:(Lorg/hibernate/SessionFactoryObserver;)V
        28: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getTypeResolver:()Lorg/hibernate/type/TypeResolver;
            aload 0 /* this */
            invokevirtual org.hibernate.type.TypeResolver.scope:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/type/TypeResolver;
            putfield org.hibernate.internal.SessionFactoryImpl.typeResolver:Lorg/hibernate/type/TypeResolver;
        29: .line 722
            aload 0 /* this */
            new org.hibernate.internal.TypeLocatorImpl
            dup
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.typeResolver:Lorg/hibernate/type/TypeResolver;
            invokespecial org.hibernate.internal.TypeLocatorImpl.<init>:(Lorg/hibernate/type/TypeResolver;)V
            putfield org.hibernate.internal.SessionFactoryImpl.typeHelper:Lorg/hibernate/TypeHelper;
        30: .line 724
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.filters:Ljava/util/Map;
        31: .line 725
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getFilterDefinitions:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 34
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int top java.util.Iterator
      StackMap stack:
        32: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.FilterDefinition
            astore 6 /* filterDefinition */
        start local 6 // org.hibernate.engine.spi.FilterDefinition filterDefinition
        33: .line 726
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.filters:Ljava/util/Map;
            aload 6 /* filterDefinition */
            invokevirtual org.hibernate.engine.spi.FilterDefinition.getFilterName:()Ljava/lang/String;
            aload 6 /* filterDefinition */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // org.hibernate.engine.spi.FilterDefinition filterDefinition
        34: .line 725
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        35: .line 729
            iload 5 /* debugEnabled */
            ifeq 38
        36: .line 730
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Session factory constructed with filter configurations : %s"
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.filters:Ljava/util/Map;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        37: .line 731
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Instantiating session factory with properties: %s"
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        38: .line 733
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int
      StackMap stack:
            aload 0 /* this */
            new org.hibernate.engine.query.spi.QueryPlanCache
            dup
            aload 0 /* this */
            invokespecial org.hibernate.engine.query.spi.QueryPlanCache.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            putfield org.hibernate.internal.SessionFactoryImpl.queryPlanCache:Lorg/hibernate/engine/query/spi/QueryPlanCache;
        39: .line 751
            new org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver.<init>:(Lorg/hibernate/internal/SessionFactoryImpl;)V
            astore 6 /* integratorObserver */
        start local 6 // org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver integratorObserver
        40: .line 752
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
            aload 6 /* integratorObserver */
            invokevirtual org.hibernate.internal.SessionFactoryObserverChain.addObserver:(Lorg/hibernate/SessionFactoryObserver;)V
        41: .line 753
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/integrator/spi/IntegratorService;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.integrator.spi.IntegratorService
            invokeinterface org.hibernate.integrator.spi.IntegratorService.getIntegrators:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 45
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver top java.util.Iterator
      StackMap stack:
        42: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.integrator.spi.Integrator
            astore 7 /* integrator */
        start local 7 // org.hibernate.integrator.spi.Integrator integrator
        43: .line 754
            aload 7 /* integrator */
            aload 1 /* metadata */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            invokeinterface org.hibernate.integrator.spi.Integrator.integrate:(Lorg/hibernate/metamodel/source/MetadataImplementor;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;)V
        44: .line 755
            aload 6 /* integratorObserver */
            getfield org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver.integrators:Ljava/util/ArrayList;
            aload 7 /* integrator */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.hibernate.integrator.spi.Integrator integrator
        45: .line 753
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        46: .line 761
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.identifierGenerators:Ljava/util/Map;
        47: .line 762
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getEntityBindings:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 54
      StackMap locals:
      StackMap stack:
        48: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.EntityBinding
            astore 7 /* entityBinding */
        start local 7 // org.hibernate.metamodel.binding.EntityBinding entityBinding
        49: .line 763
            aload 7 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isRoot:()Z
            ifeq 54
        50: .line 764
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.identifierGenerators:Ljava/util/Map;
        51: .line 765
            aload 7 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
        52: .line 766
            aload 7 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getEntityIdentifier:()Lorg/hibernate/metamodel/binding/EntityIdentifier;
            invokevirtual org.hibernate.metamodel.binding.EntityIdentifier.getIdentifierGenerator:()Lorg/hibernate/id/IdentifierGenerator;
        53: .line 764
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.hibernate.metamodel.binding.EntityBinding entityBinding
        54: .line 762
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        55: .line 775
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* stringBuilder */
        start local 7 // java.lang.StringBuilder stringBuilder
        56: .line 776
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getCacheRegionPrefix:()Ljava/lang/String;
            ifnull 60
        57: .line 777
            aload 7 /* stringBuilder */
        58: .line 778
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getCacheRegionPrefix:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        59: .line 779
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        60: .line 781
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder
      StackMap stack:
            aload 7 /* stringBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* cacheRegionPrefix */
        start local 8 // java.lang.String cacheRegionPrefix
        61: .line 783
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.entityPersisters:Ljava/util/Map;
        62: .line 784
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 9 /* entityAccessStrategies */
        start local 9 // java.util.Map entityAccessStrategies
        63: .line 785
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 10 /* classMeta */
        start local 10 // java.util.Map classMeta
        64: .line 786
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getEntityBindings:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 12
            goto 89
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        65: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.EntityBinding
            astore 11 /* model */
        start local 11 // org.hibernate.metamodel.binding.EntityBinding model
        66: .line 790
            aload 1 /* metadata */
            aload 11 /* model */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getRootEntityBinding:(Ljava/lang/String;)Lorg/hibernate/metamodel/binding/EntityBinding;
            astore 13 /* rootEntityBinding */
        start local 13 // org.hibernate.metamodel.binding.EntityBinding rootEntityBinding
        67: .line 791
            aconst_null
            astore 14 /* accessStrategy */
        start local 14 // org.hibernate.cache.spi.access.EntityRegionAccessStrategy accessStrategy
        68: .line 792
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isSecondLevelCacheEnabled:()Z
            ifeq 84
        69: .line 793
            aload 13 /* rootEntityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getCaching:()Lorg/hibernate/metamodel/binding/Caching;
            ifnull 84
        70: .line 794
            aload 11 /* model */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getCaching:()Lorg/hibernate/metamodel/binding/Caching;
            ifnull 84
        71: .line 795
            aload 11 /* model */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getCaching:()Lorg/hibernate/metamodel/binding/Caching;
            invokevirtual org.hibernate.metamodel.binding.Caching.getAccessType:()Lorg/hibernate/cache/spi/access/AccessType;
            ifnull 84
        72: .line 796
            new java.lang.StringBuilder
            dup
            aload 8 /* cacheRegionPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* rootEntityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getCaching:()Lorg/hibernate/metamodel/binding/Caching;
            invokevirtual org.hibernate.metamodel.binding.Caching.getRegion:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* cacheRegionName */
        start local 15 // java.lang.String cacheRegionName
        73: .line 797
            ldc Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;
            aload 9 /* entityAccessStrategies */
            aload 15 /* cacheRegionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.cache.spi.access.EntityRegionAccessStrategy
            astore 14 /* accessStrategy */
        74: .line 798
            aload 14 /* accessStrategy */
            ifnonnull 84
        75: .line 799
            aload 11 /* model */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getCaching:()Lorg/hibernate/metamodel/binding/Caching;
            invokevirtual org.hibernate.metamodel.binding.Caching.getAccessType:()Lorg/hibernate/cache/spi/access/AccessType;
            astore 16 /* accessType */
        start local 16 // org.hibernate.cache.spi.access.AccessType accessType
        76: .line 800
            iload 4 /* traceEnabled */
            ifeq 78
        77: .line 801
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Building cache for entity data [{0}]"
            aload 11 /* model */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
        78: .line 803
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map org.hibernate.metamodel.binding.EntityBinding java.util.Iterator org.hibernate.metamodel.binding.EntityBinding org.hibernate.cache.spi.access.EntityRegionAccessStrategy java.lang.String org.hibernate.cache.spi.access.AccessType
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getRegionFactory:()Lorg/hibernate/cache/spi/RegionFactory;
        79: .line 804
            aload 15 /* cacheRegionName */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
            aload 11 /* model */
            invokestatic org.hibernate.cache.internal.CacheDataDescriptionImpl.decode:(Lorg/hibernate/metamodel/binding/EntityBinding;)Lorg/hibernate/cache/internal/CacheDataDescriptionImpl;
        80: .line 803
            invokeinterface org.hibernate.cache.spi.RegionFactory.buildEntityRegion:(Ljava/lang/String;Ljava/util/Properties;Lorg/hibernate/cache/spi/CacheDataDescription;)Lorg/hibernate/cache/spi/EntityRegion;
            astore 17 /* entityRegion */
        start local 17 // org.hibernate.cache.spi.EntityRegion entityRegion
        81: .line 806
            aload 17 /* entityRegion */
            aload 16 /* accessType */
            invokeinterface org.hibernate.cache.spi.EntityRegion.buildAccessStrategy:(Lorg/hibernate/cache/spi/access/AccessType;)Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;
            astore 14 /* accessStrategy */
        82: .line 807
            aload 9 /* entityAccessStrategies */
            aload 15 /* cacheRegionName */
            aload 14 /* accessStrategy */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        83: .line 808
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            aload 15 /* cacheRegionName */
            aload 17 /* entityRegion */
            invokeinterface org.hibernate.engine.spi.CacheImplementor.addCacheRegion:(Ljava/lang/String;Lorg/hibernate/cache/spi/Region;)V
        end local 17 // org.hibernate.cache.spi.EntityRegion entityRegion
        end local 16 // org.hibernate.cache.spi.access.AccessType accessType
        end local 15 // java.lang.String cacheRegionName
        84: .line 811
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/persister/spi/PersisterFactory;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.persister.spi.PersisterFactory
        85: .line 812
            aload 11 /* model */
            aload 14 /* accessStrategy */
            aload 0 /* this */
            aload 1 /* metadata */
        86: .line 811
            invokeinterface org.hibernate.persister.spi.PersisterFactory.createEntityPersister:(Lorg/hibernate/metamodel/binding/EntityBinding;Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/Mapping;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 15 /* cp */
        start local 15 // org.hibernate.persister.entity.EntityPersister cp
        87: .line 814
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.entityPersisters:Ljava/util/Map;
            aload 11 /* model */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
            aload 15 /* cp */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        88: .line 815
            aload 10 /* classMeta */
            aload 11 /* model */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
            aload 15 /* cp */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getClassMetadata:()Lorg/hibernate/metadata/ClassMetadata;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // org.hibernate.persister.entity.EntityPersister cp
        end local 14 // org.hibernate.cache.spi.access.EntityRegionAccessStrategy accessStrategy
        end local 13 // org.hibernate.metamodel.binding.EntityBinding rootEntityBinding
        end local 11 // org.hibernate.metamodel.binding.EntityBinding model
        89: .line 786
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 65
        90: .line 817
            aload 0 /* this */
            aload 10 /* classMeta */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.hibernate.internal.SessionFactoryImpl.classMetadata:Ljava/util/Map;
        91: .line 819
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 11 /* tmpEntityToCollectionRoleMap */
        start local 11 // java.util.Map tmpEntityToCollectionRoleMap
        92: .line 820
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.collectionPersisters:Ljava/util/Map;
        93: .line 821
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 12 /* tmpCollectionMetadata */
        start local 12 // java.util.Map tmpCollectionMetadata
        94: .line 822
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getCollectionBindings:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 14
            goto 136
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        95: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.PluralAttributeBinding
            astore 13 /* model */
        start local 13 // org.hibernate.metamodel.binding.PluralAttributeBinding model
        96: .line 823
            aload 13 /* model */
            invokeinterface org.hibernate.metamodel.binding.PluralAttributeBinding.getAttribute:()Lorg/hibernate/metamodel/domain/PluralAttribute;
            ifnonnull 98
        97: .line 824
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No attribute defined for a AbstractPluralAttributeBinding: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* model */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        98: .line 826
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map org.hibernate.metamodel.binding.PluralAttributeBinding java.util.Iterator
      StackMap stack:
            aload 13 /* model */
            invokeinterface org.hibernate.metamodel.binding.PluralAttributeBinding.getAttribute:()Lorg/hibernate/metamodel/domain/PluralAttribute;
            invokeinterface org.hibernate.metamodel.domain.PluralAttribute.isSingular:()Z
            ifeq 102
        99: .line 827
            new java.lang.IllegalStateException
            dup
       100: .line 828
            new java.lang.StringBuilder
            dup
            ldc "AbstractPluralAttributeBinding has a Singular attribute defined: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* model */
            invokeinterface org.hibernate.metamodel.binding.PluralAttributeBinding.getAttribute:()Lorg/hibernate/metamodel/domain/PluralAttribute;
            invokeinterface org.hibernate.metamodel.domain.PluralAttribute.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       101: .line 827
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
       102: .line 831
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 8 /* cacheRegionPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* model */
            invokeinterface org.hibernate.metamodel.binding.PluralAttributeBinding.getCaching:()Lorg/hibernate/metamodel/binding/Caching;
            invokevirtual org.hibernate.metamodel.binding.Caching.getRegion:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* cacheRegionName */
        start local 15 // java.lang.String cacheRegionName
       103: .line 832
            aload 13 /* model */
            invokeinterface org.hibernate.metamodel.binding.PluralAttributeBinding.getCaching:()Lorg/hibernate/metamodel/binding/Caching;
            invokevirtual org.hibernate.metamodel.binding.Caching.getAccessType:()Lorg/hibernate/cache/spi/access/AccessType;
            astore 16 /* accessType */
        start local 16 // org.hibernate.cache.spi.access.AccessType accessType
       104: .line 833
            aconst_null
            astore 17 /* accessStrategy */
        start local 17 // org.hibernate.cache.spi.access.CollectionRegionAccessStrategy accessStrategy
       105: .line 834
            aload 16 /* accessType */
            ifnull 114
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isSecondLevelCacheEnabled:()Z
            ifeq 114
       106: .line 835
            iload 4 /* traceEnabled */
            ifeq 108
       107: .line 836
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Building cache for collection data [{0}]"
            aload 13 /* model */
            invokeinterface org.hibernate.metamodel.binding.PluralAttributeBinding.getAttribute:()Lorg/hibernate/metamodel/domain/PluralAttribute;
            invokeinterface org.hibernate.metamodel.domain.PluralAttribute.getRole:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
       108: .line 838
      StackMap locals: java.lang.String org.hibernate.cache.spi.access.AccessType org.hibernate.cache.spi.access.CollectionRegionAccessStrategy
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getRegionFactory:()Lorg/hibernate/cache/spi/RegionFactory;
       109: .line 839
            aload 15 /* cacheRegionName */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
            aload 13 /* model */
            invokestatic org.hibernate.cache.internal.CacheDataDescriptionImpl.decode:(Lorg/hibernate/metamodel/binding/PluralAttributeBinding;)Lorg/hibernate/cache/internal/CacheDataDescriptionImpl;
       110: .line 838
            invokeinterface org.hibernate.cache.spi.RegionFactory.buildCollectionRegion:(Ljava/lang/String;Ljava/util/Properties;Lorg/hibernate/cache/spi/CacheDataDescription;)Lorg/hibernate/cache/spi/CollectionRegion;
            astore 18 /* collectionRegion */
        start local 18 // org.hibernate.cache.spi.CollectionRegion collectionRegion
       111: .line 841
            aload 18 /* collectionRegion */
            aload 16 /* accessType */
            invokeinterface org.hibernate.cache.spi.CollectionRegion.buildAccessStrategy:(Lorg/hibernate/cache/spi/access/AccessType;)Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;
            astore 17 /* accessStrategy */
       112: .line 842
            aload 9 /* entityAccessStrategies */
            aload 15 /* cacheRegionName */
            aload 17 /* accessStrategy */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       113: .line 843
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            aload 15 /* cacheRegionName */
            aload 18 /* collectionRegion */
            invokeinterface org.hibernate.engine.spi.CacheImplementor.addCacheRegion:(Ljava/lang/String;Lorg/hibernate/cache/spi/Region;)V
        end local 18 // org.hibernate.cache.spi.CollectionRegion collectionRegion
       114: .line 845
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
       115: .line 846
            ldc Lorg/hibernate/persister/spi/PersisterFactory;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.persister.spi.PersisterFactory
       116: .line 847
            aload 1 /* metadata */
            aload 13 /* model */
            aload 17 /* accessStrategy */
            aload 0 /* this */
            invokeinterface org.hibernate.persister.spi.PersisterFactory.createCollectionPersister:(Lorg/hibernate/metamodel/source/MetadataImplementor;Lorg/hibernate/metamodel/binding/PluralAttributeBinding;Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/persister/collection/CollectionPersister;
       117: .line 845
            astore 18 /* persister */
        start local 18 // org.hibernate.persister.collection.CollectionPersister persister
       118: .line 848
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.collectionPersisters:Ljava/util/Map;
            aload 13 /* model */
            invokeinterface org.hibernate.metamodel.binding.PluralAttributeBinding.getAttribute:()Lorg/hibernate/metamodel/domain/PluralAttribute;
            invokeinterface org.hibernate.metamodel.domain.PluralAttribute.getRole:()Ljava/lang/String;
            aload 18 /* persister */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       119: .line 849
            aload 12 /* tmpCollectionMetadata */
            aload 13 /* model */
            invokeinterface org.hibernate.metamodel.binding.PluralAttributeBinding.getAttribute:()Lorg/hibernate/metamodel/domain/PluralAttribute;
            invokeinterface org.hibernate.metamodel.domain.PluralAttribute.getRole:()Ljava/lang/String;
            aload 18 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getCollectionMetadata:()Lorg/hibernate/metadata/CollectionMetadata;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       120: .line 850
            aload 18 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getIndexType:()Lorg/hibernate/type/Type;
            astore 19 /* indexType */
        start local 19 // org.hibernate.type.Type indexType
       121: .line 851
            aload 19 /* indexType */
            ifnull 128
            aload 19 /* indexType */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifeq 128
            aload 19 /* indexType */
            invokeinterface org.hibernate.type.Type.isAnyType:()Z
            ifne 128
       122: .line 852
            aload 19 /* indexType */
            checkcast org.hibernate.type.AssociationType
            aload 0 /* this */
            invokeinterface org.hibernate.type.AssociationType.getAssociatedEntityName:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            astore 20 /* entityName */
        start local 20 // java.lang.String entityName
       123: .line 853
            aload 11 /* tmpEntityToCollectionRoleMap */
            aload 20 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 21 /* roles */
        start local 21 // java.util.Set roles
       124: .line 854
            aload 21 /* roles */
            ifnonnull 127
       125: .line 855
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 21 /* roles */
       126: .line 856
            aload 11 /* tmpEntityToCollectionRoleMap */
            aload 20 /* entityName */
            aload 21 /* roles */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       127: .line 858
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map org.hibernate.metamodel.binding.PluralAttributeBinding java.util.Iterator java.lang.String org.hibernate.cache.spi.access.AccessType org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.persister.collection.CollectionPersister org.hibernate.type.Type java.lang.String java.util.Set
      StackMap stack:
            aload 21 /* roles */
            aload 18 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getRole:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 21 // java.util.Set roles
        end local 20 // java.lang.String entityName
       128: .line 860
      StackMap locals:
      StackMap stack:
            aload 18 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            astore 20 /* elementType */
        start local 20 // org.hibernate.type.Type elementType
       129: .line 861
            aload 20 /* elementType */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifeq 136
            aload 20 /* elementType */
            invokeinterface org.hibernate.type.Type.isAnyType:()Z
            ifne 136
       130: .line 862
            aload 20 /* elementType */
            checkcast org.hibernate.type.AssociationType
            aload 0 /* this */
            invokeinterface org.hibernate.type.AssociationType.getAssociatedEntityName:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            astore 21 /* entityName */
        start local 21 // java.lang.String entityName
       131: .line 863
            aload 11 /* tmpEntityToCollectionRoleMap */
            aload 21 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 22 /* roles */
        start local 22 // java.util.Set roles
       132: .line 864
            aload 22 /* roles */
            ifnonnull 135
       133: .line 865
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 22 /* roles */
       134: .line 866
            aload 11 /* tmpEntityToCollectionRoleMap */
            aload 21 /* entityName */
            aload 22 /* roles */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       135: .line 868
      StackMap locals: org.hibernate.type.Type java.lang.String java.util.Set
      StackMap stack:
            aload 22 /* roles */
            aload 18 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getRole:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 22 // java.util.Set roles
        end local 21 // java.lang.String entityName
        end local 20 // org.hibernate.type.Type elementType
        end local 19 // org.hibernate.type.Type indexType
        end local 18 // org.hibernate.persister.collection.CollectionPersister persister
        end local 17 // org.hibernate.cache.spi.access.CollectionRegionAccessStrategy accessStrategy
        end local 16 // org.hibernate.cache.spi.access.AccessType accessType
        end local 15 // java.lang.String cacheRegionName
        end local 13 // org.hibernate.metamodel.binding.PluralAttributeBinding model
       136: .line 822
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 95
       137: .line 871
            aload 0 /* this */
            aload 12 /* tmpCollectionMetadata */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.hibernate.internal.SessionFactoryImpl.collectionMetadata:Ljava/util/Map;
       138: .line 872
            aload 11 /* tmpEntityToCollectionRoleMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 14
            goto 141
      StackMap locals:
      StackMap stack:
       139: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 13 /* entry */
        start local 13 // java.util.Map$Entry entry
       140: .line 873
            aload 13 /* entry */
            aload 13 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            invokeinterface java.util.Map$Entry.setValue:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 13 // java.util.Map$Entry entry
       141: .line 872
      StackMap locals:
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 139
       142: .line 875
            aload 0 /* this */
            aload 11 /* tmpEntityToCollectionRoleMap */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.hibernate.internal.SessionFactoryImpl.collectionRolesByEntityParticipant:Ljava/util/Map;
       143: .line 879
            aload 0 /* this */
            new org.hibernate.internal.NamedQueryRepository
            dup
       144: .line 880
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getNamedQueryDefinitions:()Ljava/lang/Iterable;
       145: .line 881
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getNamedNativeQueryDefinitions:()Ljava/lang/Iterable;
       146: .line 882
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getResultSetMappingDefinitions:()Ljava/lang/Iterable;
       147: .line 883
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokespecial org.hibernate.internal.NamedQueryRepository.<init>:(Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/util/Map;)V
       148: .line 879
            putfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/internal/NamedQueryRepository;
       149: .line 886
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.imports:Ljava/util/Map;
       150: .line 887
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getImports:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 14
            goto 153
      StackMap locals:
      StackMap stack:
       151: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 13 /* importEntry */
        start local 13 // java.util.Map$Entry importEntry
       152: .line 888
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.imports:Ljava/util/Map;
            aload 13 /* importEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 13 /* importEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 13 // java.util.Map$Entry importEntry
       153: .line 887
      StackMap locals:
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 151
       154: .line 892
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.entityPersisters:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 13 /* iter */
        start local 13 // java.util.Iterator iter
       155: .line 893
            goto 159
       156: .line 894
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator
      StackMap stack:
            aload 13 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
            astore 14 /* persister */
        start local 14 // org.hibernate.persister.entity.EntityPersister persister
       157: .line 895
            aload 14 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.postInstantiate:()V
       158: .line 896
            aload 0 /* this */
            aload 14 /* persister */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.registerEntityNameResolvers:(Lorg/hibernate/persister/entity/EntityPersister;)V
        end local 14 // org.hibernate.persister.entity.EntityPersister persister
       159: .line 893
      StackMap locals:
      StackMap stack:
            aload 13 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 156
       160: .line 899
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.collectionPersisters:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 13 /* iter */
       161: .line 900
            goto 164
       162: .line 901
      StackMap locals:
      StackMap stack:
            aload 13 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.persister.collection.CollectionPersister
            astore 14 /* persister */
        start local 14 // org.hibernate.persister.collection.CollectionPersister persister
       163: .line 902
            aload 14 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.postInstantiate:()V
        end local 14 // org.hibernate.persister.collection.CollectionPersister persister
       164: .line 900
      StackMap locals:
      StackMap stack:
            aload 13 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 162
       165: .line 907
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getSessionFactoryName:()Ljava/lang/String;
            putfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
       166: .line 909
            aload 0 /* this */
            getstatic org.hibernate.internal.SessionFactoryImpl.UUID_GENERATOR:Lorg/hibernate/id/IdentifierGenerator;
            aconst_null
            aconst_null
            invokeinterface org.hibernate.id.IdentifierGenerator.generate:(Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/io/Serializable;
            checkcast java.lang.String
            putfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
       167: .line 910
            goto 170
       168: .line 911
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
       169: .line 912
            new org.hibernate.AssertionFailure
            dup
            ldc "Could not generate UUID"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
       170: .line 914
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.internal.SessionFactoryRegistry.INSTANCE:Lorg/hibernate/internal/SessionFactoryRegistry;
       171: .line 915
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
       172: .line 916
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
       173: .line 917
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isSessionFactoryNameAlsoJndiName:()Z
       174: .line 918
            aload 0 /* this */
       175: .line 919
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/engine/jndi/spi/JndiService;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.jndi.spi.JndiService
       176: .line 914
            invokevirtual org.hibernate.internal.SessionFactoryRegistry.addSessionFactory:(Ljava/lang/String;Ljava/lang/String;ZLorg/hibernate/SessionFactory;Lorg/hibernate/engine/jndi/spi/JndiService;)V
       177: .line 922
            iload 5 /* debugEnabled */
            ifeq 179
       178: .line 923
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Instantiated session factory"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
       179: .line 926
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isAutoCreateSchema:()Z
            ifeq 183
       180: .line 927
            new org.hibernate.tool.hbm2ddl.SchemaExport
            dup
            aload 1 /* metadata */
            invokespecial org.hibernate.tool.hbm2ddl.SchemaExport.<init>:(Lorg/hibernate/metamodel/source/MetadataImplementor;)V
       181: .line 928
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/tool/hbm2ddl/ImportSqlCommandExtractor;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor
            invokevirtual org.hibernate.tool.hbm2ddl.SchemaExport.setImportSqlCommandExtractor:(Lorg/hibernate/tool/hbm2ddl/ImportSqlCommandExtractor;)Lorg/hibernate/tool/hbm2ddl/SchemaExport;
       182: .line 929
            iconst_0
            iconst_1
            invokevirtual org.hibernate.tool.hbm2ddl.SchemaExport.create:(ZZ)V
       183: .line 932
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isAutoDropSchema:()Z
            ifeq 187
       184: .line 933
            aload 0 /* this */
            new org.hibernate.tool.hbm2ddl.SchemaExport
            dup
            aload 1 /* metadata */
            invokespecial org.hibernate.tool.hbm2ddl.SchemaExport.<init>:(Lorg/hibernate/metamodel/source/MetadataImplementor;)V
       185: .line 934
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/tool/hbm2ddl/ImportSqlCommandExtractor;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.tool.hbm2ddl.ImportSqlCommandExtractor
            invokevirtual org.hibernate.tool.hbm2ddl.SchemaExport.setImportSqlCommandExtractor:(Lorg/hibernate/tool/hbm2ddl/ImportSqlCommandExtractor;)Lorg/hibernate/tool/hbm2ddl/SchemaExport;
       186: .line 933
            putfield org.hibernate.internal.SessionFactoryImpl.schemaExport:Lorg/hibernate/tool/hbm2ddl/SchemaExport;
       187: .line 937
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.buildCurrentSessionContext:()Lorg/hibernate/context/spi/CurrentSessionContext;
            putfield org.hibernate.internal.SessionFactoryImpl.currentSessionContext:Lorg/hibernate/context/spi/CurrentSessionContext;
       188: .line 940
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isNamedQueryStartupCheckingEnabled:()Z
            ifeq 200
       189: .line 941
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.checkNamedQueries:()Ljava/util/Map;
            astore 14 /* errors */
        start local 14 // java.util.Map errors
       190: .line 942
            aload 14 /* errors */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 200
       191: .line 943
            new java.lang.StringBuilder
            dup
            ldc "Errors in named queries: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 15 /* failingQueries */
        start local 15 // java.lang.StringBuilder failingQueries
       192: .line 944
            ldc ""
            astore 16 /* sep */
        start local 16 // java.lang.String sep
       193: .line 945
            aload 14 /* errors */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 18
            goto 198
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator java.util.Map java.lang.StringBuilder java.lang.String top java.util.Iterator
      StackMap stack:
       194: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 17 /* entry */
        start local 17 // java.util.Map$Entry entry
       195: .line 946
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 17 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 17 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.hibernate.HibernateException
            invokeinterface org.hibernate.internal.CoreMessageLogger.namedQueryError:(Ljava/lang/String;Lorg/hibernate/HibernateException;)V
       196: .line 947
            aload 15 /* failingQueries */
            aload 17 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* sep */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       197: .line 948
            ldc ", "
            astore 16 /* sep */
        end local 17 // java.util.Map$Entry entry
       198: .line 945
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 194
       199: .line 950
            new org.hibernate.HibernateException
            dup
            aload 15 /* failingQueries */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 16 // java.lang.String sep
        end local 15 // java.lang.StringBuilder failingQueries
        end local 14 // java.util.Map errors
       200: .line 955
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.fetchProfiles:Ljava/util/Map;
       201: .line 956
            aload 1 /* metadata */
            invokeinterface org.hibernate.metamodel.source.MetadataImplementor.getFetchProfiles:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 15
            goto 224
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator top java.util.Iterator
      StackMap stack:
       202: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.FetchProfile
            astore 14 /* mappingProfile */
        start local 14 // org.hibernate.metamodel.binding.FetchProfile mappingProfile
       203: .line 957
            new org.hibernate.engine.profile.FetchProfile
            dup
            aload 14 /* mappingProfile */
            invokevirtual org.hibernate.metamodel.binding.FetchProfile.getName:()Ljava/lang/String;
            invokespecial org.hibernate.engine.profile.FetchProfile.<init>:(Ljava/lang/String;)V
            astore 16 /* fetchProfile */
        start local 16 // org.hibernate.engine.profile.FetchProfile fetchProfile
       204: .line 958
            aload 14 /* mappingProfile */
            invokevirtual org.hibernate.metamodel.binding.FetchProfile.getFetches:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 18
            goto 222
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator org.hibernate.metamodel.binding.FetchProfile java.util.Iterator org.hibernate.engine.profile.FetchProfile top java.util.Iterator
      StackMap stack:
       205: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.FetchProfile$Fetch
            astore 17 /* mappingFetch */
        start local 17 // org.hibernate.metamodel.binding.FetchProfile$Fetch mappingFetch
       206: .line 960
            aload 0 /* this */
            aload 17 /* mappingFetch */
            invokevirtual org.hibernate.metamodel.binding.FetchProfile$Fetch.getEntity:()Ljava/lang/String;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getImportedClassName:(Ljava/lang/String;)Ljava/lang/String;
            astore 19 /* entityName */
        start local 19 // java.lang.String entityName
       207: .line 961
            aload 19 /* entityName */
            ifnonnull 208
            aconst_null
            goto 209
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator org.hibernate.metamodel.binding.FetchProfile java.util.Iterator org.hibernate.engine.profile.FetchProfile org.hibernate.metamodel.binding.FetchProfile$Fetch java.util.Iterator java.lang.String
      StackMap stack:
       208: aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.entityPersisters:Ljava/util/Map;
            aload 19 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
      StackMap locals:
      StackMap stack: org.hibernate.persister.entity.EntityPersister
       209: astore 20 /* owner */
        start local 20 // org.hibernate.persister.entity.EntityPersister owner
       210: .line 962
            aload 20 /* owner */
            ifnonnull 216
       211: .line 963
            new org.hibernate.HibernateException
            dup
       212: .line 964
            new java.lang.StringBuilder
            dup
            ldc "Unable to resolve entity reference ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* mappingFetch */
            invokevirtual org.hibernate.metamodel.binding.FetchProfile$Fetch.getEntity:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       213: .line 965
            ldc "] in fetch profile ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 16 /* fetchProfile */
            invokevirtual org.hibernate.engine.profile.FetchProfile.getName:()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;
       214: .line 964
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       215: .line 963
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
       216: .line 970
      StackMap locals: org.hibernate.persister.entity.EntityPersister
      StackMap stack:
            aload 20 /* owner */
            aload 17 /* mappingFetch */
            invokevirtual org.hibernate.metamodel.binding.FetchProfile$Fetch.getAssociation:()Ljava/lang/String;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getPropertyType:(Ljava/lang/String;)Lorg/hibernate/type/Type;
            astore 21 /* associationType */
        start local 21 // org.hibernate.type.Type associationType
       217: .line 971
            aload 21 /* associationType */
            ifnull 218
            aload 21 /* associationType */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifne 219
       218: .line 972
      StackMap locals: org.hibernate.type.Type
      StackMap stack:
            new org.hibernate.HibernateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Fetch profile ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 16 /* fetchProfile */
            invokevirtual org.hibernate.engine.profile.FetchProfile.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] specified an invalid association"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
       219: .line 976
      StackMap locals:
      StackMap stack:
            aload 17 /* mappingFetch */
            invokevirtual org.hibernate.metamodel.binding.FetchProfile$Fetch.getStyle:()Ljava/lang/String;
            invokestatic org.hibernate.engine.profile.Fetch$Style.parse:(Ljava/lang/String;)Lorg/hibernate/engine/profile/Fetch$Style;
            astore 22 /* fetchStyle */
        start local 22 // org.hibernate.engine.profile.Fetch$Style fetchStyle
       220: .line 979
            aload 16 /* fetchProfile */
            new org.hibernate.engine.profile.Association
            dup
            aload 20 /* owner */
            aload 17 /* mappingFetch */
            invokevirtual org.hibernate.metamodel.binding.FetchProfile$Fetch.getAssociation:()Ljava/lang/String;
            invokespecial org.hibernate.engine.profile.Association.<init>:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/lang/String;)V
            aload 22 /* fetchStyle */
            invokevirtual org.hibernate.engine.profile.FetchProfile.addFetch:(Lorg/hibernate/engine/profile/Association;Lorg/hibernate/engine/profile/Fetch$Style;)V
       221: .line 980
            aload 20 /* owner */
            checkcast org.hibernate.persister.entity.Loadable
            aload 16 /* fetchProfile */
            invokevirtual org.hibernate.engine.profile.FetchProfile.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.persister.entity.Loadable.registerAffectingFetchProfile:(Ljava/lang/String;)V
        end local 22 // org.hibernate.engine.profile.Fetch$Style fetchStyle
        end local 21 // org.hibernate.type.Type associationType
        end local 20 // org.hibernate.persister.entity.EntityPersister owner
        end local 19 // java.lang.String entityName
        end local 17 // org.hibernate.metamodel.binding.FetchProfile$Fetch mappingFetch
       222: .line 958
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator org.hibernate.metamodel.binding.FetchProfile java.util.Iterator org.hibernate.engine.profile.FetchProfile top java.util.Iterator
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 205
       223: .line 982
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.fetchProfiles:Ljava/util/Map;
            aload 16 /* fetchProfile */
            invokevirtual org.hibernate.engine.profile.FetchProfile.getName:()Ljava/lang/String;
            aload 16 /* fetchProfile */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 16 // org.hibernate.engine.profile.FetchProfile fetchProfile
        end local 14 // org.hibernate.metamodel.binding.FetchProfile mappingProfile
       224: .line 956
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.metamodel.source.MetadataImplementor org.hibernate.SessionFactory$SessionFactoryOptions org.hibernate.SessionFactoryObserver int int org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver java.lang.StringBuilder java.lang.String java.util.Map java.util.Map java.util.Map java.util.Map java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 202
       225: .line 985
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.determineCustomEntityDirtinessStrategy:()Lorg/hibernate/CustomEntityDirtinessStrategy;
            putfield org.hibernate.internal.SessionFactoryImpl.customEntityDirtinessStrategy:Lorg/hibernate/CustomEntityDirtinessStrategy;
       226: .line 986
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            invokevirtual org.hibernate.internal.SessionFactoryImpl.determineCurrentTenantIdentifierResolver:(Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;)Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;
            putfield org.hibernate.internal.SessionFactoryImpl.currentTenantIdentifierResolver:Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;
       227: .line 987
            aload 0 /* this */
            new org.hibernate.internal.TransactionEnvironmentImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.TransactionEnvironmentImpl.<init>:(Lorg/hibernate/internal/SessionFactoryImpl;)V
            putfield org.hibernate.internal.SessionFactoryImpl.transactionEnvironment:Lorg/hibernate/engine/transaction/spi/TransactionEnvironment;
       228: .line 988
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated:(Lorg/hibernate/SessionFactory;)V
       229: .line 989
            return
        end local 13 // java.util.Iterator iter
        end local 12 // java.util.Map tmpCollectionMetadata
        end local 11 // java.util.Map tmpEntityToCollectionRoleMap
        end local 10 // java.util.Map classMeta
        end local 9 // java.util.Map entityAccessStrategies
        end local 8 // java.lang.String cacheRegionPrefix
        end local 7 // java.lang.StringBuilder stringBuilder
        end local 6 // org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver integratorObserver
        end local 5 // boolean debugEnabled
        end local 4 // boolean traceEnabled
        end local 3 // org.hibernate.SessionFactoryObserver observer
        end local 2 // org.hibernate.SessionFactory$SessionFactoryOptions sessionFactoryOptions
        end local 1 // org.hibernate.metamodel.source.MetadataImplementor metadata
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0  230     0                          this  Lorg/hibernate/internal/SessionFactoryImpl;
            0  230     1                      metadata  Lorg/hibernate/metamodel/source/MetadataImplementor;
            0  230     2         sessionFactoryOptions  Lorg/hibernate/SessionFactory$SessionFactoryOptions;
            0  230     3                      observer  Lorg/hibernate/SessionFactoryObserver;
            4  230     4                  traceEnabled  Z
            7  230     5                  debugEnabled  Z
           33   34     6              filterDefinition  Lorg/hibernate/engine/spi/FilterDefinition;
           40  230     6            integratorObserver  Lorg/hibernate/internal/SessionFactoryImpl$2IntegratorObserver;
           43   45     7                    integrator  Lorg/hibernate/integrator/spi/Integrator;
           49   54     7                 entityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
           56  230     7                 stringBuilder  Ljava/lang/StringBuilder;
           61  230     8             cacheRegionPrefix  Ljava/lang/String;
           63  230     9        entityAccessStrategies  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/cache/spi/access/RegionAccessStrategy;>;
           64  230    10                     classMeta  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metadata/ClassMetadata;>;
           66   89    11                         model  Lorg/hibernate/metamodel/binding/EntityBinding;
           67   89    13             rootEntityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
           68   89    14                accessStrategy  Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;
           73   84    15               cacheRegionName  Ljava/lang/String;
           76   84    16                    accessType  Lorg/hibernate/cache/spi/access/AccessType;
           81   84    17                  entityRegion  Lorg/hibernate/cache/spi/EntityRegion;
           87   89    15                            cp  Lorg/hibernate/persister/entity/EntityPersister;
           92  230    11  tmpEntityToCollectionRoleMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
           94  230    12         tmpCollectionMetadata  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metadata/CollectionMetadata;>;
           96  136    13                         model  Lorg/hibernate/metamodel/binding/PluralAttributeBinding;
          103  136    15               cacheRegionName  Ljava/lang/String;
          104  136    16                    accessType  Lorg/hibernate/cache/spi/access/AccessType;
          105  136    17                accessStrategy  Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;
          111  114    18              collectionRegion  Lorg/hibernate/cache/spi/CollectionRegion;
          118  136    18                     persister  Lorg/hibernate/persister/collection/CollectionPersister;
          121  136    19                     indexType  Lorg/hibernate/type/Type;
          123  128    20                    entityName  Ljava/lang/String;
          124  128    21                         roles  Ljava/util/Set<Ljava/lang/String;>;
          129  136    20                   elementType  Lorg/hibernate/type/Type;
          131  136    21                    entityName  Ljava/lang/String;
          132  136    22                         roles  Ljava/util/Set<Ljava/lang/String;>;
          140  141    13                         entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;>;
          152  153    13                   importEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
          155  230    13                          iter  Ljava/util/Iterator;
          157  159    14                     persister  Lorg/hibernate/persister/entity/EntityPersister;
          163  164    14                     persister  Lorg/hibernate/persister/collection/CollectionPersister;
          190  200    14                        errors  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/HibernateException;>;
          192  200    15                failingQueries  Ljava/lang/StringBuilder;
          193  200    16                           sep  Ljava/lang/String;
          195  198    17                         entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/hibernate/HibernateException;>;
          203  224    14                mappingProfile  Lorg/hibernate/metamodel/binding/FetchProfile;
          204  224    16                  fetchProfile  Lorg/hibernate/engine/profile/FetchProfile;
          206  222    17                  mappingFetch  Lorg/hibernate/metamodel/binding/FetchProfile$Fetch;
          207  222    19                    entityName  Ljava/lang/String;
          210  222    20                         owner  Lorg/hibernate/persister/entity/EntityPersister;
          217  222    21               associationType  Lorg/hibernate/type/Type;
          220  222    22                    fetchStyle  Lorg/hibernate/engine/profile/Fetch$Style;
      Exception table:
        from    to  target  type
         166   167     168  Class java.lang.Exception
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                       Name  Flags
      metadata               
      sessionFactoryOptions  
      observer               

  private static java.util.Properties createPropertiesFromMap(java.util.Map);
    descriptor: (Ljava/util/Map;)Ljava/util/Properties;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.Map map
         0: .line 993
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 1 /* properties */
        start local 1 // java.util.Properties properties
         1: .line 994
            aload 1 /* properties */
            aload 0 /* map */
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
         2: .line 995
            aload 1 /* properties */
            areturn
        end local 1 // java.util.Properties properties
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0         map  Ljava/util/Map;
            1    3     1  properties  Ljava/util/Properties;
    MethodParameters:
      Name  Flags
      map   

  public org.hibernate.Session openSession();
    descriptor: ()Lorg/hibernate/Session;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 999
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.withOptions:()Lorg/hibernate/engine/spi/SessionBuilderImplementor;
            invokeinterface org.hibernate.engine.spi.SessionBuilderImplementor.openSession:()Lorg/hibernate/Session;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Exceptions:
      throws org.hibernate.HibernateException

  public org.hibernate.Session openTemporarySession();
    descriptor: ()Lorg/hibernate/Session;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1003
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.withOptions:()Lorg/hibernate/engine/spi/SessionBuilderImplementor;
         1: .line 1004
            iconst_0
            invokeinterface org.hibernate.engine.spi.SessionBuilderImplementor.autoClose:(Z)Lorg/hibernate/SessionBuilder;
         2: .line 1005
            iconst_0
            invokeinterface org.hibernate.SessionBuilder.flushBeforeCompletion:(Z)Lorg/hibernate/SessionBuilder;
         3: .line 1006
            getstatic org.hibernate.ConnectionReleaseMode.AFTER_STATEMENT:Lorg/hibernate/ConnectionReleaseMode;
            invokeinterface org.hibernate.SessionBuilder.connectionReleaseMode:(Lorg/hibernate/ConnectionReleaseMode;)Lorg/hibernate/SessionBuilder;
         4: .line 1007
            invokeinterface org.hibernate.SessionBuilder.openSession:()Lorg/hibernate/Session;
         5: .line 1003
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Exceptions:
      throws org.hibernate.HibernateException

  public org.hibernate.Session getCurrentSession();
    descriptor: ()Lorg/hibernate/Session;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1011
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.currentSessionContext:Lorg/hibernate/context/spi/CurrentSessionContext;
            ifnonnull 2
         1: .line 1012
            new org.hibernate.HibernateException
            dup
            ldc "No CurrentSessionContext configured!"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1014
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.currentSessionContext:Lorg/hibernate/context/spi/CurrentSessionContext;
            invokeinterface org.hibernate.context.spi.CurrentSessionContext.currentSession:()Lorg/hibernate/Session;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Exceptions:
      throws org.hibernate.HibernateException

  public org.hibernate.engine.spi.SessionBuilderImplementor withOptions();
    descriptor: ()Lorg/hibernate/engine/spi/SessionBuilderImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1019
            new org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.<init>:(Lorg/hibernate/internal/SessionFactoryImpl;)V
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.StatelessSessionBuilder withStatelessOptions();
    descriptor: ()Lorg/hibernate/StatelessSessionBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1024
            new org.hibernate.internal.SessionFactoryImpl$StatelessSessionBuilderImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.SessionFactoryImpl$StatelessSessionBuilderImpl.<init>:(Lorg/hibernate/internal/SessionFactoryImpl;)V
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.StatelessSession openStatelessSession();
    descriptor: ()Lorg/hibernate/StatelessSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1028
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.withStatelessOptions:()Lorg/hibernate/StatelessSessionBuilder;
            invokeinterface org.hibernate.StatelessSessionBuilder.openStatelessSession:()Lorg/hibernate/StatelessSession;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.StatelessSession openStatelessSession(java.sql.Connection);
    descriptor: (Ljava/sql/Connection;)Lorg/hibernate/StatelessSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.sql.Connection connection
         0: .line 1032
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.withStatelessOptions:()Lorg/hibernate/StatelessSessionBuilder;
            aload 1 /* connection */
            invokeinterface org.hibernate.StatelessSessionBuilder.connection:(Ljava/sql/Connection;)Lorg/hibernate/StatelessSessionBuilder;
            invokeinterface org.hibernate.StatelessSessionBuilder.openStatelessSession:()Lorg/hibernate/StatelessSession;
            areturn
        end local 1 // java.sql.Connection connection
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  connection  Ljava/sql/Connection;
    MethodParameters:
            Name  Flags
      connection  

  public void addObserver(org.hibernate.SessionFactoryObserver);
    descriptor: (Lorg/hibernate/SessionFactoryObserver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.SessionFactoryObserver observer
         0: .line 1037
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
            aload 1 /* observer */
            invokevirtual org.hibernate.internal.SessionFactoryObserverChain.addObserver:(Lorg/hibernate/SessionFactoryObserver;)V
         1: .line 1038
            return
        end local 1 // org.hibernate.SessionFactoryObserver observer
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    2     1  observer  Lorg/hibernate/SessionFactoryObserver;
    MethodParameters:
          Name  Flags
      observer  

  public org.hibernate.engine.transaction.spi.TransactionEnvironment getTransactionEnvironment();
    descriptor: ()Lorg/hibernate/engine/transaction/spi/TransactionEnvironment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1041
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.transactionEnvironment:Lorg/hibernate/engine/transaction/spi/TransactionEnvironment;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public java.util.Properties getProperties();
    descriptor: ()Ljava/util/Properties;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1045
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.id.factory.IdentifierGeneratorFactory getIdentifierGeneratorFactory();
    descriptor: ()Lorg/hibernate/id/factory/IdentifierGeneratorFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1049
            aconst_null
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

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

  private void registerEntityNameResolvers(org.hibernate.persister.entity.EntityPersister);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.persister.entity.EntityPersister persister
         0: .line 1057
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMetamodel:()Lorg/hibernate/tuple/entity/EntityMetamodel;
            ifnull 1
            aload 1 /* 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 1058
      StackMap locals:
      StackMap stack:
            return
         2: .line 1060
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* 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;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.registerEntityNameResolvers:(Lorg/hibernate/tuple/entity/EntityTuplizer;)V
         3: .line 1061
            return
        end local 1 // org.hibernate.persister.entity.EntityPersister persister
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    4     1  persister  Lorg/hibernate/persister/entity/EntityPersister;
    MethodParameters:
           Name  Flags
      persister  

  private void registerEntityNameResolvers(org.hibernate.tuple.entity.EntityTuplizer);
    descriptor: (Lorg/hibernate/tuple/entity/EntityTuplizer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.tuple.entity.EntityTuplizer tuplizer
         0: .line 1064
            aload 1 /* tuplizer */
            invokeinterface org.hibernate.tuple.entity.EntityTuplizer.getEntityNameResolvers:()[Lorg/hibernate/EntityNameResolver;
            astore 2 /* resolvers */
        start local 2 // org.hibernate.EntityNameResolver[] resolvers
         1: .line 1065
            aload 2 /* resolvers */
            ifnonnull 3
         2: .line 1066
            return
         3: .line 1069
      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.internal.SessionFactoryImpl org.hibernate.tuple.entity.EntityTuplizer 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 1070
            aload 0 /* this */
            aload 3 /* resolver */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.registerEntityNameResolver:(Lorg/hibernate/EntityNameResolver;)V
        end local 3 // org.hibernate.EntityNameResolver resolver
         6: .line 1069
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 1072
            return
        end local 2 // org.hibernate.EntityNameResolver[] resolvers
        end local 1 // org.hibernate.tuple.entity.EntityTuplizer tuplizer
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    9     1   tuplizer  Lorg/hibernate/tuple/entity/EntityTuplizer;
            1    9     2  resolvers  [Lorg/hibernate/EntityNameResolver;
            5    6     3   resolver  Lorg/hibernate/EntityNameResolver;
    MethodParameters:
          Name  Flags
      tuplizer  

  public void registerEntityNameResolver(org.hibernate.EntityNameResolver);
    descriptor: (Lorg/hibernate/EntityNameResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.EntityNameResolver resolver
         0: .line 1077
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.entityNameResolvers:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* resolver */
            getstatic org.hibernate.internal.SessionFactoryImpl.ENTITY_NAME_RESOLVER_MAP_VALUE:Ljava/lang/Object;
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1078
            return
        end local 1 // org.hibernate.EntityNameResolver resolver
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    2     1  resolver  Lorg/hibernate/EntityNameResolver;
    MethodParameters:
          Name  Flags
      resolver  

  public java.lang.Iterable<org.hibernate.EntityNameResolver> iterateEntityNameResolvers();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1082
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.entityNameResolvers:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/EntityNameResolver;>;

  public org.hibernate.engine.query.spi.QueryPlanCache getQueryPlanCache();
    descriptor: ()Lorg/hibernate/engine/query/spi/QueryPlanCache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1086
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.queryPlanCache:Lorg/hibernate/engine/query/spi/QueryPlanCache;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  private java.util.Map<java.lang.String, org.hibernate.HibernateException> checkNamedQueries();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1090
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/internal/NamedQueryRepository;
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.queryPlanCache:Lorg/hibernate/engine/query/spi/QueryPlanCache;
            invokevirtual org.hibernate.internal.NamedQueryRepository.checkNamedQueries:(Lorg/hibernate/engine/query/spi/QueryPlanCache;)Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/HibernateException;>;

  public org.hibernate.persister.entity.EntityPersister getEntityPersister(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.internal.SessionFactoryImpl this
        start local 1 // java.lang.String entityName
         0: .line 1094
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.entityPersisters: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 1095
            aload 2 /* result */
            ifnonnull 3
         2: .line 1096
            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 1098
      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.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            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 java.util.Map<java.lang.String, org.hibernate.persister.collection.CollectionPersister> getCollectionPersisters();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1103
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.collectionPersisters:Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/persister/collection/CollectionPersister;>;

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

  public org.hibernate.persister.collection.CollectionPersister getCollectionPersister(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.internal.SessionFactoryImpl this
        start local 1 // java.lang.String role
         0: .line 1112
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.collectionPersisters: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 /* result */
        start local 2 // org.hibernate.persister.collection.CollectionPersister result
         1: .line 1113
            aload 2 /* result */
            ifnonnull 3
         2: .line 1114
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown collection 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 1116
      StackMap locals: org.hibernate.persister.collection.CollectionPersister
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.hibernate.persister.collection.CollectionPersister result
        end local 1 // java.lang.String role
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    4     1    role  Ljava/lang/String;
            1    4     2  result  Lorg/hibernate/persister/collection/CollectionPersister;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
      Name  Flags
      role  

  public org.hibernate.cfg.Settings getSettings();
    descriptor: ()Lorg/hibernate/cfg/Settings;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1120
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.SessionFactory$SessionFactoryOptions getSessionFactoryOptions();
    descriptor: ()Lorg/hibernate/SessionFactory$SessionFactoryOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1125
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.sessionFactoryOptions:Lorg/hibernate/SessionFactory$SessionFactoryOptions;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.engine.jdbc.spi.JdbcServices getJdbcServices();
    descriptor: ()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1129
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.jdbcServices:Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.dialect.Dialect getDialect();
    descriptor: ()Lorg/hibernate/dialect/Dialect;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1133
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ifnonnull 2
         1: .line 1134
            new java.lang.IllegalStateException
            dup
            ldc "Cannot determine dialect because serviceRegistry is null."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.dialect:Lorg/hibernate/dialect/Dialect;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.Interceptor getInterceptor();
    descriptor: ()Lorg/hibernate/Interceptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1140
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.sessionFactoryOptions:Lorg/hibernate/SessionFactory$SessionFactoryOptions;
            invokeinterface org.hibernate.SessionFactory$SessionFactoryOptions.getInterceptor:()Lorg/hibernate/Interceptor;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.exception.spi.SQLExceptionConverter getSQLExceptionConverter();
    descriptor: ()Lorg/hibernate/exception/spi/SQLExceptionConverter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1144
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.getSqlExceptionConverter:()Lorg/hibernate/exception/spi/SQLExceptionConverter;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.engine.jdbc.spi.SqlExceptionHelper getSQLExceptionHelper();
    descriptor: ()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1148
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  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.internal.SessionFactoryImpl this
        start local 1 // java.lang.String entityName
         0: .line 1152
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.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.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  entityName  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      entityName  

  public javax.naming.Reference getReference();
    descriptor: ()Ljavax/naming/Reference;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1158
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Returning a Reference to the SessionFactory"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
         1: .line 1159
            new javax.naming.Reference
            dup
         2: .line 1160
            ldc Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         3: .line 1161
            new javax.naming.StringRefAddr
            dup
            ldc "uuid"
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
            invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 1162
            ldc Lorg/hibernate/internal/SessionFactoryRegistry$ObjectFactoryImpl;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         5: .line 1163
            aconst_null
         6: .line 1159
            invokespecial javax.naming.Reference.<init>:(Ljava/lang/String;Ljavax/naming/RefAddr;Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.internal.NamedQueryRepository getNamedQueryRepository();
    descriptor: ()Lorg/hibernate/internal/NamedQueryRepository;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1169
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/internal/NamedQueryRepository;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public void registerNamedQueryDefinition(java.lang.String, org.hibernate.engine.spi.NamedQueryDefinition);
    descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/NamedQueryDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String name
        start local 2 // org.hibernate.engine.spi.NamedQueryDefinition definition
         0: .line 1173
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/internal/NamedQueryRepository;
            aload 1 /* name */
            aload 2 /* definition */
            invokevirtual org.hibernate.internal.NamedQueryRepository.registerNamedQueryDefinition:(Ljava/lang/String;Lorg/hibernate/engine/spi/NamedQueryDefinition;)V
         1: .line 1174
            return
        end local 2 // org.hibernate.engine.spi.NamedQueryDefinition definition
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    2     1        name  Ljava/lang/String;
            0    2     2  definition  Lorg/hibernate/engine/spi/NamedQueryDefinition;
    MethodParameters:
            Name  Flags
      name        
      definition  

  public org.hibernate.engine.spi.NamedQueryDefinition getNamedQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedQueryDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String queryName
         0: .line 1177
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/internal/NamedQueryRepository;
            aload 1 /* queryName */
            invokevirtual org.hibernate.internal.NamedQueryRepository.getNamedQueryDefinition:(Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedQueryDefinition;
            areturn
        end local 1 // java.lang.String queryName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  queryName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      queryName  

  public void registerNamedSQLQueryDefinition(java.lang.String, org.hibernate.engine.spi.NamedSQLQueryDefinition);
    descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String name
        start local 2 // org.hibernate.engine.spi.NamedSQLQueryDefinition definition
         0: .line 1181
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/internal/NamedQueryRepository;
            aload 1 /* name */
            aload 2 /* definition */
            invokevirtual org.hibernate.internal.NamedQueryRepository.registerNamedSQLQueryDefinition:(Ljava/lang/String;Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;)V
         1: .line 1182
            return
        end local 2 // org.hibernate.engine.spi.NamedSQLQueryDefinition definition
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    2     1        name  Ljava/lang/String;
            0    2     2  definition  Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
    MethodParameters:
            Name  Flags
      name        
      definition  

  public org.hibernate.engine.spi.NamedSQLQueryDefinition getNamedSQLQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String queryName
         0: .line 1185
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/internal/NamedQueryRepository;
            aload 1 /* queryName */
            invokevirtual org.hibernate.internal.NamedQueryRepository.getNamedSQLQueryDefinition:(Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
            areturn
        end local 1 // java.lang.String queryName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  queryName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      queryName  

  public org.hibernate.engine.ResultSetMappingDefinition getResultSetMapping(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/engine/ResultSetMappingDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String mappingName
         0: .line 1189
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/internal/NamedQueryRepository;
            aload 1 /* mappingName */
            invokevirtual org.hibernate.internal.NamedQueryRepository.getResultSetMappingDefinition:(Ljava/lang/String;)Lorg/hibernate/engine/ResultSetMappingDefinition;
            areturn
        end local 1 // java.lang.String mappingName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  mappingName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      mappingName  

  public org.hibernate.type.Type getIdentifierType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String className
         0: .line 1193
            aload 0 /* this */
            aload 1 /* className */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifierType:()Lorg/hibernate/type/Type;
            areturn
        end local 1 // java.lang.String className
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  className  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
           Name  Flags
      className  

  public java.lang.String getIdentifierPropertyName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String className
         0: .line 1196
            aload 0 /* this */
            aload 1 /* className */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifierPropertyName:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String className
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  className  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
           Name  Flags
      className  

  public org.hibernate.type.Type[] getReturnTypes(java.lang.String);
    descriptor: (Ljava/lang/String;)[Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String queryString
         0: .line 1200
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.queryPlanCache:Lorg/hibernate/engine/query/spi/QueryPlanCache;
            aload 1 /* queryString */
            iconst_0
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            invokevirtual org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan:(Ljava/lang/String;ZLjava/util/Map;)Lorg/hibernate/engine/query/spi/HQLQueryPlan;
         1: .line 1201
            invokevirtual org.hibernate.engine.query.spi.HQLQueryPlan.getReturnMetadata:()Lorg/hibernate/engine/query/spi/ReturnMetadata;
         2: .line 1200
            astore 2 /* metadata */
        start local 2 // org.hibernate.engine.query.spi.ReturnMetadata metadata
         3: .line 1202
            aload 2 /* metadata */
            ifnonnull 4
            aconst_null
            goto 5
      StackMap locals: org.hibernate.engine.query.spi.ReturnMetadata
      StackMap stack:
         4: aload 2 /* metadata */
            invokevirtual org.hibernate.engine.query.spi.ReturnMetadata.getReturnTypes:()[Lorg/hibernate/type/Type;
      StackMap locals:
      StackMap stack: org.hibernate.type.Type[]
         5: areturn
        end local 2 // org.hibernate.engine.query.spi.ReturnMetadata metadata
        end local 1 // java.lang.String queryString
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    6     1  queryString  Ljava/lang/String;
            3    6     2     metadata  Lorg/hibernate/engine/query/spi/ReturnMetadata;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
             Name  Flags
      queryString  

  public java.lang.String[] getReturnAliases(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String queryString
         0: .line 1206
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.queryPlanCache:Lorg/hibernate/engine/query/spi/QueryPlanCache;
            aload 1 /* queryString */
            iconst_0
            getstatic java.util.Collections.EMPTY_MAP:Ljava/util/Map;
            invokevirtual org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan:(Ljava/lang/String;ZLjava/util/Map;)Lorg/hibernate/engine/query/spi/HQLQueryPlan;
         1: .line 1207
            invokevirtual org.hibernate.engine.query.spi.HQLQueryPlan.getReturnMetadata:()Lorg/hibernate/engine/query/spi/ReturnMetadata;
         2: .line 1206
            astore 2 /* metadata */
        start local 2 // org.hibernate.engine.query.spi.ReturnMetadata metadata
         3: .line 1208
            aload 2 /* metadata */
            ifnonnull 4
            aconst_null
            goto 5
      StackMap locals: org.hibernate.engine.query.spi.ReturnMetadata
      StackMap stack:
         4: aload 2 /* metadata */
            invokevirtual org.hibernate.engine.query.spi.ReturnMetadata.getReturnAliases:()[Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String[]
         5: areturn
        end local 2 // org.hibernate.engine.query.spi.ReturnMetadata metadata
        end local 1 // java.lang.String queryString
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    6     1  queryString  Ljava/lang/String;
            3    6     2     metadata  Lorg/hibernate/engine/query/spi/ReturnMetadata;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
             Name  Flags
      queryString  

  public org.hibernate.metadata.ClassMetadata getClassMetadata(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/metadata/ClassMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.Class persistentClass
         0: .line 1212
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getClassMetadata:(Ljava/lang/String;)Lorg/hibernate/metadata/ClassMetadata;
            areturn
        end local 1 // java.lang.Class persistentClass
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  persistentClass  Ljava/lang/Class;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      persistentClass  

  public org.hibernate.metadata.CollectionMetadata getCollectionMetadata(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/metadata/CollectionMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String roleName
         0: .line 1216
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.collectionMetadata:Ljava/util/Map;
            aload 1 /* roleName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.metadata.CollectionMetadata
            areturn
        end local 1 // java.lang.String roleName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  roleName  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
          Name  Flags
      roleName  

  public org.hibernate.metadata.ClassMetadata getClassMetadata(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/metadata/ClassMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String entityName
         0: .line 1220
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.classMetadata:Ljava/util/Map;
            aload 1 /* entityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.metadata.ClassMetadata
            areturn
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  entityName  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      entityName  

  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.internal.SessionFactoryImpl this
        start local 1 // java.lang.String className
         0: .line 1238
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.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 1239
            goto 4
        end local 2 // java.lang.Class clazz
         2: .line 1240
      StackMap locals:
      StackMap stack: org.hibernate.boot.registry.classloading.spi.ClassLoadingException
            pop
         3: .line 1241
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* className */
            aastore
            areturn
        start local 2 // java.lang.Class clazz
         4: .line 1244
      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 1245
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.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.internal.SessionFactoryImpl 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 1246
            ldc Lorg/hibernate/persister/entity/Queryable;
            aload 4 /* checkPersister */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 1247
            goto 27
         9: .line 1249
      StackMap locals: org.hibernate.internal.SessionFactoryImpl 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 1250
            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 1251
            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 1252
            aload 6 /* checkQueryable */
            invokeinterface org.hibernate.persister.entity.Queryable.isExplicitPolymorphism:()Z
            ifeq 15
        13: .line 1253
            iload 8 /* isMappedClass */
            ifeq 27
        14: .line 1254
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* className */
            aastore
            areturn
        15: .line 1258
      StackMap locals: org.hibernate.persister.entity.Queryable java.lang.String int
      StackMap stack:
            iload 8 /* isMappedClass */
            ifeq 18
        16: .line 1259
            aload 3 /* results */
            aload 7 /* checkQueryableEntityName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        17: .line 1260
            goto 27
        18: .line 1262
      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 1263
            aload 9 /* mappedClass */
            ifnull 27
            aload 2 /* clazz */
            aload 9 /* mappedClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 27
        20: .line 1265
            aload 6 /* checkQueryable */
            invokeinterface org.hibernate.persister.entity.Queryable.isInherited:()Z
            ifeq 24
        21: .line 1266
            aload 0 /* this */
            aload 6 /* checkQueryable */
            invokeinterface org.hibernate.persister.entity.Queryable.getMappedSuperclass:()Ljava/lang/String;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getEntityPersister:(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 1267
            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 1268
            goto 25
        end local 10 // boolean assignableSuperclass
        24: .line 1270
      StackMap locals: java.lang.Class
      StackMap stack:
            iconst_0
            istore 10 /* assignableSuperclass */
        start local 10 // boolean assignableSuperclass
        25: .line 1272
      StackMap locals: int
      StackMap stack:
            iload 10 /* assignableSuperclass */
            ifne 27
        26: .line 1273
            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 1245
      StackMap locals: org.hibernate.internal.SessionFactoryImpl 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 1279
            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.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   29     0                      this  Lorg/hibernate/internal/SessionFactoryImpl;
            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.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.internal.SessionFactoryImpl this
        start local 1 // java.lang.String className
         0: .line 1284
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.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 1285
            aload 2 /* result */
            ifnonnull 8
         2: .line 1287
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.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 1288
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.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 1289
            aload 1 /* className */
         5: areturn
         6: .line 1291
      StackMap locals: org.hibernate.internal.SessionFactoryImpl java.lang.String java.lang.String
      StackMap stack: org.hibernate.boot.registry.classloading.spi.ClassLoadingException
            pop
         7: .line 1292
            aconst_null
            areturn
         8: .line 1296
      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.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    9     1  className  Ljava/lang/String;
            1    9     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.util.Map<java.lang.String, org.hibernate.metadata.ClassMetadata> getAllClassMetadata();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1301
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.classMetadata:Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metadata/ClassMetadata;>;

  public java.util.Map getAllCollectionMetadata();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1305
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.collectionMetadata:Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Exceptions:
      throws org.hibernate.HibernateException

  public org.hibernate.type.Type getReferencedPropertyType(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String className
        start local 2 // java.lang.String propertyName
         0: .line 1310
            aload 0 /* this */
            aload 1 /* className */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            aload 2 /* propertyName */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getPropertyType:(Ljava/lang/String;)Lorg/hibernate/type/Type;
            areturn
        end local 2 // java.lang.String propertyName
        end local 1 // java.lang.String className
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1     className  Ljava/lang/String;
            0    1     2  propertyName  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
              Name  Flags
      className     
      propertyName  

  public org.hibernate.engine.jdbc.connections.spi.ConnectionProvider getConnectionProvider();
    descriptor: ()Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1314
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.jdbcServices:Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getConnectionProvider:()Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1334
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.isClosed:Z
            ifeq 3
         1: .line 1335
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Already closed"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         2: .line 1336
            return
         3: .line 1339
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.closing:()V
         4: .line 1341
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.internal.SessionFactoryImpl.isClosed:Z
         5: .line 1343
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getMultiTableBulkIdStrategy:()Lorg/hibernate/hql/spi/MultiTableBulkIdStrategy;
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.jdbcServices:Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.buildLocalConnectionAccess:()Lorg/hibernate/engine/jdbc/spi/JdbcConnectionAccess;
            invokeinterface org.hibernate.hql.spi.MultiTableBulkIdStrategy.release:(Lorg/hibernate/engine/jdbc/spi/JdbcServices;Lorg/hibernate/engine/jdbc/spi/JdbcConnectionAccess;)V
         6: .line 1345
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.entityPersisters:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         7: .line 1346
            goto 11
         8: .line 1347
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.persister.entity.EntityPersister
            astore 2 /* p */
        start local 2 // org.hibernate.persister.entity.EntityPersister p
         9: .line 1348
            aload 2 /* p */
            invokeinterface org.hibernate.persister.entity.EntityPersister.hasCache:()Z
            ifeq 11
        10: .line 1349
            aload 2 /* p */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getCacheAccessStrategy:()Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;
            invokeinterface org.hibernate.cache.spi.access.EntityRegionAccessStrategy.getRegion:()Lorg/hibernate/cache/spi/EntityRegion;
            invokeinterface org.hibernate.cache.spi.EntityRegion.destroy:()V
        end local 2 // org.hibernate.persister.entity.EntityPersister p
        11: .line 1346
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        12: .line 1353
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.collectionPersisters:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        13: .line 1354
            goto 17
        14: .line 1355
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.persister.collection.CollectionPersister
            astore 2 /* p */
        start local 2 // org.hibernate.persister.collection.CollectionPersister p
        15: .line 1356
            aload 2 /* p */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.hasCache:()Z
            ifeq 17
        16: .line 1357
            aload 2 /* p */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getCacheAccessStrategy:()Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;
            invokeinterface org.hibernate.cache.spi.access.CollectionRegionAccessStrategy.getRegion:()Lorg/hibernate/cache/spi/CollectionRegion;
            invokeinterface org.hibernate.cache.spi.CollectionRegion.destroy:()V
        end local 2 // org.hibernate.persister.collection.CollectionPersister p
        17: .line 1354
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        18: .line 1361
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            invokeinterface org.hibernate.engine.spi.CacheImplementor.close:()V
        19: .line 1363
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.queryPlanCache:Lorg/hibernate/engine/query/spi/QueryPlanCache;
            invokevirtual org.hibernate.engine.query.spi.QueryPlanCache.cleanup:()V
        20: .line 1365
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isAutoDropSchema:()Z
            ifeq 22
        21: .line 1366
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.schemaExport:Lorg/hibernate/tool/hbm2ddl/SchemaExport;
            iconst_0
            iconst_1
            invokevirtual org.hibernate.tool.hbm2ddl.SchemaExport.drop:(ZZ)V
        22: .line 1369
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.internal.SessionFactoryRegistry.INSTANCE:Lorg/hibernate/internal/SessionFactoryRegistry;
        23: .line 1370
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
        24: .line 1371
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
        25: .line 1372
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isSessionFactoryNameAlsoJndiName:()Z
        26: .line 1373
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/engine/jndi/spi/JndiService;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.jndi.spi.JndiService
        27: .line 1369
            invokevirtual org.hibernate.internal.SessionFactoryRegistry.removeSessionFactory:(Ljava/lang/String;Ljava/lang/String;ZLorg/hibernate/engine/jndi/spi/JndiService;)V
        28: .line 1376
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryClosed:(Lorg/hibernate/SessionFactory;)V
        29: .line 1377
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.destroy:()V
        30: .line 1378
            return
        end local 1 // java.util.Iterator iter
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   31     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
            7   31     1  iter  Ljava/util/Iterator;
            9   11     2     p  Lorg/hibernate/persister/entity/EntityPersister;
           15   17     2     p  Lorg/hibernate/persister/collection/CollectionPersister;
    Exceptions:
      throws org.hibernate.HibernateException

  public org.hibernate.Cache getCache();
    descriptor: ()Lorg/hibernate/Cache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1381
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public void evictEntity(java.lang.String, java.io.Serializable);
    descriptor: (Ljava/lang/String;Ljava/io/Serializable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String entityName
        start local 2 // java.io.Serializable id
         0: .line 1385
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getCache:()Lorg/hibernate/Cache;
            aload 1 /* entityName */
            aload 2 /* id */
            invokeinterface org.hibernate.Cache.evictEntity:(Ljava/lang/String;Ljava/io/Serializable;)V
         1: .line 1386
            return
        end local 2 // java.io.Serializable id
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    2     1  entityName  Ljava/lang/String;
            0    2     2          id  Ljava/io/Serializable;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      entityName  
      id          

  public void evictEntity(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String entityName
         0: .line 1389
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getCache:()Lorg/hibernate/Cache;
            aload 1 /* entityName */
            invokeinterface org.hibernate.Cache.evictEntityRegion:(Ljava/lang/String;)V
         1: .line 1390
            return
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    2     1  entityName  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      entityName  

  public void evict(java.lang.Class, java.io.Serializable);
    descriptor: (Ljava/lang/Class;Ljava/io/Serializable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.Class persistentClass
        start local 2 // java.io.Serializable id
         0: .line 1393
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getCache:()Lorg/hibernate/Cache;
            aload 1 /* persistentClass */
            aload 2 /* id */
            invokeinterface org.hibernate.Cache.evictEntity:(Ljava/lang/Class;Ljava/io/Serializable;)V
         1: .line 1394
            return
        end local 2 // java.io.Serializable id
        end local 1 // java.lang.Class persistentClass
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    2     1  persistentClass  Ljava/lang/Class;
            0    2     2               id  Ljava/io/Serializable;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      persistentClass  
      id               

  public void evict(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.Class persistentClass
         0: .line 1397
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getCache:()Lorg/hibernate/Cache;
            aload 1 /* persistentClass */
            invokeinterface org.hibernate.Cache.evictEntityRegion:(Ljava/lang/Class;)V
         1: .line 1398
            return
        end local 1 // java.lang.Class persistentClass
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    2     1  persistentClass  Ljava/lang/Class;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      persistentClass  

  public void evictCollection(java.lang.String, java.io.Serializable);
    descriptor: (Ljava/lang/String;Ljava/io/Serializable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String roleName
        start local 2 // java.io.Serializable id
         0: .line 1401
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getCache:()Lorg/hibernate/Cache;
            aload 1 /* roleName */
            aload 2 /* id */
            invokeinterface org.hibernate.Cache.evictCollection:(Ljava/lang/String;Ljava/io/Serializable;)V
         1: .line 1402
            return
        end local 2 // java.io.Serializable id
        end local 1 // java.lang.String roleName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    2     1  roleName  Ljava/lang/String;
            0    2     2        id  Ljava/io/Serializable;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
          Name  Flags
      roleName  
      id        

  public void evictCollection(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String roleName
         0: .line 1405
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getCache:()Lorg/hibernate/Cache;
            aload 1 /* roleName */
            invokeinterface org.hibernate.Cache.evictCollectionRegion:(Ljava/lang/String;)V
         1: .line 1406
            return
        end local 1 // java.lang.String roleName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    2     1  roleName  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
          Name  Flags
      roleName  

  public void evictQueries();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1409
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            invokeinterface org.hibernate.engine.spi.CacheImplementor.evictQueries:()V
         1: .line 1410
            return
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Exceptions:
      throws org.hibernate.HibernateException

  public void evictQueries(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String regionName
         0: .line 1413
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getCache:()Lorg/hibernate/Cache;
            aload 1 /* regionName */
            invokeinterface org.hibernate.Cache.evictQueryRegion:(Ljava/lang/String;)V
         1: .line 1414
            return
        end local 1 // java.lang.String regionName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    2     1  regionName  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      regionName  

  public org.hibernate.cache.spi.UpdateTimestampsCache getUpdateTimestampsCache();
    descriptor: ()Lorg/hibernate/cache/spi/UpdateTimestampsCache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1417
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            invokeinterface org.hibernate.engine.spi.CacheImplementor.getUpdateTimestampsCache:()Lorg/hibernate/cache/spi/UpdateTimestampsCache;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.cache.spi.QueryCache getQueryCache();
    descriptor: ()Lorg/hibernate/cache/spi/QueryCache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1421
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            invokeinterface org.hibernate.engine.spi.CacheImplementor.getQueryCache:()Lorg/hibernate/cache/spi/QueryCache;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.cache.spi.QueryCache getQueryCache(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/cache/spi/QueryCache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String regionName
         0: .line 1425
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            aload 1 /* regionName */
            invokeinterface org.hibernate.engine.spi.CacheImplementor.getQueryCache:(Ljava/lang/String;)Lorg/hibernate/cache/spi/QueryCache;
            areturn
        end local 1 // java.lang.String regionName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  regionName  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      regionName  

  public org.hibernate.cache.spi.Region getSecondLevelCacheRegion(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/cache/spi/Region;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String regionName
         0: .line 1429
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            aload 1 /* regionName */
            invokeinterface org.hibernate.engine.spi.CacheImplementor.getSecondLevelCacheRegion:(Ljava/lang/String;)Lorg/hibernate/cache/spi/Region;
            areturn
        end local 1 // java.lang.String regionName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  regionName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      regionName  

  public org.hibernate.cache.spi.Region getNaturalIdCacheRegion(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/cache/spi/Region;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String regionName
         0: .line 1433
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            aload 1 /* regionName */
            invokeinterface org.hibernate.engine.spi.CacheImplementor.getNaturalIdCacheRegion:(Ljava/lang/String;)Lorg/hibernate/cache/spi/Region;
            areturn
        end local 1 // java.lang.String regionName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  regionName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      regionName  

  public java.util.Map getAllSecondLevelCacheRegions();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1438
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/engine/spi/CacheImplementor;
            invokeinterface org.hibernate.engine.spi.CacheImplementor.getAllSecondLevelCacheRegions:()Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public boolean isClosed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1442
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.isClosed:Z
            ireturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.stat.Statistics getStatistics();
    descriptor: ()Lorg/hibernate/stat/Statistics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1446
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getStatisticsImplementor:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.stat.spi.StatisticsImplementor getStatisticsImplementor();
    descriptor: ()Lorg/hibernate/stat/spi/StatisticsImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1450
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/stat/spi/StatisticsImplementor;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.stat.spi.StatisticsImplementor
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.engine.spi.FilterDefinition getFilterDefinition(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/engine/spi/FilterDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String filterName
         0: .line 1454
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.filters:Ljava/util/Map;
            aload 1 /* filterName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.FilterDefinition
            astore 2 /* def */
        start local 2 // org.hibernate.engine.spi.FilterDefinition def
         1: .line 1455
            aload 2 /* def */
            ifnonnull 3
         2: .line 1456
            new org.hibernate.HibernateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No such filter configured ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* filterName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1458
      StackMap locals: org.hibernate.engine.spi.FilterDefinition
      StackMap stack:
            aload 2 /* def */
            areturn
        end local 2 // org.hibernate.engine.spi.FilterDefinition def
        end local 1 // java.lang.String filterName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    4     1  filterName  Ljava/lang/String;
            1    4     2         def  Lorg/hibernate/engine/spi/FilterDefinition;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      filterName  

  public boolean containsFetchProfileDefinition(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String name
         0: .line 1462
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.fetchProfiles:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Set getDefinedFilterNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1466
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.filters:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.id.IdentifierGenerator getIdentifierGenerator(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/id/IdentifierGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String rootEntityName
         0: .line 1470
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.identifierGenerators:Ljava/util/Map;
            aload 1 /* rootEntityName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.id.IdentifierGenerator
            areturn
        end local 1 // java.lang.String rootEntityName
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  rootEntityName  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      rootEntityName  

  private org.hibernate.engine.transaction.spi.TransactionFactory transactionFactory();
    descriptor: ()Lorg/hibernate/engine/transaction/spi/TransactionFactory;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1474
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/engine/transaction/spi/TransactionFactory;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.transaction.spi.TransactionFactory
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  private boolean canAccessTransactionManager();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1479
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/engine/transaction/jta/platform/spi/JtaPlatform;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform
            invokeinterface org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform.retrieveTransactionManager:()Ljavax/transaction/TransactionManager;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
         2: ireturn
         3: .line 1481
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         4: .line 1482
            iconst_0
            ireturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Exception

  private org.hibernate.context.spi.CurrentSessionContext buildCurrentSessionContext();
    descriptor: ()Lorg/hibernate/context/spi/CurrentSessionContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1487
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Properties;
            ldc "hibernate.current_session_context_class"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* impl */
        start local 1 // java.lang.String impl
         1: .line 1489
            aload 1 /* impl */
            ifnonnull 6
         2: .line 1490
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.canAccessTransactionManager:()Z
            ifeq 5
         3: .line 1491
            ldc "jta"
            astore 1 /* impl */
         4: .line 1492
            goto 6
         5: .line 1494
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            areturn
         6: .line 1498
      StackMap locals:
      StackMap stack:
            ldc "jta"
            aload 1 /* impl */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 1499
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.transactionFactory:()Lorg/hibernate/engine/transaction/spi/TransactionFactory;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionFactory.compatibleWithJtaSynchronization:()Z
            ifne 9
         8: .line 1500
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.autoFlushWillNotWork:()V
         9: .line 1502
      StackMap locals:
      StackMap stack:
            new org.hibernate.context.internal.JTASessionContext
            dup
            aload 0 /* this */
            invokespecial org.hibernate.context.internal.JTASessionContext.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            areturn
        10: .line 1504
      StackMap locals:
      StackMap stack:
            ldc "thread"
            aload 1 /* impl */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1505
            new org.hibernate.context.internal.ThreadLocalSessionContext
            dup
            aload 0 /* this */
            invokespecial org.hibernate.context.internal.ThreadLocalSessionContext.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            areturn
        12: .line 1507
      StackMap locals:
      StackMap stack:
            ldc "managed"
            aload 1 /* impl */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 1508
            new org.hibernate.context.internal.ManagedSessionContext
            dup
            aload 0 /* this */
            invokespecial org.hibernate.context.internal.ManagedSessionContext.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            areturn
        14: .line 1512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.boot.registry.classloading.spi.ClassLoaderService
            aload 1 /* impl */
            invokeinterface org.hibernate.boot.registry.classloading.spi.ClassLoaderService.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* implClass */
        start local 2 // java.lang.Class implClass
        15: .line 1513
            aload 2 /* implClass */
        16: .line 1514
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aastore
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 1515
            aload 0 /* this */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.context.spi.CurrentSessionContext
        18: .line 1513
            areturn
        end local 2 // java.lang.Class implClass
        19: .line 1517
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        20: .line 1518
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 1 /* impl */
            aload 2 /* t */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToConstructCurrentSessionContext:(Ljava/lang/String;Ljava/lang/Throwable;)V
        21: .line 1519
            aconst_null
            areturn
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.String impl
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lorg/hibernate/internal/SessionFactoryImpl;
            1   22     1       impl  Ljava/lang/String;
           15   19     2  implClass  Ljava/lang/Class;
           20   22     2          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          14    18      19  Class java.lang.Throwable

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

  public org.hibernate.proxy.EntityNotFoundDelegate getEntityNotFoundDelegate();
    descriptor: ()Lorg/hibernate/proxy/EntityNotFoundDelegate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1531
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.sessionFactoryOptions:Lorg/hibernate/SessionFactory$SessionFactoryOptions;
            invokeinterface org.hibernate.SessionFactory$SessionFactoryOptions.getEntityNotFoundDelegate:()Lorg/hibernate/proxy/EntityNotFoundDelegate;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.dialect.function.SQLFunctionRegistry getSqlFunctionRegistry();
    descriptor: ()Lorg/hibernate/dialect/function/SQLFunctionRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1535
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.sqlFunctionRegistry:Lorg/hibernate/dialect/function/SQLFunctionRegistry;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.engine.profile.FetchProfile getFetchProfile(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/engine/profile/FetchProfile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String name
         0: .line 1539
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.fetchProfiles:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.engine.profile.FetchProfile
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.hibernate.TypeHelper getTypeHelper();
    descriptor: ()Lorg/hibernate/TypeHelper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1543
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.typeHelper:Lorg/hibernate/TypeHelper;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.CustomEntityDirtinessStrategy getCustomEntityDirtinessStrategy();
    descriptor: ()Lorg/hibernate/CustomEntityDirtinessStrategy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1712
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.customEntityDirtinessStrategy:Lorg/hibernate/CustomEntityDirtinessStrategy;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.context.spi.CurrentTenantIdentifierResolver getCurrentTenantIdentifierResolver();
    descriptor: ()Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1717
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.currentTenantIdentifierResolver:Lorg/hibernate/context/spi/CurrentTenantIdentifierResolver;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.io.ObjectOutputStream out
         0: .line 1731
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Serializing: %s"
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1732
            aload 1 /* out */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         2: .line 1733
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Serialized"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         3: .line 1734
            return
        end local 1 // java.io.ObjectOutputStream out
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    4     1   out  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.io.ObjectInputStream in
         0: .line 1745
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Deserializing"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         1: .line 1746
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         2: .line 1747
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Deserialized: %s"
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 1748
            return
        end local 1 // java.io.ObjectInputStream in
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    4     1    in  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    

  private java.lang.Object readResolve();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 1760
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Resolving serialized SessionFactory"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         1: .line 1761
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
            invokestatic org.hibernate.internal.SessionFactoryImpl.locateSessionFactoryOnDeserialization:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/SessionFactory;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Exceptions:
      throws java.io.InvalidObjectException

  private static org.hibernate.SessionFactory locateSessionFactoryOnDeserialization(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/SessionFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.String uuid
        start local 1 // java.lang.String name
         0: .line 1765
            getstatic org.hibernate.internal.SessionFactoryRegistry.INSTANCE:Lorg/hibernate/internal/SessionFactoryRegistry;
            aload 0 /* uuid */
            invokevirtual org.hibernate.internal.SessionFactoryRegistry.getSessionFactory:(Ljava/lang/String;)Lorg/hibernate/SessionFactory;
            astore 2 /* uuidResult */
        start local 2 // org.hibernate.SessionFactory uuidResult
         1: .line 1766
            aload 2 /* uuidResult */
            ifnull 4
         2: .line 1767
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Resolved SessionFactory by UUID [%s]"
            aload 0 /* uuid */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 1768
            aload 2 /* uuidResult */
            areturn
         4: .line 1773
      StackMap locals: org.hibernate.SessionFactory
      StackMap stack:
            aload 1 /* name */
            ifnull 9
         5: .line 1774
            getstatic org.hibernate.internal.SessionFactoryRegistry.INSTANCE:Lorg/hibernate/internal/SessionFactoryRegistry;
            aload 1 /* name */
            invokevirtual org.hibernate.internal.SessionFactoryRegistry.getNamedSessionFactory:(Ljava/lang/String;)Lorg/hibernate/SessionFactory;
            astore 3 /* namedResult */
        start local 3 // org.hibernate.SessionFactory namedResult
         6: .line 1775
            aload 3 /* namedResult */
            ifnull 9
         7: .line 1776
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Resolved SessionFactory by name [%s]"
            aload 1 /* name */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 1777
            aload 3 /* namedResult */
            areturn
        end local 3 // org.hibernate.SessionFactory namedResult
         9: .line 1781
      StackMap locals:
      StackMap stack:
            new java.io.InvalidObjectException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find a SessionFactory [uuid="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* uuid */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",name="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.hibernate.SessionFactory uuidResult
        end local 1 // java.lang.String name
        end local 0 // java.lang.String uuid
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         uuid  Ljava/lang/String;
            0   10     1         name  Ljava/lang/String;
            1   10     2   uuidResult  Lorg/hibernate/SessionFactory;
            6    9     3  namedResult  Lorg/hibernate/SessionFactory;
    Exceptions:
      throws java.io.InvalidObjectException
    MethodParameters:
      Name  Flags
      uuid  
      name  

  void serialize(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.io.ObjectOutputStream oos
         0: .line 1791
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream.writeUTF:(Ljava/lang/String;)V
         1: .line 1792
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
            ifnull 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: java.io.ObjectOutputStream
         2: iconst_0
      StackMap locals: org.hibernate.internal.SessionFactoryImpl java.io.ObjectOutputStream
      StackMap stack: java.io.ObjectOutputStream int
         3: invokevirtual java.io.ObjectOutputStream.writeBoolean:(Z)V
         4: .line 1793
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
            ifnull 6
         5: .line 1794
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream.writeUTF:(Ljava/lang/String;)V
         6: .line 1796
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.ObjectOutputStream oos
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    7     1   oos  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oos   

  static org.hibernate.internal.SessionFactoryImpl deserialize(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)Lorg/hibernate/internal/SessionFactoryImpl;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.io.ObjectInputStream ois
         0: .line 1807
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Deserializing SessionFactory from Session"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         1: .line 1808
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readUTF:()Ljava/lang/String;
            astore 1 /* uuid */
        start local 1 // java.lang.String uuid
         2: .line 1809
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readBoolean:()Z
            istore 2 /* isNamed */
        start local 2 // boolean isNamed
         3: .line 1810
            iload 2 /* isNamed */
            ifeq 4
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readUTF:()Ljava/lang/String;
            goto 5
      StackMap locals: java.lang.String int
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         5: astore 3 /* name */
        start local 3 // java.lang.String name
         6: .line 1811
            aload 1 /* uuid */
            aload 3 /* name */
            invokestatic org.hibernate.internal.SessionFactoryImpl.locateSessionFactoryOnDeserialization:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/SessionFactory;
            checkcast org.hibernate.internal.SessionFactoryImpl
            areturn
        end local 3 // java.lang.String name
        end local 2 // boolean isNamed
        end local 1 // java.lang.String uuid
        end local 0 // java.io.ObjectInputStream ois
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0      ois  Ljava/io/ObjectInputStream;
            2    7     1     uuid  Ljava/lang/String;
            3    7     2  isNamed  Z
            6    7     3     name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      ois   

  public org.hibernate.SessionBuilder withOptions();
    descriptor: ()Lorg/hibernate/SessionBuilder;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.hibernate.internal.SessionFactoryImpl.withOptions:()Lorg/hibernate/engine/spi/SessionBuilderImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SessionFactoryImpl.java"
NestMembers:
  org.hibernate.internal.SessionFactoryImpl$1  org.hibernate.internal.SessionFactoryImpl$1$1  org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver  org.hibernate.internal.SessionFactoryImpl$2  org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver  org.hibernate.internal.SessionFactoryImpl$3  org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl  org.hibernate.internal.SessionFactoryImpl$StatelessSessionBuilderImpl
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public KeySetView = java.util.concurrent.ConcurrentHashMap$KeySetView of java.util.concurrent.ConcurrentHashMap
  public abstract SessionFactoryOptions = org.hibernate.SessionFactory$SessionFactoryOptions of org.hibernate.SessionFactory
  public final Style = org.hibernate.engine.profile.Fetch$Style of org.hibernate.engine.profile.Fetch
  org.hibernate.internal.SessionFactoryImpl$1
  IntegratorObserver = org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver
  org.hibernate.internal.SessionFactoryImpl$2
  IntegratorObserver = org.hibernate.internal.SessionFactoryImpl$2IntegratorObserver
  org.hibernate.internal.SessionFactoryImpl$3
  SessionBuilderImpl = org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl of org.hibernate.internal.SessionFactoryImpl
  public StatelessSessionBuilderImpl = org.hibernate.internal.SessionFactoryImpl$StatelessSessionBuilderImpl of org.hibernate.internal.SessionFactoryImpl
  public ObjectFactoryImpl = org.hibernate.internal.SessionFactoryRegistry$ObjectFactoryImpl of org.hibernate.internal.SessionFactoryRegistry
  public Fetch = org.hibernate.mapping.FetchProfile$Fetch of org.hibernate.mapping.FetchProfile
  public Fetch = org.hibernate.metamodel.binding.FetchProfile$Fetch of org.hibernate.metamodel.binding.FetchProfile