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 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 transient boolean isClosed;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, 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 org.hibernate.boot.spi.SessionFactoryOptions sessionFactoryOptions;
    descriptor: Lorg/hibernate/boot/spi/SessionFactoryOptions;
    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.Map<java.lang.String, java.lang.Object> properties;
    descriptor: Ljava/util/Map;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

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

  private transient org.hibernate.engine.jdbc.spi.JdbcServices jdbcServices;
    descriptor: Lorg/hibernate/engine/jdbc/spi/JdbcServices;
    flags: (0x0082) ACC_PRIVATE, 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.metamodel.spi.MetamodelImplementor metamodel;
    descriptor: Lorg/hibernate/metamodel/spi/MetamodelImplementor;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder;
    descriptor: Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final javax.persistence.PersistenceUnitUtil jpaPersistenceUnitUtil;
    descriptor: Ljavax/persistence/PersistenceUnitUtil;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  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.context.spi.CurrentSessionContext currentSessionContext;
    descriptor: Lorg/hibernate/context/spi/CurrentSessionContext;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private org.hibernate.tool.schema.spi.DelayedDropAction delayedDropAction;
    descriptor: Lorg/hibernate/tool/schema/spi/DelayedDropAction;
    flags: (0x0002) ACC_PRIVATE

  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 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 org.hibernate.TypeHelper typeHelper;
    descriptor: Lorg/hibernate/TypeHelper;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private transient javax.persistence.SynchronizationType synchronizationType;
    descriptor: Ljavax/persistence/SynchronizationType;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient javax.persistence.PersistenceContextType persistenceContextType;
    descriptor: Ljavax/persistence/PersistenceContextType;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient org.hibernate.stat.spi.StatisticsImplementor statistics;
    descriptor: Lorg/hibernate/stat/spi/StatisticsImplementor;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 154
            ldc Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.hibernate.internal.SessionFactoryImpl.$assertionsDisabled:Z
         3: .line 155
            ldc Lorg/hibernate/internal/SessionFactoryImpl;
            invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
            putstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.boot.spi.BootstrapContext, org.hibernate.boot.spi.MetadataImplementor, org.hibernate.boot.spi.SessionFactoryOptions);
    descriptor: (Lorg/hibernate/boot/spi/BootstrapContext;Lorg/hibernate/boot/spi/MetadataImplementor;Lorg/hibernate/boot/spi/SessionFactoryOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=17, args_size=4
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.boot.spi.BootstrapContext bootstrapContext
        start local 2 // org.hibernate.boot.spi.MetadataImplementor metadata
        start local 3 // org.hibernate.boot.spi.SessionFactoryOptions options
         0: .line 193
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 162
            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 197
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Building session factory"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
         3: .line 199
            aload 0 /* this */
            aload 3 /* options */
            putfield org.hibernate.internal.SessionFactoryImpl.sessionFactoryOptions:Lorg/hibernate/boot/spi/SessionFactoryOptions;
         4: .line 200
            aload 0 /* this */
            new org.hibernate.cfg.Settings
            dup
            aload 3 /* options */
            aload 2 /* metadata */
            invokespecial org.hibernate.cfg.Settings.<init>:(Lorg/hibernate/boot/spi/SessionFactoryOptions;Lorg/hibernate/boot/Metadata;)V
            putfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
         5: .line 202
            aload 0 /* this */
            aload 3 /* options */
         6: .line 203
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getServiceRegistry:()Lorg/hibernate/boot/registry/StandardServiceRegistry;
         7: .line 204
            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
         8: .line 205
            aload 0 /* this */
            aload 1 /* bootstrapContext */
            aload 3 /* options */
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistryFactory.buildServiceRegistry:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/boot/spi/BootstrapContext;Lorg/hibernate/boot/spi/SessionFactoryOptions;)Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
         9: .line 202
            putfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
        10: .line 207
            aload 0 /* this */
            aload 2 /* metadata */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.prepareEventListeners:(Lorg/hibernate/boot/spi/MetadataImplementor;)V
        11: .line 209
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/boot/cfgxml/spi/CfgXmlAccessService;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.boot.cfgxml.spi.CfgXmlAccessService
            astore 4 /* cfgXmlAccessService */
        start local 4 // org.hibernate.boot.cfgxml.spi.CfgXmlAccessService cfgXmlAccessService
        12: .line 211
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getSessionFactoryName:()Ljava/lang/String;
            astore 5 /* sfName */
        start local 5 // java.lang.String sfName
        13: .line 212
            aload 4 /* cfgXmlAccessService */
            invokeinterface org.hibernate.boot.cfgxml.spi.CfgXmlAccessService.getAggregatedConfig:()Lorg/hibernate/boot/cfgxml/spi/LoadedConfig;
            ifnull 17
        14: .line 213
            aload 5 /* sfName */
            ifnonnull 16
        15: .line 214
            aload 4 /* cfgXmlAccessService */
            invokeinterface org.hibernate.boot.cfgxml.spi.CfgXmlAccessService.getAggregatedConfig:()Lorg/hibernate/boot/cfgxml/spi/LoadedConfig;
            invokevirtual org.hibernate.boot.cfgxml.spi.LoadedConfig.getSessionFactoryName:()Ljava/lang/String;
            astore 5 /* sfName */
        16: .line 216
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 4 /* cfgXmlAccessService */
            invokeinterface org.hibernate.boot.cfgxml.spi.CfgXmlAccessService.getAggregatedConfig:()Lorg/hibernate/boot/cfgxml/spi/LoadedConfig;
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.applyCfgXmlValues:(Lorg/hibernate/boot/cfgxml/spi/LoadedConfig;Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;)V
        17: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* sfName */
            putfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
        18: .line 220
            aload 0 /* this */
            aload 3 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getUuid:()Ljava/lang/String;
            putfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
        19: .line 222
            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
            astore 6 /* jdbcServices */
        start local 6 // org.hibernate.engine.jdbc.spi.JdbcServices jdbcServices
        20: .line 224
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Map;
        21: .line 225
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Map;
            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
            invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSettings:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        22: .line 226
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Map;
            ldc "javax.persistence.validation.factory"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 28
        23: .line 227
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getValidatorFactoryReference:()Ljava/lang/Object;
            ifnull 28
        24: .line 228
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Map;
        25: .line 229
            ldc "javax.persistence.validation.factory"
        26: .line 230
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getValidatorFactoryReference:()Ljava/lang/Object;
        27: .line 228
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 235
      StackMap locals: org.hibernate.engine.jdbc.spi.JdbcServices
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Map;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.maskOutSensitiveInformation:(Ljava/util/Map;)V
        29: .line 236
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Map;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.logIfEmptyCompositesEnabled:(Ljava/util/Map;)V
        30: .line 238
            aload 0 /* this */
            new org.hibernate.dialect.function.SQLFunctionRegistry
            dup
            aload 6 /* jdbcServices */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
            aload 3 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getCustomSqlFunctionMap:()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;
        31: .line 239
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/cache/spi/CacheImplementor;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.cache.spi.CacheImplementor
            putfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/cache/spi/CacheImplementor;
        32: .line 240
            aload 0 /* this */
            new org.hibernate.query.criteria.internal.CriteriaBuilderImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.query.criteria.internal.CriteriaBuilderImpl.<init>:(Lorg/hibernate/internal/SessionFactoryImpl;)V
            putfield org.hibernate.internal.SessionFactoryImpl.criteriaBuilder:Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
        33: .line 241
            aload 0 /* this */
            new org.hibernate.jpa.internal.PersistenceUnitUtilImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.jpa.internal.PersistenceUnitUtilImpl.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            putfield org.hibernate.internal.SessionFactoryImpl.jpaPersistenceUnitUtil:Ljavax/persistence/PersistenceUnitUtil;
        34: .line 243
            aload 3 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getSessionFactoryObservers:()[Lorg/hibernate/SessionFactoryObserver;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 38
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices top int int org.hibernate.SessionFactoryObserver[]
      StackMap stack:
        35: aload 10
            iload 8
            aaload
            astore 7 /* sessionFactoryObserver */
        start local 7 // org.hibernate.SessionFactoryObserver sessionFactoryObserver
        36: .line 244
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
            aload 7 /* sessionFactoryObserver */
            invokevirtual org.hibernate.internal.SessionFactoryObserverChain.addObserver:(Lorg/hibernate/SessionFactoryObserver;)V
        end local 7 // org.hibernate.SessionFactoryObserver sessionFactoryObserver
        37: .line 243
            iinc 8 1
      StackMap locals:
      StackMap stack:
        38: iload 8
            iload 9
            if_icmplt 35
        39: .line 247
            aload 0 /* this */
            new org.hibernate.internal.TypeLocatorImpl
            dup
            aload 2 /* metadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getTypeConfiguration:()Lorg/hibernate/type/spi/TypeConfiguration;
            invokevirtual org.hibernate.type.spi.TypeConfiguration.getTypeResolver:()Lorg/hibernate/type/TypeResolver;
            invokespecial org.hibernate.internal.TypeLocatorImpl.<init>:(Lorg/hibernate/type/TypeResolver;)V
            putfield org.hibernate.internal.SessionFactoryImpl.typeHelper:Lorg/hibernate/TypeHelper;
        40: .line 249
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.filters:Ljava/util/Map;
        41: .line 250
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.filters:Ljava/util/Map;
            aload 2 /* metadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getFilterDefinitions:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        42: .line 252
            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
        43: .line 253
            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/Map;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        44: .line 255
            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;
        45: .line 272
            new org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver.<init>:(Lorg/hibernate/internal/SessionFactoryImpl;)V
            astore 7 /* integratorObserver */
        start local 7 // org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver integratorObserver
        46: .line 273
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
            aload 7 /* integratorObserver */
            invokevirtual org.hibernate.internal.SessionFactoryObserverChain.addObserver:(Lorg/hibernate/SessionFactoryObserver;)V
        47: .line 275
            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 9
            goto 51
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver top java.util.Iterator
      StackMap stack:
        48: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.integrator.spi.Integrator
            astore 8 /* integrator */
        start local 8 // org.hibernate.integrator.spi.Integrator integrator
        49: .line 276
            aload 8 /* integrator */
            aload 2 /* 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/boot/Metadata;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;)V
        50: .line 277
            aload 7 /* integratorObserver */
            getfield org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver.integrators:Ljava/util/ArrayList;
            aload 8 /* integrator */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.hibernate.integrator.spi.Integrator integrator
        51: .line 275
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        52: .line 280
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.internal.SessionFactoryImpl.identifierGenerators:Ljava/util/Map;
        53: .line 281
            aload 2 /* metadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getEntityBindings:()Ljava/util/Collection;
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/hibernate/internal/SessionFactoryImpl.lambda$0(Lorg/hibernate/mapping/PersistentClass;)Z (6)
                  (Lorg/hibernate/mapping/PersistentClass;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            aload 0 /* this */
            aload 2 /* metadata */
            aload 6 /* jdbcServices */
            invokedynamic accept(Lorg/hibernate/internal/SessionFactoryImpl;Lorg/hibernate/boot/spi/MetadataImplementor;Lorg/hibernate/engine/jdbc/spi/JdbcServices;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/hibernate/internal/SessionFactoryImpl.lambda$1(Lorg/hibernate/boot/spi/MetadataImplementor;Lorg/hibernate/engine/jdbc/spi/JdbcServices;Lorg/hibernate/mapping/PersistentClass;)V (7)
                  (Lorg/hibernate/mapping/PersistentClass;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        54: .line 292
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Instantiated session factory"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        55: .line 294
            aload 0 /* this */
            aload 2 /* metadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getTypeConfiguration:()Lorg/hibernate/type/spi/TypeConfiguration;
            aload 0 /* this */
            aload 1 /* bootstrapContext */
            invokevirtual org.hibernate.type.spi.TypeConfiguration.scope:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/boot/spi/BootstrapContext;)Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            putfield org.hibernate.internal.SessionFactoryImpl.metamodel:Lorg/hibernate/metamodel/spi/MetamodelImplementor;
        56: .line 295
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.metamodel:Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            checkcast org.hibernate.metamodel.internal.MetamodelImpl
        57: .line 296
            aload 2 /* metadata */
        58: .line 297
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Map;
            invokestatic org.hibernate.metamodel.internal.JpaMetaModelPopulationSetting.determineJpaMetaModelPopulationSetting:(Ljava/util/Map;)Lorg/hibernate/metamodel/internal/JpaMetaModelPopulationSetting;
        59: .line 295
            invokevirtual org.hibernate.metamodel.internal.MetamodelImpl.initialize:(Lorg/hibernate/boot/spi/MetadataImplementor;Lorg/hibernate/metamodel/internal/JpaMetaModelPopulationSetting;)V
        60: .line 301
            aload 0 /* this */
            aload 2 /* metadata */
            aload 0 /* this */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.buildNamedQueryRepository:(Lorg/hibernate/internal/SessionFactoryImpl;)Lorg/hibernate/query/spi/NamedQueryRepository;
            putfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/query/spi/NamedQueryRepository;
        61: .line 303
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getMultiTableBulkIdStrategy:()Lorg/hibernate/hql/spi/id/MultiTableBulkIdStrategy;
        62: .line 304
            aload 6 /* jdbcServices */
        63: .line 305
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.buildLocalConnectionAccess:()Lorg/hibernate/engine/jdbc/connections/spi/JdbcConnectionAccess;
        64: .line 306
            aload 2 /* metadata */
        65: .line 307
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.sessionFactoryOptions:Lorg/hibernate/boot/spi/SessionFactoryOptions;
        66: .line 303
            invokeinterface org.hibernate.hql.spi.id.MultiTableBulkIdStrategy.prepare:(Lorg/hibernate/engine/jdbc/spi/JdbcServices;Lorg/hibernate/engine/jdbc/connections/spi/JdbcConnectionAccess;Lorg/hibernate/boot/spi/MetadataImplementor;Lorg/hibernate/boot/spi/SessionFactoryOptions;)V
        67: .line 311
            aload 2 /* metadata */
        68: .line 312
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
        69: .line 313
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Map;
        70: .line 314
            aload 0 /* this */
            invokedynamic registerOnCloseAction(Lorg/hibernate/internal/SessionFactoryImpl;)Lorg/hibernate/tool/schema/spi/DelayedDropRegistry;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/hibernate/tool/schema/spi/DelayedDropAction;)V
                  org/hibernate/internal/SessionFactoryImpl.lambda$2(Lorg/hibernate/tool/schema/spi/DelayedDropAction;)V (7)
                  (Lorg/hibernate/tool/schema/spi/DelayedDropAction;)V
        71: .line 310
            invokestatic org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process:(Lorg/hibernate/boot/Metadata;Lorg/hibernate/service/ServiceRegistry;Ljava/util/Map;Lorg/hibernate/tool/schema/spi/DelayedDropRegistry;)V
        72: .line 317
            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;
        73: .line 320
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isNamedQueryStartupCheckingEnabled:()Z
            ifeq 88
        74: .line 321
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.checkNamedQueries:()Ljava/util/Map;
            astore 8 /* errors */
        start local 8 // java.util.Map errors
        75: .line 322
            aload 8 /* errors */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 88
        76: .line 323
            new java.lang.StringBuilder
            dup
            ldc "Errors in named queries: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 9 /* failingQueries */
        start local 9 // java.lang.StringBuilder failingQueries
        77: .line 324
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            astore 10 /* separator */
        start local 10 // java.lang.String separator
        78: .line 326
            aload 8 /* errors */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 86
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.util.Map java.lang.StringBuilder java.lang.String top java.util.Iterator
      StackMap stack:
        79: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 11 /* entry */
        start local 11 // java.util.Map$Entry entry
        80: .line 327
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 11 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 11 /* 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
        81: .line 329
            aload 9 /* failingQueries */
        82: .line 330
            aload 10 /* separator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        83: .line 331
            aload 11 /* 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;
        84: .line 332
            ldc " failed because of: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        85: .line 333
            aload 11 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 11 // java.util.Map$Entry entry
        86: .line 326
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 79
        87: .line 335
            new org.hibernate.HibernateException
            dup
            aload 9 /* failingQueries */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.lang.String separator
        end local 9 // java.lang.StringBuilder failingQueries
        end local 8 // java.util.Map errors
        88: .line 340
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver
      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;
        89: .line 341
            aload 2 /* metadata */
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getFetchProfiles:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 113
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver top java.util.Iterator
      StackMap stack:
        90: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.FetchProfile
            astore 8 /* mappingProfile */
        start local 8 // org.hibernate.mapping.FetchProfile mappingProfile
        91: .line 342
            new org.hibernate.engine.profile.FetchProfile
            dup
            aload 8 /* mappingProfile */
            invokevirtual org.hibernate.mapping.FetchProfile.getName:()Ljava/lang/String;
            invokespecial org.hibernate.engine.profile.FetchProfile.<init>:(Ljava/lang/String;)V
            astore 10 /* fetchProfile */
        start local 10 // org.hibernate.engine.profile.FetchProfile fetchProfile
        92: .line 343
            aload 8 /* mappingProfile */
            invokevirtual org.hibernate.mapping.FetchProfile.getFetches:()Ljava/util/LinkedHashSet;
            invokevirtual java.util.LinkedHashSet.iterator:()Ljava/util/Iterator;
            astore 12
            goto 111
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver org.hibernate.mapping.FetchProfile java.util.Iterator org.hibernate.engine.profile.FetchProfile top java.util.Iterator
      StackMap stack:
        93: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.FetchProfile$Fetch
            astore 11 /* mappingFetch */
        start local 11 // org.hibernate.mapping.FetchProfile$Fetch mappingFetch
        94: .line 345
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.metamodel:Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 11 /* mappingFetch */
            invokevirtual org.hibernate.mapping.FetchProfile$Fetch.getEntity:()Ljava/lang/String;
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.getImportedClassName:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* entityName */
        start local 13 // java.lang.String entityName
        95: .line 346
            aload 13 /* entityName */
            ifnonnull 97
        96: .line 347
            aconst_null
            goto 98
        97: .line 348
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver org.hibernate.mapping.FetchProfile java.util.Iterator 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.metamodel:Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 13 /* entityName */
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.entityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
        98: .line 346
      StackMap locals:
      StackMap stack: org.hibernate.persister.entity.EntityPersister
            astore 14 /* owner */
        start local 14 // org.hibernate.persister.entity.EntityPersister owner
        99: .line 349
            aload 14 /* owner */
            ifnonnull 105
       100: .line 350
            new org.hibernate.HibernateException
            dup
       101: .line 351
            new java.lang.StringBuilder
            dup
            ldc "Unable to resolve entity reference ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* mappingFetch */
            invokevirtual org.hibernate.mapping.FetchProfile$Fetch.getEntity:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       102: .line 352
            ldc "] in fetch profile ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* 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;
       103: .line 351
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       104: .line 350
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
       105: .line 357
      StackMap locals: org.hibernate.persister.entity.EntityPersister
      StackMap stack:
            aload 14 /* owner */
            aload 11 /* 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 15 /* associationType */
        start local 15 // org.hibernate.type.Type associationType
       106: .line 358
            aload 15 /* associationType */
            ifnull 107
            aload 15 /* associationType */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifne 108
       107: .line 359
      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 10 /* 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
       108: .line 363
      StackMap locals:
      StackMap stack:
            aload 11 /* 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 16 /* fetchStyle */
        start local 16 // org.hibernate.engine.profile.Fetch$Style fetchStyle
       109: .line 366
            aload 10 /* fetchProfile */
            new org.hibernate.engine.profile.Association
            dup
            aload 14 /* owner */
            aload 11 /* 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 16 /* fetchStyle */
            invokevirtual org.hibernate.engine.profile.FetchProfile.addFetch:(Lorg/hibernate/engine/profile/Association;Lorg/hibernate/engine/profile/Fetch$Style;)V
       110: .line 367
            aload 14 /* owner */
            checkcast org.hibernate.persister.entity.Loadable
            aload 10 /* fetchProfile */
            invokevirtual org.hibernate.engine.profile.FetchProfile.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.persister.entity.Loadable.registerAffectingFetchProfile:(Ljava/lang/String;)V
        end local 16 // org.hibernate.engine.profile.Fetch$Style fetchStyle
        end local 15 // org.hibernate.type.Type associationType
        end local 14 // org.hibernate.persister.entity.EntityPersister owner
        end local 13 // java.lang.String entityName
        end local 11 // org.hibernate.mapping.FetchProfile$Fetch mappingFetch
       111: .line 343
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver org.hibernate.mapping.FetchProfile java.util.Iterator org.hibernate.engine.profile.FetchProfile top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 93
       112: .line 369
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.fetchProfiles:Ljava/util/Map;
            aload 10 /* fetchProfile */
            invokevirtual org.hibernate.engine.profile.FetchProfile.getName:()Ljava/lang/String;
            aload 10 /* fetchProfile */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // org.hibernate.engine.profile.FetchProfile fetchProfile
        end local 8 // org.hibernate.mapping.FetchProfile mappingProfile
       113: .line 341
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 90
       114: .line 372
            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
       115: .line 374
            getstatic org.hibernate.internal.SessionFactoryRegistry.INSTANCE:Lorg/hibernate/internal/SessionFactoryRegistry;
       116: .line 375
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getUuid:()Ljava/lang/String;
       117: .line 376
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
       118: .line 377
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isSessionFactoryNameAlsoJndiName:()Z
       119: .line 378
            aload 0 /* this */
       120: .line 379
            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
       121: .line 374
            invokevirtual org.hibernate.internal.SessionFactoryRegistry.addSessionFactory:(Ljava/lang/String;Ljava/lang/String;ZLorg/hibernate/SessionFactory;Lorg/hibernate/engine/jndi/spi/JndiService;)V
       122: .line 381
            goto 131
       123: .line 382
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
       124: .line 383
            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 10
            goto 128
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver java.lang.Exception top java.util.Iterator
      StackMap stack:
       125: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.integrator.spi.Integrator
            astore 9 /* integrator */
        start local 9 // org.hibernate.integrator.spi.Integrator integrator
       126: .line 384
            aload 9 /* integrator */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            invokeinterface org.hibernate.integrator.spi.Integrator.disintegrate:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;)V
       127: .line 385
            aload 7 /* integratorObserver */
            getfield org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver.integrators:Ljava/util/ArrayList;
            aload 9 /* integrator */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.hibernate.integrator.spi.Integrator integrator
       128: .line 383
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 125
       129: .line 387
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.close:()V
       130: .line 388
            aload 8 /* e */
            athrow
        end local 8 // java.lang.Exception e
       131: .line 390
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.BootstrapContext org.hibernate.boot.spi.MetadataImplementor org.hibernate.boot.spi.SessionFactoryOptions org.hibernate.boot.cfgxml.spi.CfgXmlAccessService java.lang.String org.hibernate.engine.jdbc.spi.JdbcServices org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver
      StackMap stack:
            return
        end local 7 // org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver integratorObserver
        end local 6 // org.hibernate.engine.jdbc.spi.JdbcServices jdbcServices
        end local 5 // java.lang.String sfName
        end local 4 // org.hibernate.boot.cfgxml.spi.CfgXmlAccessService cfgXmlAccessService
        end local 3 // org.hibernate.boot.spi.SessionFactoryOptions options
        end local 2 // org.hibernate.boot.spi.MetadataImplementor metadata
        end local 1 // org.hibernate.boot.spi.BootstrapContext bootstrapContext
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0  132     0                    this  Lorg/hibernate/internal/SessionFactoryImpl;
            0  132     1        bootstrapContext  Lorg/hibernate/boot/spi/BootstrapContext;
            0  132     2                metadata  Lorg/hibernate/boot/spi/MetadataImplementor;
            0  132     3                 options  Lorg/hibernate/boot/spi/SessionFactoryOptions;
           12  132     4     cfgXmlAccessService  Lorg/hibernate/boot/cfgxml/spi/CfgXmlAccessService;
           13  132     5                  sfName  Ljava/lang/String;
           20  132     6            jdbcServices  Lorg/hibernate/engine/jdbc/spi/JdbcServices;
           36   37     7  sessionFactoryObserver  Lorg/hibernate/SessionFactoryObserver;
           46  132     7      integratorObserver  Lorg/hibernate/internal/SessionFactoryImpl$1IntegratorObserver;
           49   51     8              integrator  Lorg/hibernate/integrator/spi/Integrator;
           75   88     8                  errors  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/HibernateException;>;
           77   88     9          failingQueries  Ljava/lang/StringBuilder;
           78   88    10               separator  Ljava/lang/String;
           80   86    11                   entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/hibernate/HibernateException;>;
           91  113     8          mappingProfile  Lorg/hibernate/mapping/FetchProfile;
           92  113    10            fetchProfile  Lorg/hibernate/engine/profile/FetchProfile;
           94  111    11            mappingFetch  Lorg/hibernate/mapping/FetchProfile$Fetch;
           95  111    13              entityName  Ljava/lang/String;
           99  111    14                   owner  Lorg/hibernate/persister/entity/EntityPersister;
          106  111    15         associationType  Lorg/hibernate/type/Type;
          109  111    16              fetchStyle  Lorg/hibernate/engine/profile/Fetch$Style;
          124  131     8                       e  Ljava/lang/Exception;
          126  128     9              integrator  Lorg/hibernate/integrator/spi/Integrator;
      Exception table:
        from    to  target  type
          47   122     123  Class java.lang.Exception
    MethodParameters:
                  Name  Flags
      bootstrapContext  final
      metadata          final
      options           

  private void prepareEventListeners(org.hibernate.boot.spi.MetadataImplementor);
    descriptor: (Lorg/hibernate/boot/spi/MetadataImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=15, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.boot.spi.MetadataImplementor metadata
         0: .line 393
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            ldc Lorg/hibernate/event/service/spi/EventListenerRegistry;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.event.service.spi.EventListenerRegistry
            astore 2 /* eventListenerRegistry */
        start local 2 // org.hibernate.event.service.spi.EventListenerRegistry eventListenerRegistry
         1: .line 394
            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
            astore 3 /* cfgService */
        start local 3 // org.hibernate.engine.config.spi.ConfigurationService cfgService
         2: .line 395
            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
            astore 4 /* classLoaderService */
        start local 4 // org.hibernate.boot.registry.classloading.spi.ClassLoaderService classLoaderService
         3: .line 397
            aload 2 /* eventListenerRegistry */
            aload 1 /* metadata */
            invokeinterface org.hibernate.event.service.spi.EventListenerRegistry.prepare:(Lorg/hibernate/boot/spi/MetadataImplementor;)V
         4: .line 399
            aload 3 /* cfgService */
            invokeinterface org.hibernate.engine.config.spi.ConfigurationService.getSettings:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 21
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.MetadataImplementor org.hibernate.event.service.spi.EventListenerRegistry org.hibernate.engine.config.spi.ConfigurationService org.hibernate.boot.registry.classloading.spi.ClassLoaderService top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         6: .line 400
            ldc Ljava/lang/String;
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 401
            goto 21
         8: .line 403
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.MetadataImplementor org.hibernate.event.service.spi.EventListenerRegistry org.hibernate.engine.config.spi.ConfigurationService org.hibernate.boot.registry.classloading.spi.ClassLoaderService java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* propertyName */
        start local 7 // java.lang.String propertyName
         9: .line 404
            aload 7 /* propertyName */
            ldc "hibernate.ejb.event"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 11
        10: .line 405
            goto 21
        11: .line 407
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* propertyName */
        12: .line 408
            ldc "hibernate.ejb.event"
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
        13: .line 407
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 8 /* eventTypeName */
        start local 8 // java.lang.String eventTypeName
        14: .line 410
            aload 8 /* eventTypeName */
            invokestatic org.hibernate.event.spi.EventType.resolveEventTypeByName:(Ljava/lang/String;)Lorg/hibernate/event/spi/EventType;
            astore 9 /* eventType */
        start local 9 // org.hibernate.event.spi.EventType eventType
        15: .line 411
            aload 2 /* eventListenerRegistry */
            aload 9 /* eventType */
            invokeinterface org.hibernate.event.service.spi.EventListenerRegistry.getEventListenerGroup:(Lorg/hibernate/event/spi/EventType;)Lorg/hibernate/event/service/spi/EventListenerGroup;
            astore 10 /* eventListenerGroup */
        start local 10 // org.hibernate.event.service.spi.EventListenerGroup eventListenerGroup
        16: .line 412
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc " ,"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 20
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.MetadataImplementor org.hibernate.event.service.spi.EventListenerRegistry org.hibernate.engine.config.spi.ConfigurationService org.hibernate.boot.registry.classloading.spi.ClassLoaderService java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String org.hibernate.event.spi.EventType org.hibernate.event.service.spi.EventListenerGroup top int int java.lang.String[]
      StackMap stack:
        17: aload 14
            iload 12
            aaload
            astore 11 /* listenerImpl */
        start local 11 // java.lang.String listenerImpl
        18: .line 413
            aload 10 /* eventListenerGroup */
            aload 0 /* this */
            aload 11 /* listenerImpl */
            aload 4 /* classLoaderService */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.instantiate:(Ljava/lang/String;Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;)Ljava/lang/Object;
            invokeinterface org.hibernate.event.service.spi.EventListenerGroup.appendListener:(Ljava/lang/Object;)V
        end local 11 // java.lang.String listenerImpl
        19: .line 412
            iinc 12 1
      StackMap locals:
      StackMap stack:
        20: iload 12
            iload 13
            if_icmplt 17
        end local 10 // org.hibernate.event.service.spi.EventListenerGroup eventListenerGroup
        end local 9 // org.hibernate.event.spi.EventType eventType
        end local 8 // java.lang.String eventTypeName
        end local 7 // java.lang.String propertyName
        end local 5 // java.util.Map$Entry entry
        21: .line 399
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.spi.MetadataImplementor org.hibernate.event.service.spi.EventListenerRegistry org.hibernate.engine.config.spi.ConfigurationService org.hibernate.boot.registry.classloading.spi.ClassLoaderService top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        22: .line 416
            return
        end local 4 // org.hibernate.boot.registry.classloading.spi.ClassLoaderService classLoaderService
        end local 3 // org.hibernate.engine.config.spi.ConfigurationService cfgService
        end local 2 // org.hibernate.event.service.spi.EventListenerRegistry eventListenerRegistry
        end local 1 // org.hibernate.boot.spi.MetadataImplementor metadata
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   23     0                   this  Lorg/hibernate/internal/SessionFactoryImpl;
            0   23     1               metadata  Lorg/hibernate/boot/spi/MetadataImplementor;
            1   23     2  eventListenerRegistry  Lorg/hibernate/event/service/spi/EventListenerRegistry;
            2   23     3             cfgService  Lorg/hibernate/engine/config/spi/ConfigurationService;
            3   23     4     classLoaderService  Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            6   21     5                  entry  Ljava/util/Map$Entry;
            9   21     7           propertyName  Ljava/lang/String;
           14   21     8          eventTypeName  Ljava/lang/String;
           15   21     9              eventType  Lorg/hibernate/event/spi/EventType;
           16   21    10     eventListenerGroup  Lorg/hibernate/event/service/spi/EventListenerGroup;
           18   19    11           listenerImpl  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      metadata  

  private java.lang.Object instantiate(java.lang.String, org.hibernate.boot.registry.classloading.spi.ClassLoaderService);
    descriptor: (Ljava/lang/String;Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String listenerImpl
        start local 2 // org.hibernate.boot.registry.classloading.spi.ClassLoaderService classLoaderService
         0: .line 420
            aload 2 /* classLoaderService */
            aload 1 /* listenerImpl */
            invokeinterface org.hibernate.boot.registry.classloading.spi.ClassLoaderService.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
         1: areturn
         2: .line 422
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         3: .line 423
            new org.hibernate.HibernateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not instantiate requested listener ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* listenerImpl */
            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;
            aload 3 /* e */
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        end local 2 // org.hibernate.boot.registry.classloading.spi.ClassLoaderService classLoaderService
        end local 1 // java.lang.String listenerImpl
        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        listenerImpl  Ljava/lang/String;
            0    4     2  classLoaderService  Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
            3    4     3                   e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
                    Name  Flags
      listenerImpl        
      classLoaderService  

  private void applyCfgXmlValues(org.hibernate.boot.cfgxml.spi.LoadedConfig, org.hibernate.service.spi.SessionFactoryServiceRegistry);
    descriptor: (Lorg/hibernate/boot/cfgxml/spi/LoadedConfig;Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.boot.cfgxml.spi.LoadedConfig aggregatedConfig
        start local 2 // org.hibernate.service.spi.SessionFactoryServiceRegistry serviceRegistry
         0: .line 428
            aload 2 /* serviceRegistry */
            ldc Lorg/hibernate/secure/spi/JaccService;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.secure.spi.JaccService
            astore 3 /* jaccService */
        start local 3 // org.hibernate.secure.spi.JaccService jaccService
         1: .line 429
            aload 3 /* jaccService */
            invokeinterface org.hibernate.secure.spi.JaccService.getContextId:()Ljava/lang/String;
            ifnull 8
         2: .line 430
            aload 1 /* aggregatedConfig */
            aload 3 /* jaccService */
            invokeinterface org.hibernate.secure.spi.JaccService.getContextId:()Ljava/lang/String;
            invokevirtual org.hibernate.boot.cfgxml.spi.LoadedConfig.getJaccPermissions:(Ljava/lang/String;)Lorg/hibernate/secure/spi/JaccPermissionDeclarations;
            astore 4 /* permissions */
        start local 4 // org.hibernate.secure.spi.JaccPermissionDeclarations permissions
         3: .line 431
            aload 4 /* permissions */
            ifnull 8
         4: .line 432
            aload 4 /* permissions */
            invokevirtual org.hibernate.secure.spi.JaccPermissionDeclarations.getPermissionDeclarations:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.cfgxml.spi.LoadedConfig org.hibernate.service.spi.SessionFactoryServiceRegistry org.hibernate.secure.spi.JaccService org.hibernate.secure.spi.JaccPermissionDeclarations top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.secure.spi.GrantedPermission
            astore 5 /* grantedPermission */
        start local 5 // org.hibernate.secure.spi.GrantedPermission grantedPermission
         6: .line 433
            aload 3 /* jaccService */
            aload 5 /* grantedPermission */
            invokeinterface org.hibernate.secure.spi.JaccService.addPermission:(Lorg/hibernate/secure/spi/GrantedPermission;)V
        end local 5 // org.hibernate.secure.spi.GrantedPermission grantedPermission
         7: .line 432
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 4 // org.hibernate.secure.spi.JaccPermissionDeclarations permissions
         8: .line 438
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.cfgxml.spi.LoadedConfig org.hibernate.service.spi.SessionFactoryServiceRegistry org.hibernate.secure.spi.JaccService
      StackMap stack:
            aload 1 /* aggregatedConfig */
            invokevirtual org.hibernate.boot.cfgxml.spi.LoadedConfig.getEventListenerMap:()Ljava/util/Map;
            ifnull 22
         9: .line 439
            aload 2 /* serviceRegistry */
            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
            astore 4 /* cls */
        start local 4 // org.hibernate.boot.registry.classloading.spi.ClassLoaderService cls
        10: .line 440
            aload 2 /* serviceRegistry */
            ldc Lorg/hibernate/event/service/spi/EventListenerRegistry;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.event.service.spi.EventListenerRegistry
            astore 5 /* eventListenerRegistry */
        start local 5 // org.hibernate.event.service.spi.EventListenerRegistry eventListenerRegistry
        11: .line 441
            aload 1 /* aggregatedConfig */
            invokevirtual org.hibernate.boot.cfgxml.spi.LoadedConfig.getEventListenerMap:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 21
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.cfgxml.spi.LoadedConfig org.hibernate.service.spi.SessionFactoryServiceRegistry org.hibernate.secure.spi.JaccService org.hibernate.boot.registry.classloading.spi.ClassLoaderService org.hibernate.event.service.spi.EventListenerRegistry top java.util.Iterator
      StackMap stack:
        12: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        13: .line 442
            aload 5 /* eventListenerRegistry */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.hibernate.event.spi.EventType
            invokeinterface org.hibernate.event.service.spi.EventListenerRegistry.getEventListenerGroup:(Lorg/hibernate/event/spi/EventType;)Lorg/hibernate/event/service/spi/EventListenerGroup;
            astore 8 /* group */
        start local 8 // org.hibernate.event.service.spi.EventListenerGroup group
        14: .line 443
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 20
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.cfgxml.spi.LoadedConfig org.hibernate.service.spi.SessionFactoryServiceRegistry org.hibernate.secure.spi.JaccService org.hibernate.boot.registry.classloading.spi.ClassLoaderService org.hibernate.event.service.spi.EventListenerRegistry java.util.Map$Entry java.util.Iterator org.hibernate.event.service.spi.EventListenerGroup top java.util.Iterator
      StackMap stack:
        15: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* listenerClassName */
        start local 9 // java.lang.String listenerClassName
        16: .line 445
            aload 8 /* group */
            aload 4 /* cls */
            aload 9 /* listenerClassName */
            invokeinterface org.hibernate.boot.registry.classloading.spi.ClassLoaderService.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            invokeinterface org.hibernate.event.service.spi.EventListenerGroup.appendListener:(Ljava/lang/Object;)V
        17: .line 446
            goto 20
        18: .line 447
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.cfgxml.spi.LoadedConfig org.hibernate.service.spi.SessionFactoryServiceRegistry org.hibernate.secure.spi.JaccService org.hibernate.boot.registry.classloading.spi.ClassLoaderService org.hibernate.event.service.spi.EventListenerRegistry java.util.Map$Entry java.util.Iterator org.hibernate.event.service.spi.EventListenerGroup java.lang.String java.util.Iterator
      StackMap stack: java.lang.Exception
            astore 11 /* e */
        start local 11 // java.lang.Exception e
        19: .line 448
            new org.hibernate.internal.util.config.ConfigurationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to instantiate event listener class : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* listenerClassName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 11 /* e */
            invokespecial org.hibernate.internal.util.config.ConfigurationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 11 // java.lang.Exception e
        end local 9 // java.lang.String listenerClassName
        20: .line 443
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.cfgxml.spi.LoadedConfig org.hibernate.service.spi.SessionFactoryServiceRegistry org.hibernate.secure.spi.JaccService org.hibernate.boot.registry.classloading.spi.ClassLoaderService org.hibernate.event.service.spi.EventListenerRegistry java.util.Map$Entry java.util.Iterator org.hibernate.event.service.spi.EventListenerGroup top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 8 // org.hibernate.event.service.spi.EventListenerGroup group
        end local 6 // java.util.Map$Entry entry
        21: .line 441
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.cfgxml.spi.LoadedConfig org.hibernate.service.spi.SessionFactoryServiceRegistry org.hibernate.secure.spi.JaccService org.hibernate.boot.registry.classloading.spi.ClassLoaderService org.hibernate.event.service.spi.EventListenerRegistry top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 5 // org.hibernate.event.service.spi.EventListenerRegistry eventListenerRegistry
        end local 4 // org.hibernate.boot.registry.classloading.spi.ClassLoaderService cls
        22: .line 453
      StackMap locals: org.hibernate.internal.SessionFactoryImpl org.hibernate.boot.cfgxml.spi.LoadedConfig org.hibernate.service.spi.SessionFactoryServiceRegistry org.hibernate.secure.spi.JaccService
      StackMap stack:
            return
        end local 3 // org.hibernate.secure.spi.JaccService jaccService
        end local 2 // org.hibernate.service.spi.SessionFactoryServiceRegistry serviceRegistry
        end local 1 // org.hibernate.boot.cfgxml.spi.LoadedConfig aggregatedConfig
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   23     0                   this  Lorg/hibernate/internal/SessionFactoryImpl;
            0   23     1       aggregatedConfig  Lorg/hibernate/boot/cfgxml/spi/LoadedConfig;
            0   23     2        serviceRegistry  Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            1   23     3            jaccService  Lorg/hibernate/secure/spi/JaccService;
            3    8     4            permissions  Lorg/hibernate/secure/spi/JaccPermissionDeclarations;
            6    7     5      grantedPermission  Lorg/hibernate/secure/spi/GrantedPermission;
           10   22     4                    cls  Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService;
           11   22     5  eventListenerRegistry  Lorg/hibernate/event/service/spi/EventListenerRegistry;
           13   21     6                  entry  Ljava/util/Map$Entry<Lorg/hibernate/event/spi/EventType;Ljava/util/Set<Ljava/lang/String;>;>;
           14   21     8                  group  Lorg/hibernate/event/service/spi/EventListenerGroup;
           16   20     9      listenerClassName  Ljava/lang/String;
           19   20    11                      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          16    17      18  Class java.lang.Exception
    MethodParameters:
                  Name  Flags
      aggregatedConfig  
      serviceRegistry   

  private org.hibernate.engine.jdbc.connections.spi.JdbcConnectionAccess buildLocalConnectionAccess();
    descriptor: ()Lorg/hibernate/engine/jdbc/connections/spi/JdbcConnectionAccess;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 456
            new org.hibernate.internal.SessionFactoryImpl$1
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.SessionFactoryImpl$1.<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.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 482
            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 486
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.withOptions:()Lorg/hibernate/engine/spi/SessionBuilderImplementor;
         1: .line 487
            iconst_0
            invokeinterface org.hibernate.engine.spi.SessionBuilderImplementor.autoClose:(Z)Lorg/hibernate/SessionBuilder;
         2: .line 488
            getstatic org.hibernate.FlushMode.MANUAL:Lorg/hibernate/FlushMode;
            invokeinterface org.hibernate.SessionBuilder.flushMode:(Lorg/hibernate/FlushMode;)Lorg/hibernate/SessionBuilder;
         3: .line 489
            getstatic org.hibernate.resource.jdbc.spi.PhysicalConnectionHandlingMode.DELAYED_ACQUISITION_AND_RELEASE_AFTER_STATEMENT:Lorg/hibernate/resource/jdbc/spi/PhysicalConnectionHandlingMode;
            invokeinterface org.hibernate.SessionBuilder.connectionHandlingMode:(Lorg/hibernate/resource/jdbc/spi/PhysicalConnectionHandlingMode;)Lorg/hibernate/SessionBuilder;
         4: .line 490
            invokeinterface org.hibernate.SessionBuilder.openSession:()Lorg/hibernate/Session;
         5: .line 486
            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 494
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.currentSessionContext:Lorg/hibernate/context/spi/CurrentSessionContext;
            ifnonnull 2
         1: .line 495
            new org.hibernate.HibernateException
            dup
            ldc "No CurrentSessionContext configured!"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 497
      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 502
            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 507
            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 511
            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 515
            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 520
            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 521
            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 java.util.Map<java.lang.String, java.lang.Object> getProperties();
    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 525
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.validateNotClosed:()V
         1: .line 526
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  protected void validateNotClosed();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 530
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.isClosed:Z
            ifeq 2
         1: .line 531
            new java.lang.IllegalStateException
            dup
            ldc "EntityManagerFactory is closed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 533
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public java.lang.String getUuid();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 537
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.uuid:Ljava/lang/String;
            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.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 542
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
            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=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 547
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.jdbcServices:Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            ifnonnull 2
         1: .line 548
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            ldc Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.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;
         2: .line 550
      StackMap locals:
      StackMap stack:
            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    3     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 554
            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 566
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.metamodel:Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.getTypeConfiguration:()Lorg/hibernate/type/spi/TypeConfiguration;
            invokevirtual org.hibernate.type.spi.TypeConfiguration.getTypeResolver:()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;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  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 570
            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 574
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/query/spi/NamedQueryRepository;
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.queryPlanCache:Lorg/hibernate/engine/query/spi/QueryPlanCache;
            invokevirtual org.hibernate.query.spi.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.engine.spi.SessionFactoryImplementor$DeserializationResolver getDeserializationResolver();
    descriptor: ()Lorg/hibernate/engine/spi/SessionFactoryImplementor$DeserializationResolver;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 579
            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;

  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 592
            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 <T> java.util.List<javax.persistence.EntityGraph<? super T>> findEntityGraphsByType(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.Class entityClass
         0: .line 597
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 1 /* entityClass */
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.findEntityGraphsByType:(Ljava/lang/Class;)Ljava/util/List;
            areturn
        end local 1 // java.lang.Class entityClass
        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  entityClass  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Ljava/util/List<Ljavax/persistence/EntityGraph<-TT;>;>;
    MethodParameters:
             Name  Flags
      entityClass  

  public org.hibernate.Session createEntityManager();
    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 613
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.validateNotClosed:()V
         1: .line 614
            aload 0 /* this */
            getstatic javax.persistence.SynchronizationType.SYNCHRONIZED:Ljavax/persistence/SynchronizationType;
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.buildEntityManager:(Ljavax/persistence/SynchronizationType;Ljava/util/Map;)Lorg/hibernate/Session;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  private org.hibernate.Session buildEntityManager(javax.persistence.SynchronizationType, java.util.Map);
    descriptor: (Ljavax/persistence/SynchronizationType;Ljava/util/Map;)Lorg/hibernate/Session;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // javax.persistence.SynchronizationType synchronizationType
        start local 2 // java.util.Map map
         0: .line 618
            getstatic org.hibernate.internal.SessionFactoryImpl.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.isClosed:Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.withOptions:()Lorg/hibernate/engine/spi/SessionBuilderImplementor;
            astore 3 /* builder */
        start local 3 // org.hibernate.engine.spi.SessionBuilderImplementor builder
         2: .line 621
            aload 1 /* synchronizationType */
            getstatic javax.persistence.SynchronizationType.SYNCHRONIZED:Ljavax/persistence/SynchronizationType;
            if_acmpne 5
         3: .line 622
            aload 3 /* builder */
            iconst_1
            invokeinterface org.hibernate.engine.spi.SessionBuilderImplementor.autoJoinTransactions:(Z)Lorg/hibernate/SessionBuilder;
            pop
         4: .line 623
            goto 6
         5: .line 625
      StackMap locals: org.hibernate.engine.spi.SessionBuilderImplementor
      StackMap stack:
            aload 3 /* builder */
            iconst_0
            invokeinterface org.hibernate.engine.spi.SessionBuilderImplementor.autoJoinTransactions:(Z)Lorg/hibernate/SessionBuilder;
            pop
         6: .line 628
      StackMap locals:
      StackMap stack:
            aload 3 /* builder */
            invokeinterface org.hibernate.engine.spi.SessionBuilderImplementor.openSession:()Lorg/hibernate/Session;
            astore 4 /* session */
        start local 4 // org.hibernate.Session session
         7: .line 629
            aload 2 /* map */
            ifnull 9
         8: .line 630
            aload 2 /* map */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aload 4 /* session */
            aload 2 /* map */
            invokedynamic accept(Lorg/hibernate/Session;Ljava/util/Map;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/hibernate/internal/SessionFactoryImpl.lambda$3(Lorg/hibernate/Session;Ljava/util/Map;Ljava/lang/Object;)V (6)
                  (Ljava/lang/Object;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
         9: .line 636
      StackMap locals: org.hibernate.Session
      StackMap stack:
            aload 4 /* session */
            areturn
        end local 4 // org.hibernate.Session session
        end local 3 // org.hibernate.engine.spi.SessionBuilderImplementor builder
        end local 2 // java.util.Map map
        end local 1 // javax.persistence.SynchronizationType synchronizationType
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Lorg/hibernate/internal/SessionFactoryImpl;
            0   10     1  synchronizationType  Ljavax/persistence/SynchronizationType;
            0   10     2                  map  Ljava/util/Map;
            2   10     3              builder  Lorg/hibernate/engine/spi/SessionBuilderImplementor;
            7   10     4              session  Lorg/hibernate/Session;
    MethodParameters:
                     Name  Flags
      synchronizationType  
      map                  

  public org.hibernate.Session createEntityManager(java.util.Map);
    descriptor: (Ljava/util/Map;)Lorg/hibernate/Session;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.util.Map map
         0: .line 641
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.validateNotClosed:()V
         1: .line 642
            aload 0 /* this */
            getstatic javax.persistence.SynchronizationType.SYNCHRONIZED:Ljavax/persistence/SynchronizationType;
            aload 1 /* map */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.buildEntityManager:(Ljavax/persistence/SynchronizationType;Ljava/util/Map;)Lorg/hibernate/Session;
            areturn
        end local 1 // java.util.Map map
        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   map  Ljava/util/Map;
    MethodParameters:
      Name  Flags
      map   

  public org.hibernate.Session createEntityManager(javax.persistence.SynchronizationType);
    descriptor: (Ljavax/persistence/SynchronizationType;)Lorg/hibernate/Session;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // javax.persistence.SynchronizationType synchronizationType
         0: .line 647
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.validateNotClosed:()V
         1: .line 648
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.errorIfResourceLocalDueToExplicitSynchronizationType:()V
         2: .line 649
            aload 0 /* this */
            aload 1 /* synchronizationType */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.buildEntityManager:(Ljavax/persistence/SynchronizationType;Ljava/util/Map;)Lorg/hibernate/Session;
            areturn
        end local 1 // javax.persistence.SynchronizationType synchronizationType
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    3     1  synchronizationType  Ljavax/persistence/SynchronizationType;
    MethodParameters:
                     Name  Flags
      synchronizationType  

  private void errorIfResourceLocalDueToExplicitSynchronizationType();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 656
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
            ldc Lorg/hibernate/resource/transaction/spi/TransactionCoordinatorBuilder;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder.isJta:()Z
            ifne 4
         1: .line 657
            new java.lang.IllegalStateException
            dup
         2: .line 658
            ldc "Illegal attempt to specify a SynchronizationType when building an EntityManager from a EntityManagerFactory defined as RESOURCE_LOCAL (as opposed to JTA)"
         3: .line 657
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 662
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.Session createEntityManager(javax.persistence.SynchronizationType, java.util.Map);
    descriptor: (Ljavax/persistence/SynchronizationType;Ljava/util/Map;)Lorg/hibernate/Session;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // javax.persistence.SynchronizationType synchronizationType
        start local 2 // java.util.Map map
         0: .line 666
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.validateNotClosed:()V
         1: .line 667
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.errorIfResourceLocalDueToExplicitSynchronizationType:()V
         2: .line 668
            aload 0 /* this */
            aload 1 /* synchronizationType */
            aload 2 /* map */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.buildEntityManager:(Ljavax/persistence/SynchronizationType;Ljava/util/Map;)Lorg/hibernate/Session;
            areturn
        end local 2 // java.util.Map map
        end local 1 // javax.persistence.SynchronizationType synchronizationType
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    3     1  synchronizationType  Ljavax/persistence/SynchronizationType;
            0    3     2                  map  Ljava/util/Map;
    MethodParameters:
                     Name  Flags
      synchronizationType  
      map                  

  public javax.persistence.criteria.CriteriaBuilder getCriteriaBuilder();
    descriptor: ()Ljavax/persistence/criteria/CriteriaBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 673
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.validateNotClosed:()V
         1: .line 674
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.criteriaBuilder:Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public org.hibernate.metamodel.spi.MetamodelImplementor getMetamodel();
    descriptor: ()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 679
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.validateNotClosed:()V
         1: .line 680
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.metamodel:Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 685
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.isClosed:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public javax.persistence.EntityGraph findEntityGraphByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/persistence/EntityGraph;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String name
         0: .line 690
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 1 /* name */
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.findEntityGraphByName:(Ljava/lang/String;)Ljavax/persistence/EntityGraph;
            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.boot.spi.SessionFactoryOptions getSessionFactoryOptions();
    descriptor: ()Lorg/hibernate/boot/spi/SessionFactoryOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 695
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.sessionFactoryOptions:Lorg/hibernate/boot/spi/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.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 699
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.sessionFactoryOptions:Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.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 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 705
            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 706
            new javax.naming.Reference
            dup
         2: .line 707
            ldc Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         3: .line 708
            new javax.naming.StringRefAddr
            dup
            ldc "uuid"
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getUuid:()Ljava/lang/String;
            invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 709
            ldc Lorg/hibernate/internal/SessionFactoryRegistry$ObjectFactoryImpl;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         5: .line 710
            aconst_null
         6: .line 706
            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.query.spi.NamedQueryRepository getNamedQueryRepository();
    descriptor: ()Lorg/hibernate/query/spi/NamedQueryRepository;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 716
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.namedQueryRepository:Lorg/hibernate/query/spi/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 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 721
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 1 /* className */
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.entityPersister:(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 724
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 1 /* className */
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.entityPersister:(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 728
            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 729
            invokevirtual org.hibernate.engine.query.spi.HQLQueryPlan.getReturnMetadata:()Lorg/hibernate/engine/query/spi/ReturnMetadata;
         2: .line 728
            astore 2 /* metadata */
        start local 2 // org.hibernate.engine.query.spi.ReturnMetadata metadata
         3: .line 730
            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 734
            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 735
            invokevirtual org.hibernate.engine.query.spi.HQLQueryPlan.getReturnMetadata:()Lorg/hibernate/engine/query/spi/ReturnMetadata;
         2: .line 734
            astore 2 /* metadata */
        start local 2 // org.hibernate.engine.query.spi.ReturnMetadata metadata
         3: .line 736
            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 740
            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 744
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 1 /* roleName */
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.collectionPersister:(Ljava/lang/String;)Lorg/hibernate/persister/collection/CollectionPersister;
            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 748
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 1 /* entityName */
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.entityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            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.util.Map<java.lang.String, org.hibernate.metadata.ClassMetadata> getAllClassMetadata();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 753
            new java.lang.UnsupportedOperationException
            dup
            ldc "org.hibernate.SessionFactory.getAllClassMetadata is no longer supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        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=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 757
            new java.lang.UnsupportedOperationException
            dup
            ldc "org.hibernate.SessionFactory.getAllCollectionMetadata is no longer supported"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        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 762
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 1 /* className */
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.entityPersister:(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 void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 782
            invokestatic org.hibernate.cfg.Environment.getBytecodeProvider:()Lorg/hibernate/bytecode/spi/BytecodeProvider;
            invokeinterface org.hibernate.bytecode.spi.BytecodeProvider.resetCaches:()V
         1: .line 783
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.isClosed:Z
            ifeq 6
         2: .line 784
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getJpaCompliance:()Lorg/hibernate/jpa/spi/JpaCompliance;
            invokeinterface org.hibernate.jpa.spi.JpaCompliance.isJpaClosedComplianceEnabled:()Z
            ifeq 4
         3: .line 785
            new java.lang.IllegalStateException
            dup
            ldc "EntityManagerFactory is already closed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 788
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Already closed"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         5: .line 789
            return
         6: .line 792
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.closing:()V
         7: .line 793
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.observer:Lorg/hibernate/internal/SessionFactoryObserverChain;
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryClosing:(Lorg/hibernate/SessionFactory;)V
         8: .line 795
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.internal.SessionFactoryImpl.isClosed:Z
         9: .line 797
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getMultiTableBulkIdStrategy:()Lorg/hibernate/hql/spi/id/MultiTableBulkIdStrategy;
            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
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.buildLocalConnectionAccess:()Lorg/hibernate/engine/jdbc/connections/spi/JdbcConnectionAccess;
            invokeinterface org.hibernate.hql.spi.id.MultiTableBulkIdStrategy.release:(Lorg/hibernate/engine/jdbc/spi/JdbcServices;Lorg/hibernate/engine/jdbc/connections/spi/JdbcConnectionAccess;)V
        10: .line 802
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/cache/spi/CacheImplementor;
            ifnull 12
        11: .line 803
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.cacheAccess:Lorg/hibernate/cache/spi/CacheImplementor;
            invokeinterface org.hibernate.cache.spi.CacheImplementor.close:()V
        12: .line 806
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.metamodel:Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            ifnull 14
        13: .line 807
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.metamodel:Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.close:()V
        14: .line 810
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.queryPlanCache:Lorg/hibernate/engine/query/spi/QueryPlanCache;
            ifnull 16
        15: .line 811
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.queryPlanCache:Lorg/hibernate/engine/query/spi/QueryPlanCache;
            invokevirtual org.hibernate.engine.query.spi.QueryPlanCache.cleanup:()V
        16: .line 814
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.delayedDropAction:Lorg/hibernate/tool/schema/spi/DelayedDropAction;
            ifnull 18
        17: .line 815
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.delayedDropAction:Lorg/hibernate/tool/schema/spi/DelayedDropAction;
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            invokeinterface org.hibernate.tool.schema.spi.DelayedDropAction.perform:(Lorg/hibernate/service/ServiceRegistry;)V
        18: .line 818
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.internal.SessionFactoryRegistry.INSTANCE:Lorg/hibernate/internal/SessionFactoryRegistry;
        19: .line 819
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getUuid:()Ljava/lang/String;
        20: .line 820
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
        21: .line 821
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isSessionFactoryNameAlsoJndiName:()Z
        22: .line 822
            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
        23: .line 818
            invokevirtual org.hibernate.internal.SessionFactoryRegistry.removeSessionFactory:(Ljava/lang/String;Ljava/lang/String;ZLorg/hibernate/engine/jndi/spi/JndiService;)V
        24: .line 825
            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
        25: .line 826
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.serviceRegistry:Lorg/hibernate/service/spi/SessionFactoryServiceRegistry;
            invokeinterface org.hibernate.service.spi.SessionFactoryServiceRegistry.destroy:()V
        26: .line 827
            return
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  this  Lorg/hibernate/internal/SessionFactoryImpl;
    Exceptions:
      throws org.hibernate.HibernateException

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

  public javax.persistence.PersistenceUnitUtil getPersistenceUnitUtil();
    descriptor: ()Ljavax/persistence/PersistenceUnitUtil;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 836
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.validateNotClosed:()V
         1: .line 837
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.jpaPersistenceUnitUtil:Ljavax/persistence/PersistenceUnitUtil;
            areturn
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/internal/SessionFactoryImpl;

  public void addNamedQuery(java.lang.String, javax.persistence.Query);
    descriptor: (Ljava/lang/String;Ljavax/persistence/Query;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String name
        start local 2 // javax.persistence.Query query
         0: .line 842
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.validateNotClosed:()V
         1: .line 849
            aload 2 /* query */
            ldc Lorg/hibernate/procedure/ProcedureCall;
            invokeinterface javax.persistence.Query.unwrap:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.hibernate.procedure.ProcedureCall
            astore 3 /* unwrapped */
        start local 3 // org.hibernate.procedure.ProcedureCall unwrapped
         2: .line 850
            aload 3 /* unwrapped */
            ifnull 6
         3: .line 851
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* unwrapped */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.addNamedStoredProcedureQuery:(Ljava/lang/String;Lorg/hibernate/procedure/ProcedureCall;)V
         4: .line 852
            return
        end local 3 // org.hibernate.procedure.ProcedureCall unwrapped
         5: .line 855
      StackMap locals:
      StackMap stack: javax.persistence.PersistenceException
            pop
         6: .line 861
      StackMap locals:
      StackMap stack:
            aload 2 /* query */
            ldc Lorg/hibernate/query/Query;
            invokeinterface javax.persistence.Query.unwrap:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.hibernate.query.Query
            astore 3 /* hibernateQuery */
        start local 3 // org.hibernate.query.Query hibernateQuery
         7: .line 862
            aload 3 /* hibernateQuery */
            ifnull 20
         8: .line 864
            ldc Lorg/hibernate/query/NativeQuery;
            aload 3 /* hibernateQuery */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 14
         9: .line 865
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getNamedQueryRepository:()Lorg/hibernate/query/spi/NamedQueryRepository;
        10: .line 866
            aload 1 /* name */
        11: .line 867
            aload 0 /* this */
            aload 3 /* hibernateQuery */
            checkcast org.hibernate.query.NativeQuery
            aload 1 /* name */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.extractSqlQueryDefinition:(Lorg/hibernate/query/NativeQuery;Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
        12: .line 865
            invokevirtual org.hibernate.query.spi.NamedQueryRepository.registerNamedSQLQueryDefinition:(Ljava/lang/String;Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;)V
        13: .line 869
            goto 18
        14: .line 871
      StackMap locals: org.hibernate.query.Query
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getNamedQueryRepository:()Lorg/hibernate/query/spi/NamedQueryRepository;
        15: .line 872
            aload 1 /* name */
        16: .line 873
            aload 0 /* this */
            aload 3 /* hibernateQuery */
            aload 1 /* name */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.extractHqlQueryDefinition:(Lorg/hibernate/query/Query;Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedQueryDefinition;
        17: .line 871
            invokevirtual org.hibernate.query.spi.NamedQueryRepository.registerNamedQueryDefinition:(Ljava/lang/String;Lorg/hibernate/engine/spi/NamedQueryDefinition;)V
        18: .line 876
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.query.Query hibernateQuery
        19: .line 879
      StackMap locals: org.hibernate.internal.SessionFactoryImpl java.lang.String javax.persistence.Query
      StackMap stack: javax.persistence.PersistenceException
            pop
        20: .line 884
      StackMap locals:
      StackMap stack:
            new javax.persistence.PersistenceException
            dup
        21: .line 886
            ldc "Unsure how to how to properly unwrap given Query [%s] as basis for named query"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        22: .line 887
            aload 2 /* query */
            aastore
        23: .line 885
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        24: .line 884
            invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // javax.persistence.Query query
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   25     0            this  Lorg/hibernate/internal/SessionFactoryImpl;
            0   25     1            name  Ljava/lang/String;
            0   25     2           query  Ljavax/persistence/Query;
            2    5     3       unwrapped  Lorg/hibernate/procedure/ProcedureCall;
            7   19     3  hibernateQuery  Lorg/hibernate/query/Query;
      Exception table:
        from    to  target  type
           1     4       5  Class javax.persistence.PersistenceException
           6    18      19  Class javax.persistence.PersistenceException
    MethodParameters:
       Name  Flags
      name   
      query  

  private void addNamedStoredProcedureQuery(java.lang.String, org.hibernate.procedure.ProcedureCall);
    descriptor: (Ljava/lang/String;Lorg/hibernate/procedure/ProcedureCall;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, 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.procedure.ProcedureCall procedureCall
         0: .line 893
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getNamedQueryRepository:()Lorg/hibernate/query/spi/NamedQueryRepository;
         1: .line 894
            aload 1 /* name */
         2: .line 895
            aload 2 /* procedureCall */
            aload 2 /* procedureCall */
            invokeinterface org.hibernate.procedure.ProcedureCall.getHints:()Ljava/util/Map;
            invokeinterface org.hibernate.procedure.ProcedureCall.extractMemento:(Ljava/util/Map;)Lorg/hibernate/procedure/ProcedureCallMemento;
         3: .line 893
            invokevirtual org.hibernate.query.spi.NamedQueryRepository.registerNamedProcedureCallMemento:(Ljava/lang/String;Lorg/hibernate/procedure/ProcedureCallMemento;)V
         4: .line 897
            return
        end local 2 // org.hibernate.procedure.ProcedureCall procedureCall
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    5     1           name  Ljava/lang/String;
            0    5     2  procedureCall  Lorg/hibernate/procedure/ProcedureCall;
    MethodParameters:
               Name  Flags
      name           
      procedureCall  

  private org.hibernate.engine.spi.NamedSQLQueryDefinition extractSqlQueryDefinition(org.hibernate.query.NativeQuery, java.lang.String);
    descriptor: (Lorg/hibernate/query/NativeQuery;Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.query.NativeQuery nativeSqlQuery
        start local 2 // java.lang.String name
         0: .line 900
            new org.hibernate.engine.spi.NamedSQLQueryDefinitionBuilder
            dup
            aload 2 /* name */
            invokespecial org.hibernate.engine.spi.NamedSQLQueryDefinitionBuilder.<init>:(Ljava/lang/String;)V
            astore 3 /* builder */
        start local 3 // org.hibernate.engine.spi.NamedSQLQueryDefinitionBuilder builder
         1: .line 901
            aload 0 /* this */
            aload 3 /* builder */
            aload 1 /* nativeSqlQuery */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.fillInNamedQueryBuilder:(Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;Lorg/hibernate/query/Query;)V
         2: .line 902
            aload 3 /* builder */
            aload 1 /* nativeSqlQuery */
            invokeinterface org.hibernate.query.NativeQuery.isCallable:()Z
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinitionBuilder.setCallable:(Z)Lorg/hibernate/engine/spi/NamedSQLQueryDefinitionBuilder;
         3: .line 903
            aload 1 /* nativeSqlQuery */
            invokeinterface org.hibernate.query.NativeQuery.getSynchronizedQuerySpaces:()Ljava/util/Collection;
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinitionBuilder.setQuerySpaces:(Ljava/util/Collection;)Lorg/hibernate/engine/spi/NamedSQLQueryDefinitionBuilder;
         4: .line 904
            aload 1 /* nativeSqlQuery */
            invokeinterface org.hibernate.query.NativeQuery.getQueryReturns:()Ljava/util/List;
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinitionBuilder.setQueryReturns:(Ljava/util/List;)Lorg/hibernate/engine/spi/NamedSQLQueryDefinitionBuilder;
            pop
         5: .line 905
            aload 3 /* builder */
            invokevirtual org.hibernate.engine.spi.NamedSQLQueryDefinitionBuilder.createNamedQueryDefinition:()Lorg/hibernate/engine/spi/NamedSQLQueryDefinition;
            areturn
        end local 3 // org.hibernate.engine.spi.NamedSQLQueryDefinitionBuilder builder
        end local 2 // java.lang.String name
        end local 1 // org.hibernate.query.NativeQuery nativeSqlQuery
        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  nativeSqlQuery  Lorg/hibernate/query/NativeQuery;
            0    6     2            name  Ljava/lang/String;
            1    6     3         builder  Lorg/hibernate/engine/spi/NamedSQLQueryDefinitionBuilder;
    MethodParameters:
                Name  Flags
      nativeSqlQuery  
      name            

  private org.hibernate.engine.spi.NamedQueryDefinition extractHqlQueryDefinition(org.hibernate.query.Query, java.lang.String);
    descriptor: (Lorg/hibernate/query/Query;Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedQueryDefinition;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.query.Query hqlQuery
        start local 2 // java.lang.String name
         0: .line 909
            new org.hibernate.engine.spi.NamedQueryDefinitionBuilder
            dup
            aload 2 /* name */
            invokespecial org.hibernate.engine.spi.NamedQueryDefinitionBuilder.<init>:(Ljava/lang/String;)V
            astore 3 /* builder */
        start local 3 // org.hibernate.engine.spi.NamedQueryDefinitionBuilder builder
         1: .line 910
            aload 0 /* this */
            aload 3 /* builder */
            aload 1 /* hqlQuery */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.fillInNamedQueryBuilder:(Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;Lorg/hibernate/query/Query;)V
         2: .line 912
            aload 3 /* builder */
            aload 1 /* hqlQuery */
            invokeinterface org.hibernate.query.Query.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.LockOptions.makeCopy:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setLockOptions:(Lorg/hibernate/LockOptions;)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
            pop
         3: .line 913
            aload 3 /* builder */
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.createNamedQueryDefinition:()Lorg/hibernate/engine/spi/NamedQueryDefinition;
            areturn
        end local 3 // org.hibernate.engine.spi.NamedQueryDefinitionBuilder builder
        end local 2 // java.lang.String name
        end local 1 // org.hibernate.query.Query hqlQuery
        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  hqlQuery  Lorg/hibernate/query/Query;
            0    4     2      name  Ljava/lang/String;
            1    4     3   builder  Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
    MethodParameters:
          Name  Flags
      hqlQuery  
      name      

  private void fillInNamedQueryBuilder(org.hibernate.engine.spi.NamedQueryDefinitionBuilder, org.hibernate.query.Query);
    descriptor: (Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;Lorg/hibernate/query/Query;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.engine.spi.NamedQueryDefinitionBuilder builder
        start local 2 // org.hibernate.query.Query query
         0: .line 917
            aload 1 /* builder */
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getQueryString:()Ljava/lang/String;
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setQuery:(Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
         1: .line 918
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getComment:()Ljava/lang/String;
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setComment:(Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
         2: .line 919
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.isCacheable:()Z
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setCacheable:(Z)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
         3: .line 920
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getCacheRegion:()Ljava/lang/String;
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setCacheRegion:(Ljava/lang/String;)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
         4: .line 921
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getCacheMode:()Lorg/hibernate/CacheMode;
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setCacheMode:(Lorg/hibernate/CacheMode;)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
         5: .line 922
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.isReadOnly:()Z
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setReadOnly:(Z)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
         6: .line 923
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getHibernateFlushMode:()Lorg/hibernate/FlushMode;
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setFlushMode:(Lorg/hibernate/FlushMode;)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
            pop
         7: .line 925
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getQueryOptions:()Lorg/hibernate/engine/spi/RowSelection;
            invokevirtual org.hibernate.engine.spi.RowSelection.getFirstRow:()Ljava/lang/Integer;
            ifnull 9
         8: .line 926
            aload 1 /* builder */
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getQueryOptions:()Lorg/hibernate/engine/spi/RowSelection;
            invokevirtual org.hibernate.engine.spi.RowSelection.getFirstRow:()Ljava/lang/Integer;
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setFirstResult:(Ljava/lang/Integer;)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
            pop
         9: .line 929
      StackMap locals:
      StackMap stack:
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getQueryOptions:()Lorg/hibernate/engine/spi/RowSelection;
            invokevirtual org.hibernate.engine.spi.RowSelection.getMaxRows:()Ljava/lang/Integer;
            ifnull 11
        10: .line 930
            aload 1 /* builder */
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getQueryOptions:()Lorg/hibernate/engine/spi/RowSelection;
            invokevirtual org.hibernate.engine.spi.RowSelection.getMaxRows:()Ljava/lang/Integer;
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setMaxResults:(Ljava/lang/Integer;)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
            pop
        11: .line 933
      StackMap locals:
      StackMap stack:
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getQueryOptions:()Lorg/hibernate/engine/spi/RowSelection;
            invokevirtual org.hibernate.engine.spi.RowSelection.getTimeout:()Ljava/lang/Integer;
            ifnull 13
        12: .line 934
            aload 1 /* builder */
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getQueryOptions:()Lorg/hibernate/engine/spi/RowSelection;
            invokevirtual org.hibernate.engine.spi.RowSelection.getTimeout:()Ljava/lang/Integer;
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setTimeout:(Ljava/lang/Integer;)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
            pop
        13: .line 937
      StackMap locals:
      StackMap stack:
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getQueryOptions:()Lorg/hibernate/engine/spi/RowSelection;
            invokevirtual org.hibernate.engine.spi.RowSelection.getFetchSize:()Ljava/lang/Integer;
            ifnull 15
        14: .line 938
            aload 1 /* builder */
            aload 2 /* query */
            invokeinterface org.hibernate.query.Query.getQueryOptions:()Lorg/hibernate/engine/spi/RowSelection;
            invokevirtual org.hibernate.engine.spi.RowSelection.getFetchSize:()Ljava/lang/Integer;
            invokevirtual org.hibernate.engine.spi.NamedQueryDefinitionBuilder.setFetchSize:(Ljava/lang/Integer;)Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
            pop
        15: .line 940
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.query.Query query
        end local 1 // org.hibernate.engine.spi.NamedQueryDefinitionBuilder builder
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/hibernate/internal/SessionFactoryImpl;
            0   16     1  builder  Lorg/hibernate/engine/spi/NamedQueryDefinitionBuilder;
            0   16     2    query  Lorg/hibernate/query/Query;
    MethodParameters:
         Name  Flags
      builder  
      query    

  public <T> T unwrap(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.Class type
         0: .line 944
            aload 1 /* type */
            ldc Lorg/hibernate/SessionFactory;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 2
         1: .line 945
            aload 1 /* type */
            aload 0 /* this */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 948
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 4
         3: .line 949
            aload 1 /* type */
            aload 0 /* this */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         4: .line 952
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Lorg/hibernate/internal/SessionFactoryImpl;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 6
         5: .line 953
            aload 1 /* type */
            aload 0 /* this */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         6: .line 956
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljavax/persistence/EntityManagerFactory;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 8
         7: .line 957
            aload 1 /* type */
            aload 0 /* this */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         8: .line 960
      StackMap locals:
      StackMap stack:
            new javax.persistence.PersistenceException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Hibernate cannot unwrap EntityManagerFactory as '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.Class.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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Class type
        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  type  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      type  

  public <T> void addNamedEntityGraph(java.lang.String, javax.persistence.EntityGraph<T>);
    descriptor: (Ljava/lang/String;Ljavax/persistence/EntityGraph;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.String graphName
        start local 2 // javax.persistence.EntityGraph entityGraph
         0: .line 965
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 1 /* graphName */
            aload 2 /* entityGraph */
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.addNamedEntityGraph:(Ljava/lang/String;Ljavax/persistence/EntityGraph;)V
         1: .line 966
            return
        end local 2 // javax.persistence.EntityGraph entityGraph
        end local 1 // java.lang.String graphName
        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    graphName  Ljava/lang/String;
            0    2     2  entityGraph  Ljavax/persistence/EntityGraph<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljavax/persistence/EntityGraph<TT;>;)V
    MethodParameters:
             Name  Flags
      graphName    
      entityGraph  

  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 969
            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.spi.StatisticsImplementor getStatistics();
    descriptor: ()Lorg/hibernate/stat/spi/StatisticsImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
         0: .line 975
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.statistics:Lorg/hibernate/stat/spi/StatisticsImplementor;
            ifnonnull 2
         1: .line 976
            aload 0 /* this */
            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
            putfield org.hibernate.internal.SessionFactoryImpl.statistics:Lorg/hibernate/stat/spi/StatisticsImplementor;
         2: .line 978
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.statistics:Lorg/hibernate/stat/spi/StatisticsImplementor;
            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.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 982
            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 983
            aload 2 /* def */
            ifnonnull 3
         2: .line 984
            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 986
      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 990
            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 994
            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 998
            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 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 1003
            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 1005
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         4: .line 1006
            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 1011
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.properties:Ljava/util/Map;
            ldc "hibernate.current_session_context_class"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* impl */
        start local 1 // java.lang.String impl
         1: .line 1013
            aload 1 /* impl */
            ifnonnull 6
         2: .line 1014
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.canAccessTransactionManager:()Z
            ifeq 5
         3: .line 1015
            ldc "jta"
            astore 1 /* impl */
         4: .line 1016
            goto 6
         5: .line 1018
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            areturn
         6: .line 1022
      StackMap locals:
      StackMap stack:
            ldc "jta"
            aload 1 /* impl */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 1026
            new org.hibernate.context.internal.JTASessionContext
            dup
            aload 0 /* this */
            invokespecial org.hibernate.context.internal.JTASessionContext.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            areturn
         8: .line 1028
      StackMap locals:
      StackMap stack:
            ldc "thread"
            aload 1 /* impl */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 1029
            new org.hibernate.context.internal.ThreadLocalSessionContext
            dup
            aload 0 /* this */
            invokespecial org.hibernate.context.internal.ThreadLocalSessionContext.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            areturn
        10: .line 1031
      StackMap locals:
      StackMap stack:
            ldc "managed"
            aload 1 /* impl */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1032
            new org.hibernate.context.internal.ManagedSessionContext
            dup
            aload 0 /* this */
            invokespecial org.hibernate.context.internal.ManagedSessionContext.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            areturn
        12: .line 1036
      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
        13: .line 1038
            aload 2 /* implClass */
            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
        14: .line 1039
            aload 0 /* this */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.context.spi.CurrentSessionContext
        15: .line 1037
            areturn
        end local 2 // java.lang.Class implClass
        16: .line 1041
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        17: .line 1042
            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
        18: .line 1043
            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   19     0       this  Lorg/hibernate/internal/SessionFactoryImpl;
            1   19     1       impl  Ljava/lang/String;
           13   16     2  implClass  Ljava/lang/Class;
           17   19     2          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          12    15      16  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 1050
            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 1055
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.sessionFactoryOptions:Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.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 1059
            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 1063
            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 1067
            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.type.Type resolveParameterBindType(java.lang.Object);
    descriptor: (Ljava/lang/Object;)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.Object bindValue
         0: .line 1072
            aload 1 /* bindValue */
            ifnonnull 2
         1: .line 1074
            aconst_null
            areturn
         2: .line 1077
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bindValue */
            invokestatic org.hibernate.proxy.HibernateProxyHelper.getClassWithoutInitializingProxy:(Ljava/lang/Object;)Ljava/lang/Class;
            invokevirtual org.hibernate.internal.SessionFactoryImpl.resolveParameterBindType:(Ljava/lang/Class;)Lorg/hibernate/type/Type;
            areturn
        end local 1 // java.lang.Object bindValue
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    3     1  bindValue  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      bindValue  

  public org.hibernate.type.Type resolveParameterBindType(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.lang.Class clazz
         0: .line 1082
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* typename */
        start local 2 // java.lang.String typename
         1: .line 1083
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getTypeResolver:()Lorg/hibernate/type/TypeResolver;
            aload 2 /* typename */
            invokevirtual org.hibernate.type.TypeResolver.heuristicType:(Ljava/lang/String;)Lorg/hibernate/type/Type;
            astore 3 /* type */
        start local 3 // org.hibernate.type.Type type
         2: .line 1084
            aload 3 /* type */
            ifnull 3
            aload 3 /* type */
            instanceof org.hibernate.type.SerializableType
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: java.lang.String org.hibernate.type.Type
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* serializable */
        start local 4 // boolean serializable
         5: .line 1085
            aload 3 /* type */
            ifnull 6
            iload 4 /* serializable */
            ifeq 13
         6: .line 1087
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.entityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            pop
         7: .line 1088
            goto 12
         8: .line 1089
      StackMap locals:
      StackMap stack: org.hibernate.MappingException
            pop
         9: .line 1090
            iload 4 /* serializable */
            ifeq 11
        10: .line 1091
            aload 3 /* type */
            areturn
        11: .line 1094
      StackMap locals:
      StackMap stack:
            new org.hibernate.HibernateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not determine a type for class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* typename */
            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
        12: .line 1097
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getTypeHelper:()Lorg/hibernate/TypeHelper;
            aload 1 /* clazz */
            invokeinterface org.hibernate.TypeHelper.entity:(Ljava/lang/Class;)Lorg/hibernate/type/Type;
            areturn
        13: .line 1100
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            areturn
        end local 4 // boolean serializable
        end local 3 // org.hibernate.type.Type type
        end local 2 // java.lang.String typename
        end local 1 // java.lang.Class clazz
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/hibernate/internal/SessionFactoryImpl;
            0   14     1         clazz  Ljava/lang/Class;
            1   14     2      typename  Ljava/lang/String;
            2   14     3          type  Lorg/hibernate/type/Type;
            5   14     4  serializable  Z
      Exception table:
        from    to  target  type
           6     7       8  Class org.hibernate.MappingException
    MethodParameters:
       Name  Flags
      clazz  

  public static org.hibernate.Interceptor configuredInterceptor(org.hibernate.Interceptor, org.hibernate.boot.spi.SessionFactoryOptions);
    descriptor: (Lorg/hibernate/Interceptor;Lorg/hibernate/boot/spi/SessionFactoryOptions;)Lorg/hibernate/Interceptor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.Interceptor interceptor
        start local 1 // org.hibernate.boot.spi.SessionFactoryOptions options
         0: .line 1110
            aload 0 /* interceptor */
            ifnull 2
            aload 0 /* interceptor */
            getstatic org.hibernate.EmptyInterceptor.INSTANCE:Lorg/hibernate/Interceptor;
            if_acmpeq 2
         1: .line 1111
            aload 0 /* interceptor */
            areturn
         2: .line 1115
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getInterceptor:()Lorg/hibernate/Interceptor;
            ifnull 4
            aload 1 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getInterceptor:()Lorg/hibernate/Interceptor;
            getstatic org.hibernate.EmptyInterceptor.INSTANCE:Lorg/hibernate/Interceptor;
            if_acmpeq 4
         3: .line 1116
            aload 1 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getInterceptor:()Lorg/hibernate/Interceptor;
            areturn
         4: .line 1120
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getStatelessInterceptorImplementor:()Ljava/lang/Class;
            ifnull 8
            aload 1 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getStatelessInterceptorImplementorSupplier:()Ljava/util/function/Supplier;
            ifnull 8
         5: .line 1121
            new org.hibernate.HibernateException
            dup
         6: .line 1122
            ldc "A session scoped interceptor class or supplier are allowed, but not both!"
         7: .line 1121
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1124
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getStatelessInterceptorImplementor:()Ljava/lang/Class;
            ifnull 13
         9: .line 1131
            aload 1 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getStatelessInterceptorImplementor:()Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.hibernate.Interceptor
        10: areturn
        11: .line 1133
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 2 /* e */
        start local 2 // java.lang.ReflectiveOperationException e
        12: .line 1134
            new org.hibernate.HibernateException
            dup
            ldc "Could not supply session-scoped SessionFactory Interceptor"
            aload 2 /* e */
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.ReflectiveOperationException e
        13: .line 1137
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getStatelessInterceptorImplementorSupplier:()Ljava/util/function/Supplier;
            ifnull 15
        14: .line 1138
            aload 1 /* options */
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getStatelessInterceptorImplementorSupplier:()Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast org.hibernate.Interceptor
            areturn
        15: .line 1141
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.hibernate.boot.spi.SessionFactoryOptions options
        end local 0 // org.hibernate.Interceptor interceptor
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0  interceptor  Lorg/hibernate/Interceptor;
            0   16     1      options  Lorg/hibernate/boot/spi/SessionFactoryOptions;
           12   13     2            e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.InstantiationException
           9    10      11  Class java.lang.IllegalAccessException
    MethodParameters:
             Name  Flags
      interceptor  
      options      

  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 1534
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getCustomEntityDirtinessStrategy:()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 1539
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getCurrentTenantIdentifierResolver:()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 1553
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Serializing: %s"
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getUuid:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1554
            aload 1 /* out */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         2: .line 1555
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Serialized"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         3: .line 1556
            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 1567
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Deserializing"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         1: .line 1568
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         2: .line 1569
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Deserialized: %s"
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getUuid:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 1570
            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 1582
            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 1583
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getUuid:()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 1587
            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 1588
            aload 2 /* uuidResult */
            ifnull 4
         2: .line 1589
            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 1590
            aload 2 /* uuidResult */
            areturn
         4: .line 1595
      StackMap locals: org.hibernate.SessionFactory
      StackMap stack:
            aload 1 /* name */
            ifnull 9
         5: .line 1596
            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 1597
            aload 3 /* namedResult */
            ifnull 9
         7: .line 1598
            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 1599
            aload 3 /* namedResult */
            areturn
        end local 3 // org.hibernate.SessionFactory namedResult
         9: .line 1603
      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 1613
            aload 1 /* oos */
            aload 0 /* this */
            invokevirtual org.hibernate.internal.SessionFactoryImpl.getUuid:()Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream.writeUTF:(Ljava/lang/String;)V
         1: .line 1614
            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 1615
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.name:Ljava/lang/String;
            ifnull 6
         5: .line 1616
            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 1618
      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 1629
            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 1630
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readUTF:()Ljava/lang/String;
            astore 1 /* uuid */
        start local 1 // java.lang.String uuid
         2: .line 1631
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readBoolean:()Z
            istore 2 /* isNamed */
        start local 2 // boolean isNamed
         3: .line 1632
            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 1633
            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   

  private void maskOutSensitiveInformation(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)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.util.Map props
         0: .line 1637
            aload 0 /* this */
            aload 1 /* props */
            ldc "javax.persistence.jdbc.user"
            invokevirtual org.hibernate.internal.SessionFactoryImpl.maskOutIfSet:(Ljava/util/Map;Ljava/lang/String;)V
         1: .line 1638
            aload 0 /* this */
            aload 1 /* props */
            ldc "javax.persistence.jdbc.password"
            invokevirtual org.hibernate.internal.SessionFactoryImpl.maskOutIfSet:(Ljava/util/Map;Ljava/lang/String;)V
         2: .line 1639
            aload 0 /* this */
            aload 1 /* props */
            ldc "hibernate.connection.username"
            invokevirtual org.hibernate.internal.SessionFactoryImpl.maskOutIfSet:(Ljava/util/Map;Ljava/lang/String;)V
         3: .line 1640
            aload 0 /* this */
            aload 1 /* props */
            ldc "hibernate.connection.password"
            invokevirtual org.hibernate.internal.SessionFactoryImpl.maskOutIfSet:(Ljava/util/Map;Ljava/lang/String;)V
         4: .line 1641
            return
        end local 1 // java.util.Map props
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    5     1  props  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
       Name  Flags
      props  

  private void maskOutIfSet(java.util.Map<java.lang.String, java.lang.Object>, java.lang.String);
    descriptor: (Ljava/util/Map;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.util.Map props
        start local 2 // java.lang.String setting
         0: .line 1644
            aload 1 /* props */
            aload 2 /* setting */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1645
            aload 1 /* props */
            aload 2 /* setting */
            ldc "****"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1647
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String setting
        end local 1 // java.util.Map props
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    3     1    props  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            0    3     2  setting  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Ljava/lang/String;)V
    MethodParameters:
         Name  Flags
      props    
      setting  

  private void logIfEmptyCompositesEnabled(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // java.util.Map props
         0: .line 1651
            ldc "hibernate.create_empty_composites.enabled"
         1: .line 1652
            aload 1 /* props */
         2: .line 1653
            iconst_0
         3: .line 1650
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.getBoolean:(Ljava/lang/String;Ljava/util/Map;Z)Z
            istore 2 /* isEmptyCompositesEnabled */
        start local 2 // boolean isEmptyCompositesEnabled
         4: .line 1655
            iload 2 /* isEmptyCompositesEnabled */
            ifeq 6
         5: .line 1661
            getstatic org.hibernate.internal.SessionFactoryImpl.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.emptyCompositesEnabled:()V
         6: .line 1663
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // boolean isEmptyCompositesEnabled
        end local 1 // java.util.Map props
        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                     props  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            4    7     2  isEmptyCompositesEnabled  Z
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
       Name  Flags
      props  

  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

  public javax.persistence.metamodel.Metamodel getMetamodel();
    descriptor: ()Ljavax/persistence/metamodel/Metamodel;
    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.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.Metamodel getMetamodel();
    descriptor: ()Lorg/hibernate/Metamodel;
    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.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.stat.Statistics getStatistics();
    descriptor: ()Lorg/hibernate/stat/Statistics;
    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.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.persistence.EntityManager createEntityManager(javax.persistence.SynchronizationType, java.util.Map);
    descriptor: (Ljavax/persistence/SynchronizationType;Ljava/util/Map;)Ljavax/persistence/EntityManager;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual org.hibernate.internal.SessionFactoryImpl.createEntityManager:(Ljavax/persistence/SynchronizationType;Ljava/util/Map;)Lorg/hibernate/Session;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.persistence.EntityManager createEntityManager(javax.persistence.SynchronizationType);
    descriptor: (Ljavax/persistence/SynchronizationType;)Ljavax/persistence/EntityManager;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.hibernate.internal.SessionFactoryImpl.createEntityManager:(Ljavax/persistence/SynchronizationType;)Lorg/hibernate/Session;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.persistence.EntityManager createEntityManager(java.util.Map);
    descriptor: (Ljava/util/Map;)Ljavax/persistence/EntityManager;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.hibernate.internal.SessionFactoryImpl.createEntityManager:(Ljava/util/Map;)Lorg/hibernate/Session;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.persistence.EntityManager createEntityManager();
    descriptor: ()Ljavax/persistence/EntityManager;
    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.createEntityManager:()Lorg/hibernate/Session;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public javax.persistence.Cache getCache();
    descriptor: ()Ljavax/persistence/Cache;
    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.getCache:()Lorg/hibernate/cache/spi/CacheImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.hibernate.Cache getCache();
    descriptor: ()Lorg/hibernate/Cache;
    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.getCache:()Lorg/hibernate/cache/spi/CacheImplementor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean lambda$0(org.hibernate.mapping.PersistentClass);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass model
         0: .line 281
            aload 0 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.isInherited:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.hibernate.mapping.PersistentClass model
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  model  Lorg/hibernate/mapping/PersistentClass;

  private void lambda$1(org.hibernate.boot.spi.MetadataImplementor, org.hibernate.engine.jdbc.spi.JdbcServices, org.hibernate.mapping.PersistentClass);
    descriptor: (Lorg/hibernate/boot/spi/MetadataImplementor;Lorg/hibernate/engine/jdbc/spi/JdbcServices;Lorg/hibernate/mapping/PersistentClass;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 3 // org.hibernate.mapping.PersistentClass model
         0: .line 282
            aload 3 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
         1: .line 283
            aload 1
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getIdentifierGeneratorFactory:()Lorg/hibernate/id/factory/IdentifierGeneratorFactory;
         2: .line 284
            aload 2
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
         3: .line 285
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
         4: .line 286
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.settings:Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
         5: .line 287
            aload 3 /* model */
            checkcast org.hibernate.mapping.RootClass
         6: .line 282
            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 4 /* generator */
        start local 4 // org.hibernate.id.IdentifierGenerator generator
         7: .line 289
            aload 0 /* this */
            getfield org.hibernate.internal.SessionFactoryImpl.identifierGenerators:Ljava/util/Map;
            aload 3 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            aload 4 /* generator */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.hibernate.id.IdentifierGenerator generator
         8: .line 290
            return
        end local 3 // org.hibernate.mapping.PersistentClass model
        end local 0 // org.hibernate.internal.SessionFactoryImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/hibernate/internal/SessionFactoryImpl;
            0    9     3      model  Lorg/hibernate/mapping/PersistentClass;
            7    8     4  generator  Lorg/hibernate/id/IdentifierGenerator;

  private void lambda$2(org.hibernate.tool.schema.spi.DelayedDropAction);
    descriptor: (Lorg/hibernate/tool/schema/spi/DelayedDropAction;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionFactoryImpl this
        start local 1 // org.hibernate.tool.schema.spi.DelayedDropAction action
         0: .line 314
            aload 0 /* this */
            aload 1 /* action */
            dup_x1
            putfield org.hibernate.internal.SessionFactoryImpl.delayedDropAction:Lorg/hibernate/tool/schema/spi/DelayedDropAction;
            return
        end local 1 // org.hibernate.tool.schema.spi.DelayedDropAction action
        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  action  Lorg/hibernate/tool/schema/spi/DelayedDropAction;

  private static void lambda$3(org.hibernate.Session, java.util.Map, java.lang.Object);
    descriptor: (Lorg/hibernate/Session;Ljava/util/Map;Ljava/lang/Object;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 2 // java.lang.Object key
         0: .line 631
            aload 2 /* key */
            instanceof java.lang.String
            ifeq 2
         1: .line 632
            aload 0
            aload 2 /* key */
            checkcast java.lang.String
            aload 1
            aload 2 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface org.hibernate.Session.setProperty:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 634
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     2   key  Ljava/lang/Object;
}
SourceFile: "SessionFactoryImpl.java"
NestMembers:
  org.hibernate.internal.SessionFactoryImpl$1  org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver  org.hibernate.internal.SessionFactoryImpl$2  org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl  org.hibernate.internal.SessionFactoryImpl$StatelessSessionBuilderImpl
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Style = org.hibernate.engine.profile.Fetch$Style of org.hibernate.engine.profile.Fetch
  public abstract DeserializationResolver = org.hibernate.engine.spi.SessionFactoryImplementor$DeserializationResolver of org.hibernate.engine.spi.SessionFactoryImplementor
  org.hibernate.internal.SessionFactoryImpl$1
  IntegratorObserver = org.hibernate.internal.SessionFactoryImpl$1IntegratorObserver
  org.hibernate.internal.SessionFactoryImpl$2
  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