public abstract class org.hibernate.loader.Loader
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.loader.Loader
  super_class: java.lang.Object
{
  public static final java.lang.String SELECT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "select"

  public static final java.lang.String SELECT_DISTINCT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "select distinct"

  protected static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final boolean DEBUG_ENABLED;
    descriptor: Z
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

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

  private volatile org.hibernate.engine.jdbc.ColumnNameCache columnNameCache;
    descriptor: Lorg/hibernate/engine/jdbc/ColumnNameCache;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final boolean referenceCachingEnabled;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 103
            ldc Lorg/hibernate/loader/Loader;
            invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
            putstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 104
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            putstatic org.hibernate.loader.Loader.DEBUG_ENABLED:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.engine.spi.SessionFactoryImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor factory
         0: .line 113
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 111
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.loader.Loader.isJdbc4:Z
         2: .line 114
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         3: .line 115
            aload 0 /* this */
            aload 1 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isDirectReferenceCacheEntriesEnabled:()Z
            putfield org.hibernate.loader.Loader.referenceCachingEnabled:Z
         4: .line 116
            return
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/hibernate/loader/Loader;
            0    5     1  factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    MethodParameters:
         Name  Flags
      factory  

  public abstract java.lang.String getSQLString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  protected abstract org.hibernate.persister.entity.Loadable[] getEntityPersisters();
    descriptor: ()[Lorg/hibernate/persister/entity/Loadable;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected boolean[] getEntityEagerPropertyFetches();
    descriptor: ()[Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 140
            aconst_null
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected int[] getOwners();
    descriptor: ()[I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 152
            aconst_null
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected org.hibernate.type.EntityType[] getOwnerAssociationTypes();
    descriptor: ()[Lorg/hibernate/type/EntityType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 162
            aconst_null
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected org.hibernate.persister.collection.CollectionPersister[] getCollectionPersisters();
    descriptor: ()[Lorg/hibernate/persister/collection/CollectionPersister;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 170
            aconst_null
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected int[] getCollectionOwners();
    descriptor: ()[I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 179
            aconst_null
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected int[][] getCompositeKeyManyToOneTargetIndices();
    descriptor: ()[[I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 183
            aconst_null
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected abstract org.hibernate.LockMode[] getLockModes(org.hibernate.LockOptions);
    descriptor: (Lorg/hibernate/LockOptions;)[Lorg/hibernate/LockMode;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      lockOptions  

  protected java.lang.String applyLocks(java.lang.String, org.hibernate.engine.spi.QueryParameters, org.hibernate.dialect.Dialect, java.util.List<org.hibernate.loader.spi.AfterLoadAction>);
    descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/dialect/Dialect;Ljava/util/List;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.String sql
        start local 2 // org.hibernate.engine.spi.QueryParameters parameters
        start local 3 // org.hibernate.dialect.Dialect dialect
        start local 4 // java.util.List afterLoadActions
         0: .line 204
            aload 1 /* sql */
            areturn
        end local 4 // java.util.List afterLoadActions
        end local 3 // org.hibernate.dialect.Dialect dialect
        end local 2 // org.hibernate.engine.spi.QueryParameters parameters
        end local 1 // java.lang.String sql
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/hibernate/loader/Loader;
            0    1     1               sql  Ljava/lang/String;
            0    1     2        parameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    1     3           dialect  Lorg/hibernate/dialect/Dialect;
            0    1     4  afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: (Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/dialect/Dialect;Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;)Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      sql               
      parameters        
      dialect           
      afterLoadActions  

  protected boolean upgradeLocks();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 212
            iconst_0
            ireturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected boolean isSingleRowLoader();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 219
            iconst_0
            ireturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected java.lang.String[] getAliases();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 229
            aconst_null
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected java.lang.String preprocessSQL(java.lang.String, org.hibernate.engine.spi.QueryParameters, org.hibernate.engine.spi.SessionFactoryImplementor, java.util.List<org.hibernate.loader.spi.AfterLoadAction>);
    descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Ljava/util/List;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.String sql
        start local 2 // org.hibernate.engine.spi.QueryParameters parameters
        start local 3 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        start local 4 // java.util.List afterLoadActions
         0: .line 241
            aload 3 /* sessionFactory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.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
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getDialect:()Lorg/hibernate/dialect/Dialect;
            astore 5 /* dialect */
        start local 5 // org.hibernate.dialect.Dialect dialect
         1: .line 243
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* parameters */
            aload 5 /* dialect */
            aload 4 /* afterLoadActions */
            invokevirtual org.hibernate.loader.Loader.applyLocks:(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/dialect/Dialect;Ljava/util/List;)Ljava/lang/String;
            astore 1 /* sql */
         2: .line 245
            aload 5 /* dialect */
         3: .line 246
            aload 1 /* sql */
         4: .line 247
            aload 2 /* parameters */
         5: .line 248
            aload 3 /* sessionFactory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isCommentsEnabled:()Z
         6: .line 245
            invokevirtual org.hibernate.dialect.Dialect.addSqlHintOrComment:(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/lang/String;
            astore 1 /* sql */
         7: .line 251
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* parameters */
            invokevirtual org.hibernate.loader.Loader.processDistinctKeyword:(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/lang/String;
            areturn
        end local 5 // org.hibernate.dialect.Dialect dialect
        end local 4 // java.util.List afterLoadActions
        end local 3 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        end local 2 // org.hibernate.engine.spi.QueryParameters parameters
        end local 1 // java.lang.String sql
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/hibernate/loader/Loader;
            0    8     1               sql  Ljava/lang/String;
            0    8     2        parameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    8     3    sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0    8     4  afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            1    8     5           dialect  Lorg/hibernate/dialect/Dialect;
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: (Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;)Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      sql               
      parameters        
      sessionFactory    
      afterLoadActions  

  protected boolean shouldUseFollowOnLocking(org.hibernate.engine.spi.QueryParameters, org.hibernate.dialect.Dialect, java.util.List<org.hibernate.loader.spi.AfterLoadAction>);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/dialect/Dialect;Ljava/util/List;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.QueryParameters parameters
        start local 2 // org.hibernate.dialect.Dialect dialect
        start local 3 // java.util.List afterLoadActions
         0: .line 258
            aload 1 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.LockOptions.getFollowOnLocking:()Ljava/lang/Boolean;
            ifnonnull 1
            aload 2 /* dialect */
            aload 1 /* parameters */
            invokevirtual org.hibernate.dialect.Dialect.useFollowOnLocking:(Lorg/hibernate/engine/spi/QueryParameters;)Z
            ifne 2
         1: .line 259
      StackMap locals:
      StackMap stack:
            aload 1 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.LockOptions.getFollowOnLocking:()Ljava/lang/Boolean;
            ifnull 14
            aload 1 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.LockOptions.getFollowOnLocking:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 14
         2: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.loader.Loader.determineFollowOnLockMode:(Lorg/hibernate/LockOptions;)Lorg/hibernate/LockMode;
            astore 4 /* lockMode */
        start local 4 // org.hibernate.LockMode lockMode
         3: .line 262
            new org.hibernate.LockOptions
            dup
            aload 4 /* lockMode */
            invokespecial org.hibernate.LockOptions.<init>:(Lorg/hibernate/LockMode;)V
            astore 5 /* lockOptions */
        start local 5 // org.hibernate.LockOptions lockOptions
         4: .line 263
            aload 5 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getLockMode:()Lorg/hibernate/LockMode;
            getstatic org.hibernate.LockMode.UPGRADE_SKIPLOCKED:Lorg/hibernate/LockMode;
            if_acmpeq 14
         5: .line 264
            aload 5 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getLockMode:()Lorg/hibernate/LockMode;
            getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
            if_acmpeq 7
         6: .line 265
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.usingFollowOnLocking:()V
         7: .line 267
      StackMap locals: org.hibernate.LockMode org.hibernate.LockOptions
      StackMap stack:
            aload 5 /* lockOptions */
            aload 1 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.LockOptions.getTimeOut:()I
            invokevirtual org.hibernate.LockOptions.setTimeOut:(I)Lorg/hibernate/LockOptions;
            pop
         8: .line 268
            aload 5 /* lockOptions */
            aload 1 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.LockOptions.getScope:()Z
            invokevirtual org.hibernate.LockOptions.setScope:(Z)Lorg/hibernate/LockOptions;
            pop
         9: .line 269
            aload 3 /* afterLoadActions */
        10: .line 270
            new org.hibernate.loader.Loader$1
            dup
            aload 0 /* this */
            aload 5 /* lockOptions */
            invokespecial org.hibernate.loader.Loader$1.<init>:(Lorg/hibernate/loader/Loader;Lorg/hibernate/LockOptions;)V
        11: .line 269
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 280
            aload 1 /* parameters */
            new org.hibernate.LockOptions
            dup
            invokespecial org.hibernate.LockOptions.<init>:()V
            invokevirtual org.hibernate.engine.spi.QueryParameters.setLockOptions:(Lorg/hibernate/LockOptions;)V
        13: .line 281
            iconst_1
            ireturn
        end local 5 // org.hibernate.LockOptions lockOptions
        end local 4 // org.hibernate.LockMode lockMode
        14: .line 284
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.util.List afterLoadActions
        end local 2 // org.hibernate.dialect.Dialect dialect
        end local 1 // org.hibernate.engine.spi.QueryParameters parameters
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lorg/hibernate/loader/Loader;
            0   15     1        parameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   15     2           dialect  Lorg/hibernate/dialect/Dialect;
            0   15     3  afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            3   14     4          lockMode  Lorg/hibernate/LockMode;
            4   14     5       lockOptions  Lorg/hibernate/LockOptions;
    Signature: (Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/dialect/Dialect;Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;)Z
    MethodParameters:
                  Name  Flags
      parameters        
      dialect           
      afterLoadActions  

  protected org.hibernate.LockMode determineFollowOnLockMode(org.hibernate.LockOptions);
    descriptor: (Lorg/hibernate/LockOptions;)Lorg/hibernate/LockMode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.LockOptions lockOptions
         0: .line 288
            aload 1 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.findGreatestLockMode:()Lorg/hibernate/LockMode;
            astore 2 /* lockModeToUse */
        start local 2 // org.hibernate.LockMode lockModeToUse
         1: .line 290
            aload 1 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.hasAliasSpecificLockModes:()Z
            ifeq 5
         2: .line 291
            aload 1 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getLockMode:()Lorg/hibernate/LockMode;
            getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
            if_acmpne 4
            aload 2 /* lockModeToUse */
            getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
            if_acmpne 4
         3: .line 292
            aload 2 /* lockModeToUse */
            areturn
         4: .line 295
      StackMap locals: org.hibernate.LockMode
      StackMap stack:
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 2 /* lockModeToUse */
            invokeinterface org.hibernate.internal.CoreMessageLogger.aliasSpecificLockingWithFollowOnLocking:(Lorg/hibernate/LockMode;)V
         5: .line 298
      StackMap locals:
      StackMap stack:
            aload 2 /* lockModeToUse */
            areturn
        end local 2 // org.hibernate.LockMode lockModeToUse
        end local 1 // org.hibernate.LockOptions lockOptions
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/hibernate/loader/Loader;
            0    6     1    lockOptions  Lorg/hibernate/LockOptions;
            1    6     2  lockModeToUse  Lorg/hibernate/LockMode;
    MethodParameters:
             Name  Flags
      lockOptions  

  public java.util.List doQueryAndInitializeNonLazyCollections(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, boolean);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // boolean returnProxies
         0: .line 310
            aload 0 /* this */
         1: .line 311
            aload 1 /* session */
         2: .line 312
            aload 2 /* queryParameters */
         3: .line 313
            iload 3 /* returnProxies */
         4: .line 314
            aconst_null
         5: .line 310
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            areturn
        end local 3 // boolean returnProxies
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/hibernate/loader/Loader;
            0    6     1          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0    6     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    6     3    returnProxies  Z
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
                 Name  Flags
      session          final
      queryParameters  final
      returnProxies    final

  public java.util.List doQueryAndInitializeNonLazyCollections(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, boolean, org.hibernate.transform.ResultTransformer);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // boolean returnProxies
        start local 4 // org.hibernate.transform.ResultTransformer forcedResultTransformer
         0: .line 324
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            astore 5 /* persistenceContext */
        start local 5 // org.hibernate.engine.spi.PersistenceContext persistenceContext
         1: .line 325
            aload 5 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.isDefaultReadOnly:()Z
            istore 6 /* defaultReadOnlyOrig */
        start local 6 // boolean defaultReadOnlyOrig
         2: .line 326
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnlyInitialized:()Z
            ifeq 5
         3: .line 329
            aload 5 /* persistenceContext */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnly:()Z
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
         4: .line 330
            goto 6
         5: .line 334
      StackMap locals: org.hibernate.engine.spi.PersistenceContext int
      StackMap stack:
            aload 2 /* queryParameters */
            aload 5 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.isDefaultReadOnly:()Z
            invokevirtual org.hibernate.engine.spi.QueryParameters.setReadOnly:(Z)V
         6: .line 336
      StackMap locals:
      StackMap stack:
            aload 5 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.beforeLoad:()V
         7: .line 340
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            iload 3 /* returnProxies */
            aload 4 /* forcedResultTransformer */
            invokevirtual org.hibernate.loader.Loader.doQuery:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            astore 7 /* result */
        start local 7 // java.util.List result
         8: .line 341
            goto 12
        end local 7 // java.util.List result
         9: .line 342
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        10: .line 343
            aload 5 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.afterLoad:()V
        11: .line 344
            aload 8
            athrow
        start local 7 // java.util.List result
        12: .line 343
      StackMap locals: java.util.List
      StackMap stack:
            aload 5 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.afterLoad:()V
        13: .line 345
            aload 5 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.initializeNonLazyCollections:()V
        14: .line 346
            goto 18
        end local 7 // java.util.List result
        15: .line 347
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.QueryParameters int org.hibernate.transform.ResultTransformer org.hibernate.engine.spi.PersistenceContext int
      StackMap stack: java.lang.Throwable
            astore 9
        16: .line 349
            aload 5 /* persistenceContext */
            iload 6 /* defaultReadOnlyOrig */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
        17: .line 350
            aload 9
            athrow
        start local 7 // java.util.List result
        18: .line 349
      StackMap locals: java.util.List
      StackMap stack:
            aload 5 /* persistenceContext */
            iload 6 /* defaultReadOnlyOrig */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
        19: .line 351
            aload 7 /* result */
            areturn
        end local 7 // java.util.List result
        end local 6 // boolean defaultReadOnlyOrig
        end local 5 // org.hibernate.engine.spi.PersistenceContext persistenceContext
        end local 4 // org.hibernate.transform.ResultTransformer forcedResultTransformer
        end local 3 // boolean returnProxies
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   20     0                     this  Lorg/hibernate/loader/Loader;
            0   20     1                  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   20     2          queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   20     3            returnProxies  Z
            0   20     4  forcedResultTransformer  Lorg/hibernate/transform/ResultTransformer;
            1   20     5       persistenceContext  Lorg/hibernate/engine/spi/PersistenceContext;
            2   20     6      defaultReadOnlyOrig  Z
            8    9     7                   result  Ljava/util/List;
           12   15     7                   result  Ljava/util/List;
           18   20     7                   result  Ljava/util/List;
      Exception table:
        from    to  target  type
           7     9       9  any
           7    15      15  any
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
                         Name  Flags
      session                  final
      queryParameters          final
      returnProxies            final
      forcedResultTransformer  final

  public java.lang.Object loadSingleRow(java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, boolean);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet resultSet
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 4 // boolean returnProxies
         0: .line 373
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            arraylength
            istore 5 /* entitySpan */
        start local 5 // int entitySpan
         1: .line 374
            iload 5 /* entitySpan */
            ifne 3
         2: .line 375
            aconst_null
            goto 4
      StackMap locals: int
      StackMap stack:
         3: new java.util.ArrayList
            dup
            iload 5 /* entitySpan */
            invokespecial java.util.ArrayList.<init>:(I)V
         4: .line 374
      StackMap locals:
      StackMap stack: java.util.ArrayList
            astore 6 /* hydratedObjects */
        start local 6 // java.util.List hydratedObjects
         5: .line 379
            aload 0 /* this */
         6: .line 380
            aload 1 /* resultSet */
         7: .line 381
            aload 2 /* session */
         8: .line 382
            aload 3 /* queryParameters */
         9: .line 383
            aload 0 /* this */
            aload 3 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.loader.Loader.getLockModes:(Lorg/hibernate/LockOptions;)[Lorg/hibernate/LockMode;
        10: .line 384
            aconst_null
        11: .line 385
            aload 6 /* hydratedObjects */
        12: .line 386
            iload 5 /* entitySpan */
            anewarray org.hibernate.engine.spi.EntityKey
        13: .line 387
            iload 4 /* returnProxies */
        14: .line 379
            invokevirtual org.hibernate.loader.Loader.getRowFromResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/EntityKey;Ljava/util/List;[Lorg/hibernate/engine/spi/EntityKey;Z)Ljava/lang/Object;
            astore 7 /* result */
        start local 7 // java.lang.Object result
        15: .line 389
            goto 22
        end local 7 // java.lang.Object result
        16: .line 390
      StackMap locals: org.hibernate.loader.Loader java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.QueryParameters int int java.util.List
      StackMap stack: java.sql.SQLException
            astore 8 /* sqle */
        start local 8 // java.sql.SQLException sqle
        17: .line 391
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        18: .line 392
            aload 8 /* sqle */
        19: .line 393
            ldc "could not read next row of results"
        20: .line 394
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        21: .line 391
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 8 // java.sql.SQLException sqle
        start local 7 // java.lang.Object result
        22: .line 398
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
        23: .line 399
            aload 6 /* hydratedObjects */
        24: .line 400
            aload 1 /* resultSet */
        25: .line 401
            aload 2 /* session */
        26: .line 402
            aload 3 /* queryParameters */
            aload 2 /* session */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnly:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
        27: .line 398
            invokevirtual org.hibernate.loader.Loader.initializeEntitiesAndCollections:(Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Z)V
        28: .line 404
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            invokeinterface org.hibernate.engine.spi.PersistenceContext.initializeNonLazyCollections:()V
        29: .line 405
            aload 7 /* result */
            areturn
        end local 7 // java.lang.Object result
        end local 6 // java.util.List hydratedObjects
        end local 5 // int entitySpan
        end local 4 // boolean returnProxies
        end local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // java.sql.ResultSet resultSet
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   30     0             this  Lorg/hibernate/loader/Loader;
            0   30     1        resultSet  Ljava/sql/ResultSet;
            0   30     2          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   30     3  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   30     4    returnProxies  Z
            1   30     5       entitySpan  I
            5   30     6  hydratedObjects  Ljava/util/List;
           15   16     7           result  Ljava/lang/Object;
           22   30     7           result  Ljava/lang/Object;
           17   22     8             sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           5    15      16  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      resultSet        final
      session          final
      queryParameters  final
      returnProxies    final

  private java.lang.Object sequentialLoad(java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, boolean, org.hibernate.engine.spi.EntityKey);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=6
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet resultSet
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 4 // boolean returnProxies
        start local 5 // org.hibernate.engine.spi.EntityKey keyToRead
         0: .line 415
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            arraylength
            istore 6 /* entitySpan */
        start local 6 // int entitySpan
         1: .line 416
            iload 6 /* entitySpan */
            ifne 3
         2: .line 417
            aconst_null
            goto 4
      StackMap locals: int
      StackMap stack:
         3: new java.util.ArrayList
            dup
            iload 6 /* entitySpan */
            invokespecial java.util.ArrayList.<init>:(I)V
         4: .line 416
      StackMap locals:
      StackMap stack: java.util.ArrayList
            astore 7 /* hydratedObjects */
        start local 7 // java.util.List hydratedObjects
         5: .line 419
            aconst_null
            astore 8 /* result */
        start local 8 // java.lang.Object result
         6: .line 420
            iload 6 /* entitySpan */
            anewarray org.hibernate.engine.spi.EntityKey
            astore 9 /* loadedKeys */
        start local 9 // org.hibernate.engine.spi.EntityKey[] loadedKeys
         7: .line 424
      StackMap locals: java.util.List java.lang.Object org.hibernate.engine.spi.EntityKey[]
      StackMap stack:
            aload 0 /* this */
         8: .line 425
            aload 1 /* resultSet */
         9: .line 426
            aload 2 /* session */
        10: .line 427
            aload 3 /* queryParameters */
        11: .line 428
            aload 0 /* this */
            aload 3 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.loader.Loader.getLockModes:(Lorg/hibernate/LockOptions;)[Lorg/hibernate/LockMode;
        12: .line 429
            aconst_null
        13: .line 430
            aload 7 /* hydratedObjects */
        14: .line 431
            aload 9 /* loadedKeys */
        15: .line 432
            iload 4 /* returnProxies */
        16: .line 424
            invokevirtual org.hibernate.loader.Loader.getRowFromResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/EntityKey;Ljava/util/List;[Lorg/hibernate/engine/spi/EntityKey;Z)Ljava/lang/Object;
            astore 10 /* loaded */
        start local 10 // java.lang.Object loaded
        17: .line 434
            aload 5 /* keyToRead */
            aload 9 /* loadedKeys */
            iconst_0
            aaload
            invokevirtual org.hibernate.engine.spi.EntityKey.equals:(Ljava/lang/Object;)Z
            ifne 24
        18: .line 435
            new org.hibernate.AssertionFailure
            dup
        19: .line 437
            ldc "Unexpected key read for row; expected [%s]; actual [%s]"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        20: .line 438
            aload 5 /* keyToRead */
            aastore
            dup
            iconst_1
        21: .line 439
            aload 9 /* loadedKeys */
            iconst_0
            aaload
            aastore
        22: .line 436
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        23: .line 435
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 443
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 8 /* result */
            ifnonnull 26
        25: .line 444
            aload 10 /* loaded */
            astore 8 /* result */
        end local 10 // java.lang.Object loaded
        26: .line 447
      StackMap locals:
      StackMap stack:
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.next:()Z
            ifeq 35
        27: .line 448
            aload 0 /* this */
            aload 5 /* keyToRead */
            iconst_0
            aload 1 /* resultSet */
            aload 2 /* session */
            invokevirtual org.hibernate.loader.Loader.isCurrentRowForSameEntity:(Lorg/hibernate/engine/spi/EntityKey;ILjava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
            ifne 7
        28: .line 449
            goto 35
        29: .line 450
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 10 /* sqle */
        start local 10 // java.sql.SQLException sqle
        30: .line 451
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        31: .line 452
            aload 10 /* sqle */
        32: .line 453
            ldc "could not doAfterTransactionCompletion sequential read of results (forward)"
        33: .line 454
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        34: .line 451
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 10 // java.sql.SQLException sqle
        35: .line 458
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        36: .line 459
            aload 7 /* hydratedObjects */
        37: .line 460
            aload 1 /* resultSet */
        38: .line 461
            aload 2 /* session */
        39: .line 462
            aload 3 /* queryParameters */
            aload 2 /* session */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnly:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
        40: .line 458
            invokevirtual org.hibernate.loader.Loader.initializeEntitiesAndCollections:(Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Z)V
        41: .line 464
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            invokeinterface org.hibernate.engine.spi.PersistenceContext.initializeNonLazyCollections:()V
        42: .line 465
            aload 8 /* result */
            areturn
        end local 9 // org.hibernate.engine.spi.EntityKey[] loadedKeys
        end local 8 // java.lang.Object result
        end local 7 // java.util.List hydratedObjects
        end local 6 // int entitySpan
        end local 5 // org.hibernate.engine.spi.EntityKey keyToRead
        end local 4 // boolean returnProxies
        end local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // java.sql.ResultSet resultSet
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   43     0             this  Lorg/hibernate/loader/Loader;
            0   43     1        resultSet  Ljava/sql/ResultSet;
            0   43     2          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   43     3  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   43     4    returnProxies  Z
            0   43     5        keyToRead  Lorg/hibernate/engine/spi/EntityKey;
            1   43     6       entitySpan  I
            5   43     7  hydratedObjects  Ljava/util/List;
            6   43     8           result  Ljava/lang/Object;
            7   43     9       loadedKeys  [Lorg/hibernate/engine/spi/EntityKey;
           17   26    10           loaded  Ljava/lang/Object;
           30   35    10             sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           7    28      29  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      resultSet        final
      session          final
      queryParameters  final
      returnProxies    final
      keyToRead        final

  private boolean isCurrentRowForSameEntity(org.hibernate.engine.spi.EntityKey, int, java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;ILjava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.EntityKey keyToRead
        start local 2 // int persisterIndex
        start local 3 // java.sql.ResultSet resultSet
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 473
            aload 0 /* this */
         1: .line 474
            iload 2 /* persisterIndex */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iload 2 /* persisterIndex */
            aaload
            aconst_null
            aload 3 /* resultSet */
            aload 4 /* session */
         2: .line 473
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 5 /* currentRowKey */
        start local 5 // org.hibernate.engine.spi.EntityKey currentRowKey
         3: .line 476
            aload 1 /* keyToRead */
            aload 5 /* currentRowKey */
            invokevirtual org.hibernate.engine.spi.EntityKey.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 5 // org.hibernate.engine.spi.EntityKey currentRowKey
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // java.sql.ResultSet resultSet
        end local 2 // int persisterIndex
        end local 1 // org.hibernate.engine.spi.EntityKey keyToRead
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/hibernate/loader/Loader;
            0    4     1       keyToRead  Lorg/hibernate/engine/spi/EntityKey;
            0    4     2  persisterIndex  I
            0    4     3       resultSet  Ljava/sql/ResultSet;
            0    4     4         session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            3    4     5   currentRowKey  Lorg/hibernate/engine/spi/EntityKey;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                Name  Flags
      keyToRead       final
      persisterIndex  final
      resultSet       final
      session         final

  public java.lang.Object loadSequentialRowsForward(java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, boolean);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet resultSet
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 4 // boolean returnProxies
         0: .line 504
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.isAfterLast:()Z
            ifeq 2
         1: .line 506
            aconst_null
            areturn
         2: .line 509
      StackMap locals:
      StackMap stack:
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.isBeforeFirst:()Z
            ifeq 4
         3: .line 510
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
         4: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         5: .line 520
            iconst_0
         6: .line 521
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iconst_0
            aaload
         7: .line 522
            aconst_null
         8: .line 523
            aload 1 /* resultSet */
         9: .line 524
            aload 2 /* session */
        10: .line 519
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 5 /* currentKey */
        start local 5 // org.hibernate.engine.spi.EntityKey currentKey
        11: .line 527
            aload 0 /* this */
            aload 1 /* resultSet */
            aload 2 /* session */
            aload 3 /* queryParameters */
            iload 4 /* returnProxies */
            aload 5 /* currentKey */
            invokevirtual org.hibernate.loader.Loader.sequentialLoad:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
        12: areturn
        end local 5 // org.hibernate.engine.spi.EntityKey currentKey
        13: .line 529
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 5 /* sqle */
        start local 5 // java.sql.SQLException sqle
        14: .line 530
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        15: .line 531
            aload 5 /* sqle */
        16: .line 532
            ldc "could not perform sequential read of results (forward)"
        17: .line 533
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        18: .line 530
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 5 // java.sql.SQLException sqle
        end local 4 // boolean returnProxies
        end local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // java.sql.ResultSet resultSet
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0             this  Lorg/hibernate/loader/Loader;
            0   19     1        resultSet  Ljava/sql/ResultSet;
            0   19     2          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   19     3  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   19     4    returnProxies  Z
           11   13     5       currentKey  Lorg/hibernate/engine/spi/EntityKey;
           14   19     5             sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0     1      13  Class java.sql.SQLException
           2    12      13  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      resultSet        final
      session          final
      queryParameters  final
      returnProxies    final

  public java.lang.Object loadSequentialRowsReverse(java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, boolean, boolean);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZZ)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=6
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet resultSet
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 4 // boolean returnProxies
        start local 5 // boolean isLogicallyAfterLast
         0: .line 564
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.isFirst:()Z
            ifeq 2
         1: .line 566
            aconst_null
            areturn
         2: .line 569
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* keyToRead */
        start local 6 // org.hibernate.engine.spi.EntityKey keyToRead
         3: .line 582
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.isAfterLast:()Z
            ifeq 13
            iload 5 /* isLogicallyAfterLast */
            ifeq 13
         4: .line 584
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.last:()Z
            pop
         5: .line 585
            aload 0 /* this */
         6: .line 586
            iconst_0
         7: .line 587
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iconst_0
            aaload
         8: .line 588
            aconst_null
         9: .line 589
            aload 1 /* resultSet */
        10: .line 590
            aload 2 /* session */
        11: .line 585
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 6 /* keyToRead */
        12: .line 592
            goto 46
        13: .line 598
      StackMap locals: org.hibernate.engine.spi.EntityKey
      StackMap stack:
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.previous:()Z
            pop
        14: .line 604
            iconst_1
            istore 7 /* firstPass */
        start local 7 // boolean firstPass
        15: .line 605
            aload 0 /* this */
        16: .line 606
            iconst_0
        17: .line 607
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iconst_0
            aaload
        18: .line 608
            aconst_null
        19: .line 609
            aload 1 /* resultSet */
        20: .line 610
            aload 2 /* session */
        21: .line 605
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 8 /* lastKey */
        start local 8 // org.hibernate.engine.spi.EntityKey lastKey
        22: .line 612
            goto 35
        23: .line 613
      StackMap locals: int org.hibernate.engine.spi.EntityKey
      StackMap stack:
            aload 0 /* this */
        24: .line 614
            iconst_0
        25: .line 615
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iconst_0
            aaload
        26: .line 616
            aconst_null
        27: .line 617
            aload 1 /* resultSet */
        28: .line 618
            aload 2 /* session */
        29: .line 613
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 9 /* checkKey */
        start local 9 // org.hibernate.engine.spi.EntityKey checkKey
        30: .line 621
            iload 7 /* firstPass */
            ifeq 33
        31: .line 622
            iconst_0
            istore 7 /* firstPass */
        32: .line 623
            aload 9 /* checkKey */
            astore 6 /* keyToRead */
        33: .line 626
      StackMap locals: org.hibernate.engine.spi.EntityKey
      StackMap stack:
            aload 8 /* lastKey */
            aload 9 /* checkKey */
            invokevirtual org.hibernate.engine.spi.EntityKey.equals:(Ljava/lang/Object;)Z
            ifne 35
        34: .line 627
            goto 46
        end local 9 // org.hibernate.engine.spi.EntityKey checkKey
        35: .line 612
      StackMap locals:
      StackMap stack:
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.previous:()Z
            ifne 23
        end local 8 // org.hibernate.engine.spi.EntityKey lastKey
        end local 7 // boolean firstPass
        36: .line 635
            goto 46
        37: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        38: .line 637
            iconst_0
        39: .line 638
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iconst_0
            aaload
        40: .line 639
            aconst_null
        41: .line 640
            aload 1 /* resultSet */
        42: .line 641
            aload 2 /* session */
        43: .line 636
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 7 /* checkKey */
        start local 7 // org.hibernate.engine.spi.EntityKey checkKey
        44: .line 644
            aload 6 /* keyToRead */
            aload 7 /* checkKey */
            invokevirtual org.hibernate.engine.spi.EntityKey.equals:(Ljava/lang/Object;)Z
            ifne 46
        45: .line 645
            goto 47
        end local 7 // org.hibernate.engine.spi.EntityKey checkKey
        46: .line 635
      StackMap locals:
      StackMap stack:
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.previous:()Z
            ifne 37
        47: .line 651
      StackMap locals:
      StackMap stack:
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
        48: .line 654
            aload 0 /* this */
            aload 1 /* resultSet */
            aload 2 /* session */
            aload 3 /* queryParameters */
            iload 4 /* returnProxies */
            aload 6 /* keyToRead */
            invokevirtual org.hibernate.loader.Loader.sequentialLoad:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
        49: areturn
        end local 6 // org.hibernate.engine.spi.EntityKey keyToRead
        50: .line 656
      StackMap locals: org.hibernate.loader.Loader java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.QueryParameters int int
      StackMap stack: java.sql.SQLException
            astore 6 /* sqle */
        start local 6 // java.sql.SQLException sqle
        51: .line 657
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        52: .line 658
            aload 6 /* sqle */
        53: .line 659
            ldc "could not doAfterTransactionCompletion sequential read of results (forward)"
        54: .line 660
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        55: .line 657
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 6 // java.sql.SQLException sqle
        end local 5 // boolean isLogicallyAfterLast
        end local 4 // boolean returnProxies
        end local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // java.sql.ResultSet resultSet
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   56     0                  this  Lorg/hibernate/loader/Loader;
            0   56     1             resultSet  Ljava/sql/ResultSet;
            0   56     2               session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   56     3       queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   56     4         returnProxies  Z
            0   56     5  isLogicallyAfterLast  Z
            3   50     6             keyToRead  Lorg/hibernate/engine/spi/EntityKey;
           15   36     7             firstPass  Z
           22   36     8               lastKey  Lorg/hibernate/engine/spi/EntityKey;
           30   35     9              checkKey  Lorg/hibernate/engine/spi/EntityKey;
           44   46     7              checkKey  Lorg/hibernate/engine/spi/EntityKey;
           51   56     6                  sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0     1      50  Class java.sql.SQLException
           2    49      50  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                      Name  Flags
      resultSet             final
      session               final
      queryParameters       final
      returnProxies         final
      isLogicallyAfterLast  final

  private static org.hibernate.engine.spi.EntityKey getOptionalObjectKey(org.hibernate.engine.spi.QueryParameters, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/engine/spi/EntityKey;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 666
            aload 0 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getOptionalObject:()Ljava/lang/Object;
            astore 2 /* optionalObject */
        start local 2 // java.lang.Object optionalObject
         1: .line 667
            aload 0 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getOptionalId:()Ljava/io/Serializable;
            astore 3 /* optionalId */
        start local 3 // java.io.Serializable optionalId
         2: .line 668
            aload 0 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getOptionalEntityName:()Ljava/lang/String;
            astore 4 /* optionalEntityName */
        start local 4 // java.lang.String optionalEntityName
         3: .line 670
            aload 2 /* optionalObject */
            ifnull 10
            aload 4 /* optionalEntityName */
            ifnull 10
         4: .line 671
            aload 1 /* session */
         5: .line 672
            aload 3 /* optionalId */
            aload 1 /* session */
         6: .line 673
            aload 4 /* optionalEntityName */
         7: .line 674
            aload 2 /* optionalObject */
         8: .line 672
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getEntityPersister:(Ljava/lang/String;Ljava/lang/Object;)Lorg/hibernate/persister/entity/EntityPersister;
         9: .line 671
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            areturn
        10: .line 679
      StackMap locals: java.lang.Object java.io.Serializable java.lang.String
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.String optionalEntityName
        end local 3 // java.io.Serializable optionalId
        end local 2 // java.lang.Object optionalObject
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.engine.spi.QueryParameters queryParameters
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0     queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   11     1             session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   11     2      optionalObject  Ljava/lang/Object;
            2   11     3          optionalId  Ljava/io/Serializable;
            3   11     4  optionalEntityName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      queryParameters  
      session          

  private java.lang.Object getRowFromResultSet(java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, org.hibernate.LockMode[], org.hibernate.engine.spi.EntityKey, java.util.List, org.hibernate.engine.spi.EntityKey[], boolean);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/EntityKey;Ljava/util/List;[Lorg/hibernate/engine/spi/EntityKey;Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=9, args_size=9
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet resultSet
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 4 // org.hibernate.LockMode[] lockModesArray
        start local 5 // org.hibernate.engine.spi.EntityKey optionalObjectKey
        start local 6 // java.util.List hydratedObjects
        start local 7 // org.hibernate.engine.spi.EntityKey[] keys
        start local 8 // boolean returnProxies
         0: .line 693
            aload 0 /* this */
         1: .line 694
            aload 1 /* resultSet */
         2: .line 695
            aload 2 /* session */
         3: .line 696
            aload 3 /* queryParameters */
         4: .line 697
            aload 4 /* lockModesArray */
         5: .line 698
            aload 5 /* optionalObjectKey */
         6: .line 699
            aload 6 /* hydratedObjects */
         7: .line 700
            aload 7 /* keys */
         8: .line 701
            iload 8 /* returnProxies */
         9: .line 702
            aconst_null
        10: .line 693
            invokevirtual org.hibernate.loader.Loader.getRowFromResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/EntityKey;Ljava/util/List;[Lorg/hibernate/engine/spi/EntityKey;ZLorg/hibernate/transform/ResultTransformer;)Ljava/lang/Object;
            areturn
        end local 8 // boolean returnProxies
        end local 7 // org.hibernate.engine.spi.EntityKey[] keys
        end local 6 // java.util.List hydratedObjects
        end local 5 // org.hibernate.engine.spi.EntityKey optionalObjectKey
        end local 4 // org.hibernate.LockMode[] lockModesArray
        end local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // java.sql.ResultSet resultSet
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lorg/hibernate/loader/Loader;
            0   11     1          resultSet  Ljava/sql/ResultSet;
            0   11     2            session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   11     3    queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   11     4     lockModesArray  [Lorg/hibernate/LockMode;
            0   11     5  optionalObjectKey  Lorg/hibernate/engine/spi/EntityKey;
            0   11     6    hydratedObjects  Ljava/util/List;
            0   11     7               keys  [Lorg/hibernate/engine/spi/EntityKey;
            0   11     8      returnProxies  Z
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                   Name  Flags
      resultSet          final
      session            final
      queryParameters    final
      lockModesArray     final
      optionalObjectKey  final
      hydratedObjects    final
      keys               final
      returnProxies      

  private java.lang.Object getRowFromResultSet(java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, org.hibernate.LockMode[], org.hibernate.engine.spi.EntityKey, java.util.List, org.hibernate.engine.spi.EntityKey[], boolean, org.hibernate.transform.ResultTransformer);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/EntityKey;Ljava/util/List;[Lorg/hibernate/engine/spi/EntityKey;ZLorg/hibernate/transform/ResultTransformer;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=16, args_size=10
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet resultSet
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 4 // org.hibernate.LockMode[] lockModesArray
        start local 5 // org.hibernate.engine.spi.EntityKey optionalObjectKey
        start local 6 // java.util.List hydratedObjects
        start local 7 // org.hibernate.engine.spi.EntityKey[] keys
        start local 8 // boolean returnProxies
        start local 9 // org.hibernate.transform.ResultTransformer forcedResultTransformer
         0: .line 716
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            astore 10 /* persisters */
        start local 10 // org.hibernate.persister.entity.Loadable[] persisters
         1: .line 717
            aload 10 /* persisters */
            arraylength
            istore 11 /* entitySpan */
        start local 11 // int entitySpan
         2: .line 718
            aload 0 /* this */
         3: .line 719
            aload 10 /* persisters */
         4: .line 720
            aload 3 /* queryParameters */
         5: .line 721
            aload 1 /* resultSet */
         6: .line 722
            aload 2 /* session */
         7: .line 723
            aload 7 /* keys */
         8: .line 724
            aload 4 /* lockModesArray */
         9: .line 725
            aload 6 /* hydratedObjects */
        10: .line 718
            invokevirtual org.hibernate.loader.Loader.extractKeysFromResultSet:([Lorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/QueryParameters;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;[Lorg/hibernate/engine/spi/EntityKey;[Lorg/hibernate/LockMode;Ljava/util/List;)V
        11: .line 728
            aload 0 /* this */
            aload 7 /* keys */
            aload 10 /* persisters */
            aload 2 /* session */
            invokevirtual org.hibernate.loader.Loader.registerNonExists:([Lorg/hibernate/engine/spi/EntityKey;[Lorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        12: .line 731
            aload 0 /* this */
        13: .line 732
            aload 1 /* resultSet */
        14: .line 733
            aload 10 /* persisters */
        15: .line 734
            aload 7 /* keys */
        16: .line 735
            aload 3 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getOptionalObject:()Ljava/lang/Object;
        17: .line 736
            aload 5 /* optionalObjectKey */
        18: .line 737
            aload 4 /* lockModesArray */
        19: .line 738
            aload 6 /* hydratedObjects */
        20: .line 739
            aload 2 /* session */
        21: .line 731
            invokevirtual org.hibernate.loader.Loader.getRow:(Ljava/sql/ResultSet;[Lorg/hibernate/persister/entity/Loadable;[Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Lorg/hibernate/engine/spi/EntityKey;[Lorg/hibernate/LockMode;Ljava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)[Ljava/lang/Object;
            astore 12 /* row */
        start local 12 // java.lang.Object[] row
        22: .line 742
            aload 0 /* this */
            aload 12 /* row */
            aload 1 /* resultSet */
            aload 2 /* session */
            invokevirtual org.hibernate.loader.Loader.readCollectionElements:([Ljava/lang/Object;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        23: .line 744
            iload 8 /* returnProxies */
            ifeq 33
        24: .line 746
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        25: goto 32
        26: .line 747
      StackMap locals: org.hibernate.loader.Loader java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.QueryParameters org.hibernate.LockMode[] org.hibernate.engine.spi.EntityKey java.util.List org.hibernate.engine.spi.EntityKey[] int org.hibernate.transform.ResultTransformer org.hibernate.persister.entity.Loadable[] int java.lang.Object[] int
      StackMap stack:
            aload 12 /* row */
            iload 13 /* i */
            aaload
            astore 14 /* entity */
        start local 14 // java.lang.Object entity
        27: .line 748
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 10 /* persisters */
            iload 13 /* i */
            aaload
            aload 7 /* keys */
            iload 13 /* i */
            aaload
            aload 14 /* entity */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.proxyFor:(Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;)Ljava/lang/Object;
            astore 15 /* proxy */
        start local 15 // java.lang.Object proxy
        28: .line 749
            aload 14 /* entity */
            aload 15 /* proxy */
            if_acmpeq 31
        29: .line 751
            aload 15 /* proxy */
            checkcast org.hibernate.proxy.HibernateProxy
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            aload 14 /* entity */
            invokeinterface org.hibernate.proxy.LazyInitializer.setImplementation:(Ljava/lang/Object;)V
        30: .line 752
            aload 12 /* row */
            iload 13 /* i */
            aload 15 /* proxy */
            aastore
        end local 15 // java.lang.Object proxy
        end local 14 // java.lang.Object entity
        31: .line 746
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 13 /* i */
            iload 11 /* entitySpan */
            if_icmplt 26
        end local 13 // int i
        33: .line 757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* row */
            aload 4 /* lockModesArray */
            aload 2 /* session */
            invokevirtual org.hibernate.loader.Loader.applyPostLoadLocks:([Ljava/lang/Object;[Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        34: .line 759
            aload 9 /* forcedResultTransformer */
            ifnonnull 36
        35: .line 760
            aload 0 /* this */
            aload 12 /* row */
            aload 3 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
            aload 1 /* resultSet */
            aload 2 /* session */
            invokevirtual org.hibernate.loader.Loader.getResultColumnOrRow:([Ljava/lang/Object;Lorg/hibernate/transform/ResultTransformer;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
            goto 40
        36: .line 761
      StackMap locals:
      StackMap stack:
            aload 9 /* forcedResultTransformer */
        37: .line 762
            aload 0 /* this */
            aload 12 /* row */
            aload 1 /* resultSet */
            aload 2 /* session */
            invokevirtual org.hibernate.loader.Loader.getResultRow:([Ljava/lang/Object;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)[Ljava/lang/Object;
        38: .line 763
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getResultRowAliases:()[Ljava/lang/String;
        39: .line 761
            invokeinterface org.hibernate.transform.ResultTransformer.transformTuple:([Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        40: .line 759
      StackMap locals:
      StackMap stack: java.lang.Object
            areturn
        end local 12 // java.lang.Object[] row
        end local 11 // int entitySpan
        end local 10 // org.hibernate.persister.entity.Loadable[] persisters
        end local 9 // org.hibernate.transform.ResultTransformer forcedResultTransformer
        end local 8 // boolean returnProxies
        end local 7 // org.hibernate.engine.spi.EntityKey[] keys
        end local 6 // java.util.List hydratedObjects
        end local 5 // org.hibernate.engine.spi.EntityKey optionalObjectKey
        end local 4 // org.hibernate.LockMode[] lockModesArray
        end local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // java.sql.ResultSet resultSet
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   41     0                     this  Lorg/hibernate/loader/Loader;
            0   41     1                resultSet  Ljava/sql/ResultSet;
            0   41     2                  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   41     3          queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   41     4           lockModesArray  [Lorg/hibernate/LockMode;
            0   41     5        optionalObjectKey  Lorg/hibernate/engine/spi/EntityKey;
            0   41     6          hydratedObjects  Ljava/util/List;
            0   41     7                     keys  [Lorg/hibernate/engine/spi/EntityKey;
            0   41     8            returnProxies  Z
            0   41     9  forcedResultTransformer  Lorg/hibernate/transform/ResultTransformer;
            1   41    10               persisters  [Lorg/hibernate/persister/entity/Loadable;
            2   41    11               entitySpan  I
           22   41    12                      row  [Ljava/lang/Object;
           25   33    13                        i  I
           27   31    14                   entity  Ljava/lang/Object;
           28   31    15                    proxy  Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                         Name  Flags
      resultSet                final
      session                  final
      queryParameters          final
      lockModesArray           final
      optionalObjectKey        final
      hydratedObjects          final
      keys                     final
      returnProxies            
      forcedResultTransformer  

  protected void extractKeysFromResultSet(org.hibernate.persister.entity.Loadable[], org.hibernate.engine.spi.QueryParameters, java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.EntityKey[], org.hibernate.LockMode[], java.util.List);
    descriptor: ([Lorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/QueryParameters;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;[Lorg/hibernate/engine/spi/EntityKey;[Lorg/hibernate/LockMode;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=11, locals=21, args_size=8
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.persister.entity.Loadable[] persisters
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // java.sql.ResultSet resultSet
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 5 // org.hibernate.engine.spi.EntityKey[] keys
        start local 6 // org.hibernate.LockMode[] lockModes
        start local 7 // java.util.List hydratedObjects
         0: .line 776
            aload 1 /* persisters */
            arraylength
            istore 8 /* entitySpan */
        start local 8 // int entitySpan
         1: .line 779
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getOptionalId:()Ljava/io/Serializable;
            astore 10 /* optionalId */
        start local 10 // java.io.Serializable optionalId
         2: .line 780
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.isSingleRowLoader:()Z
            ifeq 6
            aload 10 /* optionalId */
            ifnull 6
         3: .line 781
            aload 5 /* keys */
            iload 8 /* entitySpan */
            iconst_1
            isub
            aload 4 /* session */
            aload 10 /* optionalId */
            aload 1 /* persisters */
            iload 8 /* entitySpan */
            iconst_1
            isub
            aaload
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            aastore
         4: .line 783
            iload 8 /* entitySpan */
            iconst_1
            isub
            istore 9 /* numberOfPersistersToProcess */
        start local 9 // int numberOfPersistersToProcess
         5: .line 784
            goto 7
        end local 9 // int numberOfPersistersToProcess
         6: .line 786
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.EntityKey[] org.hibernate.LockMode[] java.util.List int top java.io.Serializable
      StackMap stack:
            iload 8 /* entitySpan */
            istore 9 /* numberOfPersistersToProcess */
        start local 9 // int numberOfPersistersToProcess
         7: .line 789
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.EntityKey[] org.hibernate.LockMode[] java.util.List int int java.io.Serializable
      StackMap stack:
            iload 9 /* numberOfPersistersToProcess */
            anewarray java.lang.Object
            astore 11 /* hydratedKeyState */
        start local 11 // java.lang.Object[] hydratedKeyState
         8: .line 791
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         9: goto 18
        10: .line 792
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 1 /* persisters */
            iload 12 /* i */
            aaload
            invokeinterface org.hibernate.persister.entity.Loadable.getIdentifierType:()Lorg/hibernate/type/Type;
            astore 13 /* idType */
        start local 13 // org.hibernate.type.Type idType
        11: .line 793
            aload 11 /* hydratedKeyState */
            iload 12 /* i */
            aload 13 /* idType */
        12: .line 794
            aload 3 /* resultSet */
        13: .line 795
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityAliases:()[Lorg/hibernate/loader/EntityAliases;
            iload 12 /* i */
            aaload
            invokeinterface org.hibernate.loader.EntityAliases.getSuffixedKeyAliases:()[Ljava/lang/String;
        14: .line 796
            aload 4 /* session */
        15: .line 797
            aconst_null
        16: .line 793
            invokeinterface org.hibernate.type.Type.hydrate:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        end local 13 // org.hibernate.type.Type idType
        17: .line 791
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 12 /* i */
            iload 9 /* numberOfPersistersToProcess */
            if_icmplt 10
        end local 12 // int i
        19: .line 801
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        20: goto 69
        21: .line 802
      StackMap locals:
      StackMap stack:
            aload 1 /* persisters */
            iload 12 /* i */
            aaload
            invokeinterface org.hibernate.persister.entity.Loadable.getIdentifierType:()Lorg/hibernate/type/Type;
            astore 13 /* idType */
        start local 13 // org.hibernate.type.Type idType
        22: .line 803
            aload 13 /* idType */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 61
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCompositeKeyManyToOneTargetIndices:()[[I
            ifnull 61
        23: .line 805
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCompositeKeyManyToOneTargetIndices:()[[I
            iload 12 /* i */
            aaload
            astore 14 /* keyManyToOneTargetIndices */
        start local 14 // int[] keyManyToOneTargetIndices
        24: .line 808
            aload 14 /* keyManyToOneTargetIndices */
            ifnull 61
        25: .line 809
            aload 14 /* keyManyToOneTargetIndices */
            dup
            astore 18
            arraylength
            istore 17
            iconst_0
            istore 16
            goto 60
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.EntityKey[] org.hibernate.LockMode[] java.util.List int int java.io.Serializable java.lang.Object[] int org.hibernate.type.Type int[] top int int int[]
      StackMap stack:
        26: aload 18
            iload 16
            iaload
            istore 15 /* targetIndex */
        start local 15 // int targetIndex
        27: .line 810
            iload 15 /* targetIndex */
            iload 9 /* numberOfPersistersToProcess */
            if_icmpge 35
        28: .line 811
            aload 1 /* persisters */
            iload 15 /* targetIndex */
            aaload
            invokeinterface org.hibernate.persister.entity.Loadable.getIdentifierType:()Lorg/hibernate/type/Type;
            astore 19 /* targetIdType */
        start local 19 // org.hibernate.type.Type targetIdType
        29: .line 812
            aload 19 /* targetIdType */
        30: .line 813
            aload 11 /* hydratedKeyState */
            iload 15 /* targetIndex */
            aaload
        31: .line 814
            aload 4 /* session */
        32: .line 815
            aconst_null
        33: .line 812
            invokeinterface org.hibernate.type.Type.resolve:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 20 /* targetId */
        start local 20 // java.io.Serializable targetId
        34: .line 818
            aload 5 /* keys */
            iload 15 /* targetIndex */
            aload 4 /* session */
            aload 20 /* targetId */
            aload 1 /* persisters */
            iload 15 /* targetIndex */
            aaload
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            aastore
        end local 20 // java.io.Serializable targetId
        end local 19 // org.hibernate.type.Type targetIdType
        35: .line 822
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.EntityKey[] org.hibernate.LockMode[] java.util.List int int java.io.Serializable java.lang.Object[] int org.hibernate.type.Type int[] int int int int[]
      StackMap stack:
            aload 4 /* session */
            aload 5 /* keys */
            iload 15 /* targetIndex */
            aaload
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getEntityUsingInterceptor:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            astore 19 /* object */
        start local 19 // java.lang.Object object
        36: .line 823
            aload 19 /* object */
            ifnull 47
        37: .line 825
            aload 0 /* this */
        38: .line 826
            aload 3 /* resultSet */
        39: .line 827
            iload 15 /* targetIndex */
        40: .line 828
            aload 1 /* persisters */
            iload 15 /* targetIndex */
            aaload
        41: .line 829
            aload 5 /* keys */
            iload 15 /* targetIndex */
            aaload
        42: .line 830
            aload 19 /* object */
        43: .line 831
            aload 6 /* lockModes */
            iload 15 /* targetIndex */
            aaload
        44: .line 832
            aload 4 /* session */
        45: .line 825
            invokevirtual org.hibernate.loader.Loader.instanceAlreadyLoaded:(Ljava/sql/ResultSet;ILorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        46: .line 834
            goto 59
        47: .line 836
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
        48: .line 837
            aload 3 /* resultSet */
        49: .line 838
            iload 15 /* targetIndex */
        50: .line 839
            aload 1 /* persisters */
            iload 15 /* targetIndex */
            aaload
        51: .line 840
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityAliases:()[Lorg/hibernate/loader/EntityAliases;
            iload 15 /* targetIndex */
            aaload
            invokeinterface org.hibernate.loader.EntityAliases.getRowIdAlias:()Ljava/lang/String;
        52: .line 841
            aload 5 /* keys */
            iload 15 /* targetIndex */
            aaload
        53: .line 842
            aload 6 /* lockModes */
            iload 15 /* targetIndex */
            aaload
        54: .line 843
            aload 2 /* queryParameters */
            aload 4 /* session */
            invokestatic org.hibernate.loader.Loader.getOptionalObjectKey:(Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/engine/spi/EntityKey;
        55: .line 844
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getOptionalObject:()Ljava/lang/Object;
        56: .line 845
            aload 7 /* hydratedObjects */
        57: .line 846
            aload 4 /* session */
        58: .line 836
            invokevirtual org.hibernate.loader.Loader.instanceNotYetLoaded:(Ljava/sql/ResultSet;ILorg/hibernate/persister/entity/Loadable;Ljava/lang/String;Lorg/hibernate/engine/spi/EntityKey;Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Ljava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
            pop
        end local 19 // java.lang.Object object
        end local 15 // int targetIndex
        59: .line 809
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.EntityKey[] org.hibernate.LockMode[] java.util.List int int java.io.Serializable java.lang.Object[] int org.hibernate.type.Type int[] top int int int[]
      StackMap stack:
            iinc 16 1
      StackMap locals:
      StackMap stack:
        60: iload 16
            iload 17
            if_icmplt 26
        end local 14 // int[] keyManyToOneTargetIndices
        61: .line 861
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.EntityKey[] org.hibernate.LockMode[] java.util.List int int java.io.Serializable java.lang.Object[] int org.hibernate.type.Type
      StackMap stack:
            aload 11 /* hydratedKeyState */
            iload 12 /* i */
            aaload
            ifnull 64
        62: .line 862
            aload 13 /* idType */
            aload 11 /* hydratedKeyState */
            iload 12 /* i */
            aaload
            aload 4 /* session */
            aconst_null
            invokeinterface org.hibernate.type.Type.resolve:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 14 /* resolvedId */
        start local 14 // java.io.Serializable resolvedId
        63: .line 863
            goto 65
        end local 14 // java.io.Serializable resolvedId
        64: .line 865
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 14 /* resolvedId */
        start local 14 // java.io.Serializable resolvedId
        65: .line 867
      StackMap locals: java.io.Serializable
      StackMap stack:
            aload 5 /* keys */
            iload 12 /* i */
            aload 14 /* resolvedId */
            ifnonnull 66
            aconst_null
            goto 67
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.EntityKey[] org.hibernate.LockMode[] java.util.List int int java.io.Serializable java.lang.Object[] int org.hibernate.type.Type java.io.Serializable
      StackMap stack: org.hibernate.engine.spi.EntityKey[] int
        66: aload 4 /* session */
            aload 14 /* resolvedId */
            aload 1 /* persisters */
            iload 12 /* i */
            aaload
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.EntityKey[] org.hibernate.LockMode[] java.util.List int int java.io.Serializable java.lang.Object[] int org.hibernate.type.Type java.io.Serializable
      StackMap stack: org.hibernate.engine.spi.EntityKey[] int org.hibernate.engine.spi.EntityKey
        67: aastore
        end local 14 // java.io.Serializable resolvedId
        end local 13 // org.hibernate.type.Type idType
        68: .line 801
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        69: iload 12 /* i */
            iload 9 /* numberOfPersistersToProcess */
            if_icmplt 21
        end local 12 // int i
        70: .line 869
            return
        end local 11 // java.lang.Object[] hydratedKeyState
        end local 10 // java.io.Serializable optionalId
        end local 9 // int numberOfPersistersToProcess
        end local 8 // int entitySpan
        end local 7 // java.util.List hydratedObjects
        end local 6 // org.hibernate.LockMode[] lockModes
        end local 5 // org.hibernate.engine.spi.EntityKey[] keys
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // java.sql.ResultSet resultSet
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.persister.entity.Loadable[] persisters
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   71     0                         this  Lorg/hibernate/loader/Loader;
            0   71     1                   persisters  [Lorg/hibernate/persister/entity/Loadable;
            0   71     2              queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   71     3                    resultSet  Ljava/sql/ResultSet;
            0   71     4                      session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   71     5                         keys  [Lorg/hibernate/engine/spi/EntityKey;
            0   71     6                    lockModes  [Lorg/hibernate/LockMode;
            0   71     7              hydratedObjects  Ljava/util/List;
            1   71     8                   entitySpan  I
            5    6     9  numberOfPersistersToProcess  I
            7   71     9  numberOfPersistersToProcess  I
            2   71    10                   optionalId  Ljava/io/Serializable;
            8   71    11             hydratedKeyState  [Ljava/lang/Object;
            9   19    12                            i  I
           11   17    13                       idType  Lorg/hibernate/type/Type;
           20   70    12                            i  I
           22   68    13                       idType  Lorg/hibernate/type/Type;
           24   61    14    keyManyToOneTargetIndices  [I
           27   59    15                  targetIndex  I
           29   35    19                 targetIdType  Lorg/hibernate/type/Type;
           34   35    20                     targetId  Ljava/io/Serializable;
           36   59    19                       object  Ljava/lang/Object;
           63   64    14                   resolvedId  Ljava/io/Serializable;
           65   68    14                   resolvedId  Ljava/io/Serializable;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                 Name  Flags
      persisters       
      queryParameters  
      resultSet        
      session          
      keys             
      lockModes        
      hydratedObjects  

  protected void applyPostLoadLocks(java.lang.Object[], org.hibernate.LockMode[], org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: ([Ljava/lang/Object;[Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.Object[] row
        start local 2 // org.hibernate.LockMode[] lockModesArray
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 872
            return
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // org.hibernate.LockMode[] lockModesArray
        end local 1 // java.lang.Object[] row
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/hibernate/loader/Loader;
            0    1     1             row  [Ljava/lang/Object;
            0    1     2  lockModesArray  [Lorg/hibernate/LockMode;
            0    1     3         session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    MethodParameters:
                Name  Flags
      row             
      lockModesArray  
      session         

  private void readCollectionElements(java.lang.Object[], java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: ([Ljava/lang/Object;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.Object[] row
        start local 2 // java.sql.ResultSet resultSet
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 882
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCollectionPersisters:()[Lorg/hibernate/persister/collection/CollectionPersister;
            astore 4 /* collectionPersisters */
        start local 4 // org.hibernate.persister.collection.CollectionPersister[] collectionPersisters
         1: .line 883
            aload 4 /* collectionPersisters */
            ifnull 30
         2: .line 885
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCollectionAliases:()[Lorg/hibernate/loader/CollectionAliases;
            astore 5 /* descriptors */
        start local 5 // org.hibernate.loader.CollectionAliases[] descriptors
         3: .line 886
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCollectionOwners:()[I
            astore 6 /* collectionOwners */
        start local 6 // int[] collectionOwners
         4: .line 888
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 29
         6: .line 890
      StackMap locals: org.hibernate.loader.Loader java.lang.Object[] java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.collection.CollectionPersister[] org.hibernate.loader.CollectionAliases[] int[] int
      StackMap stack:
            aload 6 /* collectionOwners */
            ifnull 9
         7: .line 891
            aload 6 /* collectionOwners */
            iload 7 /* i */
            iaload
            iconst_m1
         8: .line 890
            if_icmple 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 8 /* hasCollectionOwners */
        start local 8 // boolean hasCollectionOwners
        11: .line 895
            iload 8 /* hasCollectionOwners */
            ifeq 13
        12: .line 896
            aload 1 /* row */
            aload 6 /* collectionOwners */
            iload 7 /* i */
            iaload
            aaload
            goto 14
        13: .line 897
      StackMap locals: int
      StackMap stack:
            aconst_null
        14: .line 895
      StackMap locals:
      StackMap stack: java.lang.Object
            astore 9 /* owner */
        start local 9 // java.lang.Object owner
        15: .line 899
            aload 4 /* collectionPersisters */
            iload 7 /* i */
            aaload
            astore 10 /* collectionPersister */
        start local 10 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        16: .line 901
            aload 9 /* owner */
            ifnonnull 19
        17: .line 902
            aconst_null
            astore 11 /* key */
        start local 11 // java.io.Serializable key
        18: .line 903
            goto 20
        end local 11 // java.io.Serializable key
        19: .line 905
      StackMap locals: java.lang.Object org.hibernate.persister.collection.CollectionPersister
      StackMap stack:
            aload 10 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getCollectionType:()Lorg/hibernate/type/CollectionType;
            aload 9 /* owner */
            aload 3 /* session */
            invokevirtual org.hibernate.type.CollectionType.getKeyOfOwner:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/io/Serializable;
            astore 11 /* key */
        start local 11 // java.io.Serializable key
        20: .line 910
      StackMap locals: java.io.Serializable
      StackMap stack:
            aload 0 /* this */
        21: .line 911
            aload 9 /* owner */
        22: .line 912
            aload 11 /* key */
        23: .line 913
            aload 10 /* collectionPersister */
        24: .line 914
            aload 5 /* descriptors */
            iload 7 /* i */
            aaload
        25: .line 915
            aload 2 /* resultSet */
        26: .line 916
            aload 3 /* session */
        27: .line 910
            invokevirtual org.hibernate.loader.Loader.readCollectionElement:(Ljava/lang/Object;Ljava/io/Serializable;Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/loader/CollectionAliases;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        end local 11 // java.io.Serializable key
        end local 10 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        end local 9 // java.lang.Object owner
        end local 8 // boolean hasCollectionOwners
        28: .line 888
            iinc 7 /* i */ 1
      StackMap locals: org.hibernate.loader.Loader java.lang.Object[] java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.collection.CollectionPersister[] org.hibernate.loader.CollectionAliases[] int[] int
      StackMap stack:
        29: iload 7 /* i */
            aload 4 /* collectionPersisters */
            arraylength
            if_icmplt 6
        end local 7 // int i
        end local 6 // int[] collectionOwners
        end local 5 // org.hibernate.loader.CollectionAliases[] descriptors
        30: .line 922
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.hibernate.persister.collection.CollectionPersister[] collectionPersisters
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.sql.ResultSet resultSet
        end local 1 // java.lang.Object[] row
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   31     0                  this  Lorg/hibernate/loader/Loader;
            0   31     1                   row  [Ljava/lang/Object;
            0   31     2             resultSet  Ljava/sql/ResultSet;
            0   31     3               session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   31     4  collectionPersisters  [Lorg/hibernate/persister/collection/CollectionPersister;
            3   30     5           descriptors  [Lorg/hibernate/loader/CollectionAliases;
            4   30     6      collectionOwners  [I
            5   30     7                     i  I
           11   28     8   hasCollectionOwners  Z
           15   28     9                 owner  Ljava/lang/Object;
           16   28    10   collectionPersister  Lorg/hibernate/persister/collection/CollectionPersister;
           18   19    11                   key  Ljava/io/Serializable;
           20   28    11                   key  Ljava/io/Serializable;
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
           Name  Flags
      row        
      resultSet  
      session    

  private java.util.List doQuery(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, boolean, org.hibernate.transform.ResultTransformer);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=13, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // boolean returnProxies
        start local 4 // org.hibernate.transform.ResultTransformer forcedResultTransformer
         0: .line 930
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getRowSelection:()Lorg/hibernate/engine/spi/RowSelection;
            astore 5 /* selection */
        start local 5 // org.hibernate.engine.spi.RowSelection selection
         1: .line 931
            aload 5 /* selection */
            invokestatic org.hibernate.dialect.pagination.LimitHelper.hasMaxRows:(Lorg/hibernate/engine/spi/RowSelection;)Z
            ifeq 3
         2: .line 932
            aload 5 /* selection */
            invokevirtual org.hibernate.engine.spi.RowSelection.getMaxRows:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            goto 4
         3: .line 933
      StackMap locals: org.hibernate.engine.spi.RowSelection
      StackMap stack:
            ldc 2147483647
         4: .line 931
      StackMap locals:
      StackMap stack: int
            istore 6 /* maxRows */
        start local 6 // int maxRows
         5: .line 935
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* afterLoadActions */
        start local 7 // java.util.List afterLoadActions
         6: .line 937
            aload 0 /* this */
            aload 2 /* queryParameters */
            iconst_0
            aload 7 /* afterLoadActions */
            aload 1 /* session */
            invokevirtual org.hibernate.loader.Loader.executeQueryStatement:(Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
            astore 8 /* wrapper */
        start local 8 // org.hibernate.loader.Loader$SqlStatementWrapper wrapper
         7: .line 938
            aload 8 /* wrapper */
            invokevirtual org.hibernate.loader.Loader$SqlStatementWrapper.getResultSet:()Ljava/sql/ResultSet;
            astore 9 /* rs */
        start local 9 // java.sql.ResultSet rs
         8: .line 939
            aload 8 /* wrapper */
            invokevirtual org.hibernate.loader.Loader$SqlStatementWrapper.getStatement:()Ljava/sql/Statement;
            astore 10 /* st */
        start local 10 // java.sql.Statement st
         9: .line 948
            aload 0 /* this */
        10: .line 949
            aload 9 /* rs */
        11: .line 950
            aload 2 /* queryParameters */
        12: .line 951
            aload 1 /* session */
        13: .line 952
            iload 3 /* returnProxies */
        14: .line 953
            aload 4 /* forcedResultTransformer */
        15: .line 954
            iload 6 /* maxRows */
        16: .line 955
            aload 7 /* afterLoadActions */
        17: .line 948
            invokevirtual org.hibernate.loader.Loader.processResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;ZLorg/hibernate/transform/ResultTransformer;ILjava/util/List;)Ljava/util/List;
            astore 12
        18: .line 959
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getLogicalConnection:()Lorg/hibernate/resource/jdbc/spi/LogicalConnectionImplementor;
            invokeinterface org.hibernate.resource.jdbc.spi.LogicalConnectionImplementor.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 10 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        19: .line 960
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        20: .line 948
            aload 12
            areturn
        21: .line 958
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.QueryParameters int org.hibernate.transform.ResultTransformer org.hibernate.engine.spi.RowSelection int java.util.List org.hibernate.loader.Loader$SqlStatementWrapper java.sql.ResultSet java.sql.Statement
      StackMap stack: java.lang.Throwable
            astore 11
        22: .line 959
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getLogicalConnection:()Lorg/hibernate/resource/jdbc/spi/LogicalConnectionImplementor;
            invokeinterface org.hibernate.resource.jdbc.spi.LogicalConnectionImplementor.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 10 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        23: .line 960
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        24: .line 961
            aload 11
            athrow
        end local 10 // java.sql.Statement st
        end local 9 // java.sql.ResultSet rs
        end local 8 // org.hibernate.loader.Loader$SqlStatementWrapper wrapper
        end local 7 // java.util.List afterLoadActions
        end local 6 // int maxRows
        end local 5 // org.hibernate.engine.spi.RowSelection selection
        end local 4 // org.hibernate.transform.ResultTransformer forcedResultTransformer
        end local 3 // boolean returnProxies
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   25     0                     this  Lorg/hibernate/loader/Loader;
            0   25     1                  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   25     2          queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   25     3            returnProxies  Z
            0   25     4  forcedResultTransformer  Lorg/hibernate/transform/ResultTransformer;
            1   25     5                selection  Lorg/hibernate/engine/spi/RowSelection;
            5   25     6                  maxRows  I
            6   25     7         afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            7   25     8                  wrapper  Lorg/hibernate/loader/Loader$SqlStatementWrapper;
            8   25     9                       rs  Ljava/sql/ResultSet;
            9   25    10                       st  Ljava/sql/Statement;
      Exception table:
        from    to  target  type
           9    18      21  any
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                         Name  Flags
      session                  final
      queryParameters          final
      returnProxies            final
      forcedResultTransformer  final

  protected java.util.List processResultSet(java.sql.ResultSet, org.hibernate.engine.spi.QueryParameters, org.hibernate.engine.spi.SharedSessionContractImplementor, boolean, org.hibernate.transform.ResultTransformer, int, java.util.List<org.hibernate.loader.spi.AfterLoadAction>);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;ZLorg/hibernate/transform/ResultTransformer;ILjava/util/List;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=18, args_size=8
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet rs
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 4 // boolean returnProxies
        start local 5 // org.hibernate.transform.ResultTransformer forcedResultTransformer
        start local 6 // int maxRows
        start local 7 // java.util.List afterLoadActions
         0: .line 973
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            arraylength
            istore 8 /* entitySpan */
        start local 8 // int entitySpan
         1: .line 974
            aload 2 /* queryParameters */
            aload 3 /* session */
            invokestatic org.hibernate.loader.Loader.getOptionalObjectKey:(Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 9 /* optionalObjectKey */
        start local 9 // org.hibernate.engine.spi.EntityKey optionalObjectKey
         2: .line 975
            aload 0 /* this */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getLockOptions:()Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.loader.Loader.getLockModes:(Lorg/hibernate/LockOptions;)[Lorg/hibernate/LockMode;
            astore 10 /* lockModesArray */
        start local 10 // org.hibernate.LockMode[] lockModesArray
         3: .line 976
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.isSubselectLoadingEnabled:()Z
            istore 11 /* createSubselects */
        start local 11 // boolean createSubselects
         4: .line 977
            iload 11 /* createSubselects */
            ifeq 5
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            goto 6
      StackMap locals: org.hibernate.loader.Loader java.sql.ResultSet org.hibernate.engine.spi.QueryParameters org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.transform.ResultTransformer int java.util.List int org.hibernate.engine.spi.EntityKey org.hibernate.LockMode[] int
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: java.util.ArrayList
         6: astore 12 /* subselectResultKeys */
        start local 12 // java.util.List subselectResultKeys
         7: .line 978
            iload 8 /* entitySpan */
            ifne 8
            aconst_null
            goto 9
      StackMap locals: java.util.List
      StackMap stack:
         8: new java.util.ArrayList
            dup
            iload 8 /* entitySpan */
            bipush 10
            imul
            invokespecial java.util.ArrayList.<init>:(I)V
      StackMap locals:
      StackMap stack: java.util.ArrayList
         9: astore 13 /* hydratedObjects */
        start local 13 // java.util.ArrayList hydratedObjects
        10: .line 979
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 14 /* results */
        start local 14 // java.util.List results
        11: .line 981
            aload 0 /* this */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getCollectionKeys:()[Ljava/io/Serializable;
            aload 1 /* rs */
            aload 3 /* session */
            invokevirtual org.hibernate.loader.Loader.handleEmptyCollections:([Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        12: .line 982
            iload 8 /* entitySpan */
            anewarray org.hibernate.engine.spi.EntityKey
            astore 15 /* keys */
        start local 15 // org.hibernate.engine.spi.EntityKey[] keys
        13: .line 983
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Processing result set"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        14: .line 986
            iconst_0
            istore 16 /* count */
        start local 16 // int count
        15: goto 34
        16: .line 987
      StackMap locals: org.hibernate.loader.Loader java.sql.ResultSet org.hibernate.engine.spi.QueryParameters org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.transform.ResultTransformer int java.util.List int org.hibernate.engine.spi.EntityKey org.hibernate.LockMode[] int java.util.List java.util.ArrayList java.util.List org.hibernate.engine.spi.EntityKey[] int
      StackMap stack:
            getstatic org.hibernate.loader.Loader.DEBUG_ENABLED:Z
            ifeq 18
        17: .line 988
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Result set row: %s"
            iload 16 /* count */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;I)V
        18: .line 990
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        19: .line 991
            aload 1 /* rs */
        20: .line 992
            aload 3 /* session */
        21: .line 993
            aload 2 /* queryParameters */
        22: .line 994
            aload 10 /* lockModesArray */
        23: .line 995
            aload 9 /* optionalObjectKey */
        24: .line 996
            aload 13 /* hydratedObjects */
        25: .line 997
            aload 15 /* keys */
        26: .line 998
            iload 4 /* returnProxies */
        27: .line 999
            aload 5 /* forcedResultTransformer */
        28: .line 990
            invokevirtual org.hibernate.loader.Loader.getRowFromResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/EntityKey;Ljava/util/List;[Lorg/hibernate/engine/spi/EntityKey;ZLorg/hibernate/transform/ResultTransformer;)Ljava/lang/Object;
            astore 17 /* result */
        start local 17 // java.lang.Object result
        29: .line 1001
            aload 14 /* results */
            aload 17 /* result */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 1002
            iload 11 /* createSubselects */
            ifeq 33
        31: .line 1003
            aload 12 /* subselectResultKeys */
            aload 15 /* keys */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        32: .line 1004
            iload 8 /* entitySpan */
            anewarray org.hibernate.engine.spi.EntityKey
            astore 15 /* keys */
        end local 17 // java.lang.Object result
        33: .line 986
      StackMap locals:
      StackMap stack:
            iinc 16 /* count */ 1
      StackMap locals:
      StackMap stack:
        34: iload 16 /* count */
            iload 6 /* maxRows */
            if_icmpge 35
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 16
        35: .line 1008
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done processing result set ({0} rows)"
            iload 16 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
        36: .line 1010
            aload 0 /* this */
        37: .line 1011
            aload 13 /* hydratedObjects */
        38: .line 1012
            aload 1 /* rs */
        39: .line 1013
            aload 3 /* session */
        40: .line 1014
            aload 2 /* queryParameters */
            aload 3 /* session */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnly:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
        41: .line 1015
            aload 7 /* afterLoadActions */
        42: .line 1010
            invokevirtual org.hibernate.loader.Loader.initializeEntitiesAndCollections:(Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;ZLjava/util/List;)V
        43: .line 1017
            iload 11 /* createSubselects */
            ifeq 45
        44: .line 1018
            aload 0 /* this */
            aload 12 /* subselectResultKeys */
            aload 2 /* queryParameters */
            aload 3 /* session */
            invokevirtual org.hibernate.loader.Loader.createSubselects:(Ljava/util/List;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        45: .line 1020
      StackMap locals:
      StackMap stack:
            aload 14 /* results */
            areturn
        end local 16 // int count
        end local 15 // org.hibernate.engine.spi.EntityKey[] keys
        end local 14 // java.util.List results
        end local 13 // java.util.ArrayList hydratedObjects
        end local 12 // java.util.List subselectResultKeys
        end local 11 // boolean createSubselects
        end local 10 // org.hibernate.LockMode[] lockModesArray
        end local 9 // org.hibernate.engine.spi.EntityKey optionalObjectKey
        end local 8 // int entitySpan
        end local 7 // java.util.List afterLoadActions
        end local 6 // int maxRows
        end local 5 // org.hibernate.transform.ResultTransformer forcedResultTransformer
        end local 4 // boolean returnProxies
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   46     0                     this  Lorg/hibernate/loader/Loader;
            0   46     1                       rs  Ljava/sql/ResultSet;
            0   46     2          queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   46     3                  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   46     4            returnProxies  Z
            0   46     5  forcedResultTransformer  Lorg/hibernate/transform/ResultTransformer;
            0   46     6                  maxRows  I
            0   46     7         afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            1   46     8               entitySpan  I
            2   46     9        optionalObjectKey  Lorg/hibernate/engine/spi/EntityKey;
            3   46    10           lockModesArray  [Lorg/hibernate/LockMode;
            4   46    11         createSubselects  Z
            7   46    12      subselectResultKeys  Ljava/util/List;
           10   46    13          hydratedObjects  Ljava/util/ArrayList;
           11   46    14                  results  Ljava/util/List;
           13   46    15                     keys  [Lorg/hibernate/engine/spi/EntityKey;
           15   46    16                    count  I
           29   33    17                   result  Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;ZLorg/hibernate/transform/ResultTransformer;ILjava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;)Ljava/util/List;
    MethodParameters:
                         Name  Flags
      rs                       
      queryParameters          
      session                  
      returnProxies            
      forcedResultTransformer  
      maxRows                  
      afterLoadActions         

  protected boolean isSubselectLoadingEnabled();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 1024
            iconst_0
            ireturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected boolean hasSubselectLoadableCollections();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 1028
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            astore 1 /* loadables */
        start local 1 // org.hibernate.persister.entity.Loadable[] loadables
         1: .line 1029
            aload 1 /* loadables */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] top int int org.hibernate.persister.entity.Loadable[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* loadable */
        start local 2 // org.hibernate.persister.entity.Loadable loadable
         3: .line 1030
            aload 2 /* loadable */
            invokeinterface org.hibernate.persister.entity.Loadable.hasSubselectLoadableCollections:()Z
            ifeq 5
         4: .line 1031
            iconst_1
            ireturn
        end local 2 // org.hibernate.persister.entity.Loadable loadable
         5: .line 1029
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 2
         7: .line 1034
            iconst_0
            ireturn
        end local 1 // org.hibernate.persister.entity.Loadable[] loadables
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/hibernate/loader/Loader;
            1    8     1  loadables  [Lorg/hibernate/persister/entity/Loadable;
            3    5     2   loadable  Lorg/hibernate/persister/entity/Loadable;

  private static java.util.Set[] transpose(java.util.List);
    descriptor: (Ljava/util/List;)[Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.util.List keys
         0: .line 1038
            aload 0 /* keys */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.EntityKey[]
            arraylength
            anewarray java.util.Set
            astore 1 /* result */
        start local 1 // java.util.Set[] result
         1: .line 1039
            iconst_0
            istore 2 /* j */
        start local 2 // int j
         2: goto 9
         3: .line 1040
      StackMap locals: java.util.Set[] int
      StackMap stack:
            aload 1 /* result */
            iload 2 /* j */
            new java.util.HashSet
            dup
            aload 0 /* keys */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.HashSet.<init>:(I)V
            aastore
         4: .line 1041
            aload 0 /* keys */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: java.util.List java.util.Set[] int top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* key */
        start local 3 // java.lang.Object key
         6: .line 1042
            aload 1 /* result */
            iload 2 /* j */
            aaload
            aload 3 /* key */
            checkcast org.hibernate.engine.spi.EntityKey[]
            iload 2 /* j */
            aaload
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Object key
         7: .line 1041
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 1039
            iinc 2 /* j */ 1
      StackMap locals: java.util.List java.util.Set[] int
      StackMap stack:
         9: iload 2 /* j */
            aload 1 /* result */
            arraylength
            if_icmplt 3
        end local 2 // int j
        10: .line 1045
            aload 1 /* result */
            areturn
        end local 1 // java.util.Set[] result
        end local 0 // java.util.List keys
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    keys  Ljava/util/List;
            1   11     1  result  [Ljava/util/Set;
            2   10     2       j  I
            6    7     3     key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      keys  

  private void createSubselects(java.util.List, org.hibernate.engine.spi.QueryParameters, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/util/List;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=14, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.util.List keys
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1049
            aload 1 /* keys */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 26
         1: .line 1051
            aload 1 /* keys */
            invokestatic org.hibernate.loader.Loader.transpose:(Ljava/util/List;)[Ljava/util/Set;
            astore 4 /* keySets */
        start local 4 // java.util.Set[] keySets
         2: .line 1053
            aload 0 /* this */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.loader.Loader.buildNamedParameterLocMap:(Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/Map;
            astore 5 /* namedParameterLocMap */
        start local 5 // java.util.Map namedParameterLocMap
         3: .line 1055
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            astore 6 /* loadables */
        start local 6 // org.hibernate.persister.entity.Loadable[] loadables
         4: .line 1056
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getAliases:()[Ljava/lang/String;
            astore 7 /* aliases */
        start local 7 // java.lang.String[] aliases
         5: .line 1057
            aload 2 /* queryParameters */
            invokestatic org.hibernate.engine.spi.SubselectFetch.createSubselectFetchQueryFragment:(Lorg/hibernate/engine/spi/QueryParameters;)Ljava/lang/String;
            astore 8 /* subselectQueryString */
        start local 8 // java.lang.String subselectQueryString
         6: .line 1058
            aload 1 /* keys */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 25
      StackMap locals: org.hibernate.loader.Loader java.util.List org.hibernate.engine.spi.QueryParameters org.hibernate.engine.spi.SharedSessionContractImplementor java.util.Set[] java.util.Map org.hibernate.persister.entity.Loadable[] java.lang.String[] java.lang.String top java.util.Iterator
      StackMap stack:
         7: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 9 /* key */
        start local 9 // java.lang.Object key
         8: .line 1059
            aload 9 /* key */
            checkcast org.hibernate.engine.spi.EntityKey[]
            astore 11 /* rowKeys */
        start local 11 // org.hibernate.engine.spi.EntityKey[] rowKeys
         9: .line 1060
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        10: goto 24
        11: .line 1062
      StackMap locals: org.hibernate.loader.Loader java.util.List org.hibernate.engine.spi.QueryParameters org.hibernate.engine.spi.SharedSessionContractImplementor java.util.Set[] java.util.Map org.hibernate.persister.entity.Loadable[] java.lang.String[] java.lang.String java.lang.Object java.util.Iterator org.hibernate.engine.spi.EntityKey[] int
      StackMap stack:
            aload 11 /* rowKeys */
            iload 12 /* i */
            aaload
            ifnull 23
            aload 6 /* loadables */
            iload 12 /* i */
            aaload
            invokeinterface org.hibernate.persister.entity.Loadable.hasSubselectLoadableCollections:()Z
            ifeq 23
        12: .line 1064
            new org.hibernate.engine.spi.SubselectFetch
            dup
        13: .line 1065
            aload 8 /* subselectQueryString */
        14: .line 1066
            aload 7 /* aliases */
            iload 12 /* i */
            aaload
        15: .line 1067
            aload 6 /* loadables */
            iload 12 /* i */
            aaload
        16: .line 1068
            aload 2 /* queryParameters */
        17: .line 1069
            aload 4 /* keySets */
            iload 12 /* i */
            aaload
        18: .line 1070
            aload 5 /* namedParameterLocMap */
        19: .line 1064
            invokespecial org.hibernate.engine.spi.SubselectFetch.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;Ljava/util/Map;)V
            astore 13 /* subselectFetch */
        start local 13 // org.hibernate.engine.spi.SubselectFetch subselectFetch
        20: .line 1073
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
        21: .line 1074
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getBatchFetchQueue:()Lorg/hibernate/engine/spi/BatchFetchQueue;
        22: .line 1075
            aload 11 /* rowKeys */
            iload 12 /* i */
            aaload
            aload 13 /* subselectFetch */
            invokevirtual org.hibernate.engine.spi.BatchFetchQueue.addSubselect:(Lorg/hibernate/engine/spi/EntityKey;Lorg/hibernate/engine/spi/SubselectFetch;)V
        end local 13 // org.hibernate.engine.spi.SubselectFetch subselectFetch
        23: .line 1060
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 12 /* i */
            aload 11 /* rowKeys */
            arraylength
            if_icmplt 11
        end local 12 // int i
        end local 11 // org.hibernate.engine.spi.EntityKey[] rowKeys
        end local 9 // java.lang.Object key
        25: .line 1058
      StackMap locals: org.hibernate.loader.Loader java.util.List org.hibernate.engine.spi.QueryParameters org.hibernate.engine.spi.SharedSessionContractImplementor java.util.Set[] java.util.Map org.hibernate.persister.entity.Loadable[] java.lang.String[] java.lang.String top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 8 // java.lang.String subselectQueryString
        end local 7 // java.lang.String[] aliases
        end local 6 // org.hibernate.persister.entity.Loadable[] loadables
        end local 5 // java.util.Map namedParameterLocMap
        end local 4 // java.util.Set[] keySets
        26: .line 1082
      StackMap locals: org.hibernate.loader.Loader java.util.List org.hibernate.engine.spi.QueryParameters org.hibernate.engine.spi.SharedSessionContractImplementor
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // java.util.List keys
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   27     0                  this  Lorg/hibernate/loader/Loader;
            0   27     1                  keys  Ljava/util/List;
            0   27     2       queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   27     3               session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            2   26     4               keySets  [Ljava/util/Set;
            3   26     5  namedParameterLocMap  Ljava/util/Map;
            4   26     6             loadables  [Lorg/hibernate/persister/entity/Loadable;
            5   26     7               aliases  [Ljava/lang/String;
            6   26     8  subselectQueryString  Ljava/lang/String;
            8   25     9                   key  Ljava/lang/Object;
            9   25    11               rowKeys  [Lorg/hibernate/engine/spi/EntityKey;
           10   25    12                     i  I
           20   23    13        subselectFetch  Lorg/hibernate/engine/spi/SubselectFetch;
    MethodParameters:
                 Name  Flags
      keys             
      queryParameters  
      session          

  private java.util.Map buildNamedParameterLocMap(org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 1085
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getNamedParameters:()Ljava/util/Map;
            ifnull 10
         1: .line 1086
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* namedParameterLocMap */
        start local 2 // java.util.Map namedParameterLocMap
         2: .line 1087
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getNamedParameters:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.QueryParameters java.util.Map top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* name */
        start local 3 // java.lang.String name
         4: .line 1088
            aload 2 /* namedParameterLocMap */
         5: .line 1089
            aload 3 /* name */
         6: .line 1090
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual org.hibernate.loader.Loader.getNamedParameterLocs:(Ljava/lang/String;)[I
         7: .line 1088
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String name
         8: .line 1087
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 1093
            aload 2 /* namedParameterLocMap */
            areturn
        end local 2 // java.util.Map namedParameterLocMap
        10: .line 1096
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.QueryParameters
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0                  this  Lorg/hibernate/loader/Loader;
            0   11     1       queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            2   10     2  namedParameterLocMap  Ljava/util/Map;
            4    8     3                  name  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      queryParameters  

  private void initializeEntitiesAndCollections(java.util.List, java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor, boolean);
    descriptor: (Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.util.List hydratedObjects
        start local 2 // java.lang.Object resultSetId
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 4 // boolean readOnly
         0: .line 1105
            aload 0 /* this */
         1: .line 1106
            aload 1 /* hydratedObjects */
         2: .line 1107
            aload 2 /* resultSetId */
         3: .line 1108
            aload 3 /* session */
         4: .line 1109
            iload 4 /* readOnly */
         5: .line 1110
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
         6: .line 1105
            invokevirtual org.hibernate.loader.Loader.initializeEntitiesAndCollections:(Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;ZLjava/util/List;)V
         7: .line 1112
            return
        end local 4 // boolean readOnly
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.lang.Object resultSetId
        end local 1 // java.util.List hydratedObjects
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/hibernate/loader/Loader;
            0    8     1  hydratedObjects  Ljava/util/List;
            0    8     2      resultSetId  Ljava/lang/Object;
            0    8     3          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0    8     4         readOnly  Z
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      hydratedObjects  final
      resultSetId      final
      session          final
      readOnly         final

  private void initializeEntitiesAndCollections(java.util.List, , org.hibernate.engine.spi.SharedSessionContractImplementor, boolean, java.util.List<org.hibernate.loader.spi.AfterLoadAction>);
    descriptor: (Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;ZLjava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=6
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.util.List hydratedObjects
        start local 2 // java.lang.Object resultSetId
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 4 // boolean readOnly
        start local 5 // java.util.List afterLoadActions
         0: .line 1121
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCollectionPersisters:()[Lorg/hibernate/persister/collection/CollectionPersister;
            astore 6 /* collectionPersisters */
        start local 6 // org.hibernate.persister.collection.CollectionPersister[] collectionPersisters
         1: .line 1122
            aload 6 /* collectionPersisters */
            ifnull 8
         2: .line 1123
            aload 6 /* collectionPersisters */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 7
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[] top int int org.hibernate.persister.collection.CollectionPersister[]
      StackMap stack:
         3: aload 10
            iload 8
            aaload
            astore 7 /* collectionPersister */
        start local 7 // org.hibernate.persister.collection.CollectionPersister collectionPersister
         4: .line 1124
            aload 7 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.isArray:()Z
            ifeq 6
         5: .line 1130
            aload 0 /* this */
            aload 2 /* resultSetId */
            aload 3 /* session */
            aload 7 /* collectionPersister */
            invokevirtual org.hibernate.loader.Loader.endCollectionLoad:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/collection/CollectionPersister;)V
        end local 7 // org.hibernate.persister.collection.CollectionPersister collectionPersister
         6: .line 1123
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
         7: iload 8
            iload 9
            if_icmplt 3
         8: .line 1138
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[]
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.isEventSource:()Z
            ifeq 12
         9: .line 1139
            new org.hibernate.event.spi.PreLoadEvent
            dup
            aload 3 /* session */
            checkcast org.hibernate.event.spi.EventSource
            invokespecial org.hibernate.event.spi.PreLoadEvent.<init>:(Lorg/hibernate/event/spi/EventSource;)V
            astore 7 /* pre */
        start local 7 // org.hibernate.event.spi.PreLoadEvent pre
        10: .line 1140
            new org.hibernate.event.spi.PostLoadEvent
            dup
            aload 3 /* session */
            checkcast org.hibernate.event.spi.EventSource
            invokespecial org.hibernate.event.spi.PostLoadEvent.<init>:(Lorg/hibernate/event/spi/EventSource;)V
            astore 8 /* post */
        start local 8 // org.hibernate.event.spi.PostLoadEvent post
        11: .line 1141
            goto 14
        end local 8 // org.hibernate.event.spi.PostLoadEvent post
        end local 7 // org.hibernate.event.spi.PreLoadEvent pre
        12: .line 1143
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* pre */
        start local 7 // org.hibernate.event.spi.PreLoadEvent pre
        13: .line 1144
            aconst_null
            astore 8 /* post */
        start local 8 // org.hibernate.event.spi.PostLoadEvent post
        14: .line 1147
      StackMap locals: org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent
      StackMap stack:
            aload 1 /* hydratedObjects */
            ifnull 21
        15: .line 1148
            aload 1 /* hydratedObjects */
            invokeinterface java.util.List.size:()I
            istore 9 /* hydratedObjectsSize */
        start local 9 // int hydratedObjectsSize
        16: .line 1149
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Total objects hydrated: {0}"
            iload 9 /* hydratedObjectsSize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
        17: .line 1150
            aload 1 /* hydratedObjects */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 20
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[] org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent int top java.util.Iterator
      StackMap stack:
        18: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 10 /* hydratedObject */
        start local 10 // java.lang.Object hydratedObject
        19: .line 1151
            aload 10 /* hydratedObject */
            iload 4 /* readOnly */
            aload 3 /* session */
            aload 7 /* pre */
            invokestatic org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity:(Ljava/lang/Object;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/event/spi/PreLoadEvent;)V
        end local 10 // java.lang.Object hydratedObject
        20: .line 1150
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        end local 9 // int hydratedObjectsSize
        21: .line 1155
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[] org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent
      StackMap stack:
            aload 6 /* collectionPersisters */
            ifnull 28
        22: .line 1156
            aload 6 /* collectionPersisters */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 27
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[] org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent top int int org.hibernate.persister.collection.CollectionPersister[]
      StackMap stack:
        23: aload 12
            iload 10
            aaload
            astore 9 /* collectionPersister */
        start local 9 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        24: .line 1157
            aload 9 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.isArray:()Z
            ifne 26
        25: .line 1162
            aload 0 /* this */
            aload 2 /* resultSetId */
            aload 3 /* session */
            aload 9 /* collectionPersister */
            invokevirtual org.hibernate.loader.Loader.endCollectionLoad:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/collection/CollectionPersister;)V
        end local 9 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        26: .line 1156
      StackMap locals:
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        27: iload 10
            iload 11
            if_icmplt 23
        28: .line 1171
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[] org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent
      StackMap stack:
            aload 1 /* hydratedObjects */
            ifnull 43
        29: .line 1172
            aload 1 /* hydratedObjects */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 42
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[] org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent top java.util.Iterator
      StackMap stack:
        30: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 9 /* hydratedObject */
        start local 9 // java.lang.Object hydratedObject
        31: .line 1173
            aload 9 /* hydratedObject */
            aload 3 /* session */
            aload 8 /* post */
            invokestatic org.hibernate.engine.internal.TwoPhaseLoad.postLoad:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/event/spi/PostLoadEvent;)V
        32: .line 1174
            aload 5 /* afterLoadActions */
            ifnull 42
        33: .line 1175
            aload 5 /* afterLoadActions */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 41
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[] org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent java.lang.Object java.util.Iterator top java.util.Iterator
      StackMap stack:
        34: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.loader.spi.AfterLoadAction
            astore 11 /* afterLoadAction */
        start local 11 // org.hibernate.loader.spi.AfterLoadAction afterLoadAction
        35: .line 1176
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 9 /* hydratedObject */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 13 /* entityEntry */
        start local 13 // org.hibernate.engine.spi.EntityEntry entityEntry
        36: .line 1177
            aload 13 /* entityEntry */
            ifnonnull 40
        37: .line 1179
            new org.hibernate.HibernateException
            dup
        38: .line 1180
            ldc "Could not locate EntityEntry immediately after two-phase load"
        39: .line 1179
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 1183
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[] org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent java.lang.Object java.util.Iterator org.hibernate.loader.spi.AfterLoadAction java.util.Iterator org.hibernate.engine.spi.EntityEntry
      StackMap stack:
            aload 11 /* afterLoadAction */
            aload 3 /* session */
            aload 9 /* hydratedObject */
            aload 13 /* entityEntry */
            invokeinterface org.hibernate.engine.spi.EntityEntry.getPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            checkcast org.hibernate.persister.entity.Loadable
            invokeinterface org.hibernate.loader.spi.AfterLoadAction.afterLoad:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;Lorg/hibernate/persister/entity/Loadable;)V
        end local 13 // org.hibernate.engine.spi.EntityEntry entityEntry
        end local 11 // org.hibernate.loader.spi.AfterLoadAction afterLoadAction
        41: .line 1175
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[] org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent java.lang.Object java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        end local 9 // java.lang.Object hydratedObject
        42: .line 1172
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[] org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        43: .line 1188
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List org.hibernate.persister.collection.CollectionPersister[] org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent
      StackMap stack:
            return
        end local 8 // org.hibernate.event.spi.PostLoadEvent post
        end local 7 // org.hibernate.event.spi.PreLoadEvent pre
        end local 6 // org.hibernate.persister.collection.CollectionPersister[] collectionPersisters
        end local 5 // java.util.List afterLoadActions
        end local 4 // boolean readOnly
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.lang.Object resultSetId
        end local 1 // java.util.List hydratedObjects
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   44     0                  this  Lorg/hibernate/loader/Loader;
            0   44     1       hydratedObjects  Ljava/util/List;
            0   44     2           resultSetId  Ljava/lang/Object;
            0   44     3               session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   44     4              readOnly  Z
            0   44     5      afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            1   44     6  collectionPersisters  [Lorg/hibernate/persister/collection/CollectionPersister;
            4    6     7   collectionPersister  Lorg/hibernate/persister/collection/CollectionPersister;
           10   12     7                   pre  Lorg/hibernate/event/spi/PreLoadEvent;
           13   44     7                   pre  Lorg/hibernate/event/spi/PreLoadEvent;
           11   12     8                  post  Lorg/hibernate/event/spi/PostLoadEvent;
           14   44     8                  post  Lorg/hibernate/event/spi/PostLoadEvent;
           16   21     9   hydratedObjectsSize  I
           19   20    10        hydratedObject  Ljava/lang/Object;
           24   26     9   collectionPersister  Lorg/hibernate/persister/collection/CollectionPersister;
           31   42     9        hydratedObject  Ljava/lang/Object;
           35   41    11       afterLoadAction  Lorg/hibernate/loader/spi/AfterLoadAction;
           36   41    13           entityEntry  Lorg/hibernate/engine/spi/EntityEntry;
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: (Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;ZLjava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;)V
    MethodParameters:
                  Name  Flags
      hydratedObjects   final
      resultSetId       final
      session           final
      readOnly          final
      afterLoadActions  

  private void endCollectionLoad(java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.persister.collection.CollectionPersister);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/collection/CollectionPersister;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.Object resultSetId
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 3 // org.hibernate.persister.collection.CollectionPersister collectionPersister
         0: .line 1195
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
         1: .line 1196
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getLoadContexts:()Lorg/hibernate/engine/loading/internal/LoadContexts;
         2: .line 1197
            aload 1 /* resultSetId */
            checkcast java.sql.ResultSet
            invokevirtual org.hibernate.engine.loading.internal.LoadContexts.getCollectionLoadContext:(Ljava/sql/ResultSet;)Lorg/hibernate/engine/loading/internal/CollectionLoadContext;
         3: .line 1198
            aload 3 /* collectionPersister */
            invokevirtual org.hibernate.engine.loading.internal.CollectionLoadContext.endLoadingCollections:(Lorg/hibernate/persister/collection/CollectionPersister;)V
         4: .line 1199
            return
        end local 3 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // java.lang.Object resultSetId
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lorg/hibernate/loader/Loader;
            0    5     1          resultSetId  Ljava/lang/Object;
            0    5     2              session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0    5     3  collectionPersister  Lorg/hibernate/persister/collection/CollectionPersister;
    MethodParameters:
                     Name  Flags
      resultSetId          final
      session              final
      collectionPersister  final

  protected org.hibernate.transform.ResultTransformer resolveResultTransformer(org.hibernate.transform.ResultTransformer);
    descriptor: (Lorg/hibernate/transform/ResultTransformer;)Lorg/hibernate/transform/ResultTransformer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.transform.ResultTransformer resultTransformer
         0: .line 1210
            aload 1 /* resultTransformer */
            areturn
        end local 1 // org.hibernate.transform.ResultTransformer resultTransformer
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/hibernate/loader/Loader;
            0    1     1  resultTransformer  Lorg/hibernate/transform/ResultTransformer;
    MethodParameters:
                   Name  Flags
      resultTransformer  

  protected java.util.List getResultList(java.util.List, org.hibernate.transform.ResultTransformer);
    descriptor: (Ljava/util/List;Lorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.util.List results
        start local 2 // org.hibernate.transform.ResultTransformer resultTransformer
         0: .line 1214
            aload 1 /* results */
            areturn
        end local 2 // org.hibernate.transform.ResultTransformer resultTransformer
        end local 1 // java.util.List results
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/hibernate/loader/Loader;
            0    1     1            results  Ljava/util/List;
            0    1     2  resultTransformer  Lorg/hibernate/transform/ResultTransformer;
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
                   Name  Flags
      results            
      resultTransformer  

  protected boolean areResultSetRowsTransformedImmediately();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 1223
            iconst_0
            ireturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected java.lang.String[] getResultRowAliases();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 1232
            aconst_null
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected java.lang.Object getResultColumnOrRow(java.lang.Object[], org.hibernate.transform.ResultTransformer, java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: ([Ljava/lang/Object;Lorg/hibernate/transform/ResultTransformer;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.Object[] row
        start local 2 // org.hibernate.transform.ResultTransformer transformer
        start local 3 // java.sql.ResultSet rs
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1245
            aload 1 /* row */
            areturn
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // java.sql.ResultSet rs
        end local 2 // org.hibernate.transform.ResultTransformer transformer
        end local 1 // java.lang.Object[] row
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/hibernate/loader/Loader;
            0    1     1          row  [Ljava/lang/Object;
            0    1     2  transformer  Lorg/hibernate/transform/ResultTransformer;
            0    1     3           rs  Ljava/sql/ResultSet;
            0    1     4      session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
             Name  Flags
      row          
      transformer  
      rs           
      session      

  protected boolean[] includeInResultRow();
    descriptor: ()[Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 1249
            aconst_null
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected java.lang.Object[] getResultRow(java.lang.Object[], java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: ([Ljava/lang/Object;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)[Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.Object[] row
        start local 2 // java.sql.ResultSet rs
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1256
            aload 1 /* row */
            areturn
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.sql.ResultSet rs
        end local 1 // java.lang.Object[] row
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/loader/Loader;
            0    1     1      row  [Ljava/lang/Object;
            0    1     2       rs  Ljava/sql/ResultSet;
            0    1     3  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      row      
      rs       
      session  

  private void registerNonExists(org.hibernate.engine.spi.EntityKey[], org.hibernate.persister.entity.Loadable[], org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: ([Lorg/hibernate/engine/spi/EntityKey;[Lorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.EntityKey[] keys
        start local 2 // org.hibernate.persister.entity.Loadable[] persisters
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1269
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getOwners:()[I
            astore 4 /* owners */
        start local 4 // int[] owners
         1: .line 1270
            aload 4 /* owners */
            ifnull 23
         2: .line 1272
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getOwnerAssociationTypes:()[Lorg/hibernate/type/EntityType;
            astore 5 /* ownerAssociationTypes */
        start local 5 // org.hibernate.type.EntityType[] ownerAssociationTypes
         3: .line 1273
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 22
         5: .line 1275
      StackMap locals: int[] org.hibernate.type.EntityType[] int
      StackMap stack:
            aload 4 /* owners */
            iload 6 /* i */
            iaload
            istore 7 /* owner */
        start local 7 // int owner
         6: .line 1276
            iload 7 /* owner */
            iconst_m1
            if_icmple 21
         7: .line 1277
            aload 1 /* keys */
            iload 7 /* owner */
            aaload
            astore 8 /* ownerKey */
        start local 8 // org.hibernate.engine.spi.EntityKey ownerKey
         8: .line 1278
            aload 1 /* keys */
            iload 6 /* i */
            aaload
            ifnonnull 21
            aload 8 /* ownerKey */
            ifnull 21
         9: .line 1280
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            astore 9 /* persistenceContext */
        start local 9 // org.hibernate.engine.spi.PersistenceContext persistenceContext
        10: .line 1300
            aload 5 /* ownerAssociationTypes */
            ifnull 14
        11: .line 1301
            aload 5 /* ownerAssociationTypes */
            iload 6 /* i */
            aaload
            ifnull 14
        12: .line 1302
            aload 5 /* ownerAssociationTypes */
            iload 6 /* i */
            aaload
            invokevirtual org.hibernate.type.EntityType.isOneToOne:()Z
            ifeq 14
        13: .line 1300
            iconst_1
            goto 15
      StackMap locals: int org.hibernate.engine.spi.EntityKey org.hibernate.engine.spi.PersistenceContext
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 10 /* isOneToOneAssociation */
        start local 10 // boolean isOneToOneAssociation
        16: .line 1303
            iload 10 /* isOneToOneAssociation */
            ifeq 21
        17: .line 1304
            aload 9 /* persistenceContext */
        18: .line 1305
            aload 8 /* ownerKey */
        19: .line 1306
            aload 5 /* ownerAssociationTypes */
            iload 6 /* i */
            aaload
            invokevirtual org.hibernate.type.EntityType.getPropertyName:()Ljava/lang/String;
        20: .line 1304
            invokeinterface org.hibernate.engine.spi.PersistenceContext.addNullProperty:(Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/String;)V
        end local 10 // boolean isOneToOneAssociation
        end local 9 // org.hibernate.engine.spi.PersistenceContext persistenceContext
        end local 8 // org.hibernate.engine.spi.EntityKey ownerKey
        end local 7 // int owner
        21: .line 1273
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            aload 1 /* keys */
            arraylength
            if_icmplt 5
        end local 6 // int i
        end local 5 // org.hibernate.type.EntityType[] ownerAssociationTypes
        23: .line 1323
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int[] owners
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // org.hibernate.persister.entity.Loadable[] persisters
        end local 1 // org.hibernate.engine.spi.EntityKey[] keys
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   24     0                   this  Lorg/hibernate/loader/Loader;
            0   24     1                   keys  [Lorg/hibernate/engine/spi/EntityKey;
            0   24     2             persisters  [Lorg/hibernate/persister/entity/Loadable;
            0   24     3                session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   24     4                 owners  [I
            3   23     5  ownerAssociationTypes  [Lorg/hibernate/type/EntityType;
            4   23     6                      i  I
            6   21     7                  owner  I
            8   21     8               ownerKey  Lorg/hibernate/engine/spi/EntityKey;
           10   21     9     persistenceContext  Lorg/hibernate/engine/spi/PersistenceContext;
           16   21    10  isOneToOneAssociation  Z
    MethodParameters:
            Name  Flags
      keys        final
      persisters  final
      session     final

  private void readCollectionElement(java.lang.Object, java.io.Serializable, org.hibernate.persister.collection.CollectionPersister, org.hibernate.loader.CollectionAliases, java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/lang/Object;Ljava/io/Serializable;Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/loader/CollectionAliases;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=7
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.Object optionalOwner
        start local 2 // java.io.Serializable optionalKey
        start local 3 // org.hibernate.persister.collection.CollectionPersister persister
        start local 4 // org.hibernate.loader.CollectionAliases descriptor
        start local 5 // java.sql.ResultSet rs
        start local 6 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1337
            aload 6 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            astore 7 /* persistenceContext */
        start local 7 // org.hibernate.engine.spi.PersistenceContext persistenceContext
         1: .line 1339
            aload 3 /* persister */
         2: .line 1340
            aload 5 /* rs */
         3: .line 1341
            aload 4 /* descriptor */
            invokeinterface org.hibernate.loader.CollectionAliases.getSuffixedKeyAliases:()[Ljava/lang/String;
         4: .line 1342
            aload 6 /* session */
         5: .line 1339
            invokeinterface org.hibernate.persister.collection.CollectionPersister.readKey:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 8 /* collectionRowKey */
        start local 8 // java.io.Serializable collectionRowKey
         6: .line 1345
            aload 8 /* collectionRowKey */
            ifnull 22
         7: .line 1348
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 12
         8: .line 1349
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         9: .line 1350
            ldc "Found row of collection: %s"
        10: .line 1351
            aload 3 /* persister */
            aload 8 /* collectionRowKey */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
        11: .line 1349
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 1355
      StackMap locals: org.hibernate.engine.spi.PersistenceContext java.io.Serializable
      StackMap stack:
            aload 1 /* optionalOwner */
            astore 9 /* owner */
        start local 9 // java.lang.Object owner
        13: .line 1356
            aload 9 /* owner */
            ifnonnull 15
        14: .line 1357
            aload 7 /* persistenceContext */
            aload 8 /* collectionRowKey */
            aload 3 /* persister */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getCollectionOwner:(Ljava/io/Serializable;Lorg/hibernate/persister/collection/CollectionPersister;)Ljava/lang/Object;
            astore 9 /* owner */
        15: .line 1367
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getLoadContexts:()Lorg/hibernate/engine/loading/internal/LoadContexts;
        16: .line 1368
            aload 5 /* rs */
            invokevirtual org.hibernate.engine.loading.internal.LoadContexts.getCollectionLoadContext:(Ljava/sql/ResultSet;)Lorg/hibernate/engine/loading/internal/CollectionLoadContext;
        17: .line 1369
            aload 3 /* persister */
            aload 8 /* collectionRowKey */
            invokevirtual org.hibernate.engine.loading.internal.CollectionLoadContext.getLoadingCollection:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;)Lorg/hibernate/collection/spi/PersistentCollection;
        18: .line 1367
            astore 10 /* rowCollection */
        start local 10 // org.hibernate.collection.spi.PersistentCollection rowCollection
        19: .line 1371
            aload 10 /* rowCollection */
            ifnull 31
        20: .line 1372
            aload 10 /* rowCollection */
            aload 5 /* rs */
            aload 3 /* persister */
            aload 4 /* descriptor */
            aload 9 /* owner */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.readFrom:(Ljava/sql/ResultSet;Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/loader/CollectionAliases;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // org.hibernate.collection.spi.PersistentCollection rowCollection
        end local 9 // java.lang.Object owner
        21: .line 1375
            goto 31
        22: .line 1376
      StackMap locals:
      StackMap stack:
            aload 2 /* optionalKey */
            ifnull 31
        23: .line 1381
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 28
        24: .line 1382
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        25: .line 1383
            ldc "Result set contains (possibly empty) collection: %s"
        26: .line 1384
            aload 3 /* persister */
            aload 2 /* optionalKey */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
        27: .line 1382
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        28: .line 1388
      StackMap locals:
      StackMap stack:
            aload 7 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getLoadContexts:()Lorg/hibernate/engine/loading/internal/LoadContexts;
        29: .line 1389
            aload 5 /* rs */
            invokevirtual org.hibernate.engine.loading.internal.LoadContexts.getCollectionLoadContext:(Ljava/sql/ResultSet;)Lorg/hibernate/engine/loading/internal/CollectionLoadContext;
        30: .line 1390
            aload 3 /* persister */
            aload 2 /* optionalKey */
            invokevirtual org.hibernate.engine.loading.internal.CollectionLoadContext.getLoadingCollection:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;)Lorg/hibernate/collection/spi/PersistentCollection;
            pop
        31: .line 1396
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.io.Serializable collectionRowKey
        end local 7 // org.hibernate.engine.spi.PersistenceContext persistenceContext
        end local 6 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 5 // java.sql.ResultSet rs
        end local 4 // org.hibernate.loader.CollectionAliases descriptor
        end local 3 // org.hibernate.persister.collection.CollectionPersister persister
        end local 2 // java.io.Serializable optionalKey
        end local 1 // java.lang.Object optionalOwner
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   32     0                this  Lorg/hibernate/loader/Loader;
            0   32     1       optionalOwner  Ljava/lang/Object;
            0   32     2         optionalKey  Ljava/io/Serializable;
            0   32     3           persister  Lorg/hibernate/persister/collection/CollectionPersister;
            0   32     4          descriptor  Lorg/hibernate/loader/CollectionAliases;
            0   32     5                  rs  Ljava/sql/ResultSet;
            0   32     6             session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   32     7  persistenceContext  Lorg/hibernate/engine/spi/PersistenceContext;
            6   32     8    collectionRowKey  Ljava/io/Serializable;
           13   21     9               owner  Ljava/lang/Object;
           19   21    10       rowCollection  Lorg/hibernate/collection/spi/PersistentCollection;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
               Name  Flags
      optionalOwner  final
      optionalKey    final
      persister      final
      descriptor     final
      rs             final
      session        final

  private void handleEmptyCollections(java.io.Serializable[], java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: ([Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.io.Serializable[] keys
        start local 2 // java.lang.Object resultSetId
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1408
            aload 1 /* keys */
            ifnull 20
         1: .line 1409
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            istore 4 /* debugEnabled */
        start local 4 // boolean debugEnabled
         2: .line 1413
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCollectionPersisters:()[Lorg/hibernate/persister/collection/CollectionPersister;
            astore 5 /* collectionPersisters */
        start local 5 // org.hibernate.persister.collection.CollectionPersister[] collectionPersisters
         3: .line 1414
            aload 5 /* collectionPersisters */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 19
      StackMap locals: org.hibernate.loader.Loader java.io.Serializable[] java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.persister.collection.CollectionPersister[] top int int org.hibernate.persister.collection.CollectionPersister[]
      StackMap stack:
         4: aload 9
            iload 7
            aaload
            astore 6 /* collectionPersister */
        start local 6 // org.hibernate.persister.collection.CollectionPersister collectionPersister
         5: .line 1415
            aload 1 /* keys */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 17
      StackMap locals: org.hibernate.loader.Loader java.io.Serializable[] java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.persister.collection.CollectionPersister[] org.hibernate.persister.collection.CollectionPersister int int org.hibernate.persister.collection.CollectionPersister[] top int int java.io.Serializable[]
      StackMap stack:
         6: aload 13
            iload 11
            aaload
            astore 10 /* key */
        start local 10 // java.io.Serializable key
         7: .line 1417
            iload 4 /* debugEnabled */
            ifeq 12
         8: .line 1418
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         9: .line 1419
            ldc "Result set contains (possibly empty) collection: %s"
        10: .line 1420
            aload 6 /* collectionPersister */
            aload 10 /* key */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
        11: .line 1418
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 1424
      StackMap locals: org.hibernate.loader.Loader java.io.Serializable[] java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.persister.collection.CollectionPersister[] org.hibernate.persister.collection.CollectionPersister int int org.hibernate.persister.collection.CollectionPersister[] java.io.Serializable int int java.io.Serializable[]
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
        13: .line 1425
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getLoadContexts:()Lorg/hibernate/engine/loading/internal/LoadContexts;
        14: .line 1426
            aload 2 /* resultSetId */
            checkcast java.sql.ResultSet
            invokevirtual org.hibernate.engine.loading.internal.LoadContexts.getCollectionLoadContext:(Ljava/sql/ResultSet;)Lorg/hibernate/engine/loading/internal/CollectionLoadContext;
        15: .line 1427
            aload 6 /* collectionPersister */
            aload 10 /* key */
            invokevirtual org.hibernate.engine.loading.internal.CollectionLoadContext.getLoadingCollection:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;)Lorg/hibernate/collection/spi/PersistentCollection;
            pop
        end local 10 // java.io.Serializable key
        16: .line 1415
            iinc 11 1
      StackMap locals: org.hibernate.loader.Loader java.io.Serializable[] java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.persister.collection.CollectionPersister[] org.hibernate.persister.collection.CollectionPersister int int org.hibernate.persister.collection.CollectionPersister[] top int int java.io.Serializable[]
      StackMap stack:
        17: iload 11
            iload 12
            if_icmplt 6
        end local 6 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        18: .line 1414
            iinc 7 1
      StackMap locals: org.hibernate.loader.Loader java.io.Serializable[] java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.persister.collection.CollectionPersister[] top int int org.hibernate.persister.collection.CollectionPersister[]
      StackMap stack:
        19: iload 7
            iload 8
            if_icmplt 4
        end local 5 // org.hibernate.persister.collection.CollectionPersister[] collectionPersisters
        end local 4 // boolean debugEnabled
        20: .line 1434
      StackMap locals: org.hibernate.loader.Loader java.io.Serializable[] java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.lang.Object resultSetId
        end local 1 // java.io.Serializable[] keys
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   21     0                  this  Lorg/hibernate/loader/Loader;
            0   21     1                  keys  [Ljava/io/Serializable;
            0   21     2           resultSetId  Ljava/lang/Object;
            0   21     3               session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            2   20     4          debugEnabled  Z
            3   20     5  collectionPersisters  [Lorg/hibernate/persister/collection/CollectionPersister;
            5   18     6   collectionPersister  Lorg/hibernate/persister/collection/CollectionPersister;
            7   16    10                   key  Ljava/io/Serializable;
    MethodParameters:
             Name  Flags
      keys         final
      resultSetId  final
      session      final

  private org.hibernate.engine.spi.EntityKey getKeyFromResultSet(int, org.hibernate.persister.entity.Loadable, java.io.Serializable, java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/engine/spi/EntityKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // int i
        start local 2 // org.hibernate.persister.entity.Loadable persister
        start local 3 // java.io.Serializable id
        start local 4 // java.sql.ResultSet rs
        start local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1455
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.isSingleRowLoader:()Z
            ifeq 3
            aload 3 /* id */
            ifnull 3
         1: .line 1456
            aload 3 /* id */
            astore 6 /* resultId */
        start local 6 // java.io.Serializable resultId
         2: .line 1457
            goto 18
        end local 6 // java.io.Serializable resultId
         3: .line 1459
      StackMap locals:
      StackMap stack:
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getIdentifierType:()Lorg/hibernate/type/Type;
            astore 7 /* idType */
        start local 7 // org.hibernate.type.Type idType
         4: .line 1460
            aload 7 /* idType */
         5: .line 1461
            aload 4 /* rs */
         6: .line 1462
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityAliases:()[Lorg/hibernate/loader/EntityAliases;
            iload 1 /* i */
            aaload
            invokeinterface org.hibernate.loader.EntityAliases.getSuffixedKeyAliases:()[Ljava/lang/String;
         7: .line 1463
            aload 5 /* session */
         8: .line 1464
            aconst_null
         9: .line 1460
            invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 6 /* resultId */
        start local 6 // java.io.Serializable resultId
        10: .line 1467
            aload 3 /* id */
            ifnull 14
        11: .line 1468
            aload 6 /* resultId */
            ifnull 14
        12: .line 1469
            aload 7 /* idType */
            aload 3 /* id */
            aload 6 /* resultId */
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.Type.isEqual:(Ljava/lang/Object;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Z
            ifeq 14
        13: .line 1467
            iconst_1
            goto 15
      StackMap locals: java.io.Serializable org.hibernate.type.Type
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 8 /* idIsResultId */
        start local 8 // boolean idIsResultId
        16: .line 1471
            iload 8 /* idIsResultId */
            ifeq 18
        17: .line 1472
            aload 3 /* id */
            astore 6 /* resultId */
        end local 8 // boolean idIsResultId
        end local 7 // org.hibernate.type.Type idType
        18: .line 1476
      StackMap locals:
      StackMap stack:
            aload 6 /* resultId */
            ifnonnull 19
            aconst_null
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 5 /* session */
            aload 6 /* resultId */
            aload 2 /* persister */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
      StackMap locals:
      StackMap stack: org.hibernate.engine.spi.EntityKey
        20: areturn
        end local 6 // java.io.Serializable resultId
        end local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 4 // java.sql.ResultSet rs
        end local 3 // java.io.Serializable id
        end local 2 // org.hibernate.persister.entity.Loadable persister
        end local 1 // int i
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lorg/hibernate/loader/Loader;
            0   21     1             i  I
            0   21     2     persister  Lorg/hibernate/persister/entity/Loadable;
            0   21     3            id  Ljava/io/Serializable;
            0   21     4            rs  Ljava/sql/ResultSet;
            0   21     5       session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            2    3     6      resultId  Ljava/io/Serializable;
           10   21     6      resultId  Ljava/io/Serializable;
            4   18     7        idType  Lorg/hibernate/type/Type;
           16   18     8  idIsResultId  Z
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
           Name  Flags
      i          final
      persister  final
      id         final
      rs         final
      session    final

  private void checkVersion(int, org.hibernate.persister.entity.Loadable, java.io.Serializable, java.lang.Object, java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/lang/Object;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=7
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // int i
        start local 2 // org.hibernate.persister.entity.Loadable persister
        start local 3 // java.io.Serializable id
        start local 4 // java.lang.Object entity
        start local 5 // java.sql.ResultSet rs
        start local 6 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1492
            aload 6 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 4 /* entity */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            invokeinterface org.hibernate.engine.spi.EntityEntry.getVersion:()Ljava/lang/Object;
            astore 7 /* version */
        start local 7 // java.lang.Object version
         1: .line 1494
            aload 7 /* version */
            ifnull 13
         2: .line 1495
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getVersionType:()Lorg/hibernate/type/VersionType;
            astore 8 /* versionType */
        start local 8 // org.hibernate.type.VersionType versionType
         3: .line 1496
            aload 8 /* versionType */
         4: .line 1497
            aload 5 /* rs */
         5: .line 1498
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityAliases:()[Lorg/hibernate/loader/EntityAliases;
            iload 1 /* i */
            aaload
            invokeinterface org.hibernate.loader.EntityAliases.getSuffixedVersionAliases:()[Ljava/lang/String;
         6: .line 1499
            aload 6 /* session */
         7: .line 1500
            aconst_null
         8: .line 1496
            invokeinterface org.hibernate.type.VersionType.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* currentVersion */
        start local 9 // java.lang.Object currentVersion
         9: .line 1502
            aload 8 /* versionType */
            aload 7 /* version */
            aload 9 /* currentVersion */
            invokeinterface org.hibernate.type.VersionType.isEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 13
        10: .line 1503
            aload 6 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.isStatisticsEnabled:()Z
            ifeq 12
        11: .line 1504
            aload 6 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.optimisticFailure:(Ljava/lang/String;)V
        12: .line 1506
      StackMap locals: java.lang.Object org.hibernate.type.VersionType java.lang.Object
      StackMap stack:
            new org.hibernate.StaleObjectStateException
            dup
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityName:()Ljava/lang/String;
            aload 3 /* id */
            invokespecial org.hibernate.StaleObjectStateException.<init>:(Ljava/lang/String;Ljava/io/Serializable;)V
            athrow
        end local 9 // java.lang.Object currentVersion
        end local 8 // org.hibernate.type.VersionType versionType
        13: .line 1510
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.lang.Object version
        end local 6 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 5 // java.sql.ResultSet rs
        end local 4 // java.lang.Object entity
        end local 3 // java.io.Serializable id
        end local 2 // org.hibernate.persister.entity.Loadable persister
        end local 1 // int i
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/hibernate/loader/Loader;
            0   14     1               i  I
            0   14     2       persister  Lorg/hibernate/persister/entity/Loadable;
            0   14     3              id  Ljava/io/Serializable;
            0   14     4          entity  Ljava/lang/Object;
            0   14     5              rs  Ljava/sql/ResultSet;
            0   14     6         session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   14     7         version  Ljava/lang/Object;
            3   13     8     versionType  Lorg/hibernate/type/VersionType;
            9   13     9  currentVersion  Ljava/lang/Object;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
           Name  Flags
      i          final
      persister  final
      id         final
      entity     final
      rs         final
      session    final

  private java.lang.Object[] getRow(java.sql.ResultSet, org.hibernate.persister.entity.Loadable[], org.hibernate.engine.spi.EntityKey[], java.lang.Object, org.hibernate.engine.spi.EntityKey, org.hibernate.LockMode[], java.util.List, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/ResultSet;[Lorg/hibernate/persister/entity/Loadable;[Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Lorg/hibernate/engine/spi/EntityKey;[Lorg/hibernate/LockMode;Ljava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=15, args_size=9
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet rs
        start local 2 // org.hibernate.persister.entity.Loadable[] persisters
        start local 3 // org.hibernate.engine.spi.EntityKey[] keys
        start local 4 // java.lang.Object optionalObject
        start local 5 // org.hibernate.engine.spi.EntityKey optionalObjectKey
        start local 6 // org.hibernate.LockMode[] lockModes
        start local 7 // java.util.List hydratedObjects
        start local 8 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1528
            aload 2 /* persisters */
            arraylength
            istore 9 /* cols */
        start local 9 // int cols
         1: .line 1529
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityAliases:()[Lorg/hibernate/loader/EntityAliases;
            astore 10 /* descriptors */
        start local 10 // org.hibernate.loader.EntityAliases[] descriptors
         2: .line 1531
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 4
         3: .line 1532
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Result row: %s"
            aload 3 /* keys */
            invokestatic org.hibernate.internal.util.StringHelper.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 1535
      StackMap locals: int org.hibernate.loader.EntityAliases[]
      StackMap stack:
            iload 9 /* cols */
            anewarray java.lang.Object
            astore 11 /* rowResults */
        start local 11 // java.lang.Object[] rowResults
         5: .line 1537
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         6: goto 36
         7: .line 1539
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aconst_null
            astore 13 /* object */
        start local 13 // java.lang.Object object
         8: .line 1540
            aload 3 /* keys */
            iload 12 /* i */
            aaload
            astore 14 /* key */
        start local 14 // org.hibernate.engine.spi.EntityKey key
         9: .line 1542
            aload 3 /* keys */
            iload 12 /* i */
            aaload
            ifnull 34
        10: .line 1547
            aload 8 /* session */
            aload 14 /* key */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getEntityUsingInterceptor:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            astore 13 /* object */
        11: .line 1548
            aload 13 /* object */
            ifnull 22
        12: .line 1550
            aload 0 /* this */
        13: .line 1551
            aload 1 /* rs */
        14: .line 1552
            iload 12 /* i */
        15: .line 1553
            aload 2 /* persisters */
            iload 12 /* i */
            aaload
        16: .line 1554
            aload 14 /* key */
        17: .line 1555
            aload 13 /* object */
        18: .line 1556
            aload 6 /* lockModes */
            iload 12 /* i */
            aaload
        19: .line 1557
            aload 8 /* session */
        20: .line 1550
            invokevirtual org.hibernate.loader.Loader.instanceAlreadyLoaded:(Ljava/sql/ResultSet;ILorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        21: .line 1559
            goto 34
        22: .line 1561
      StackMap locals: java.lang.Object org.hibernate.engine.spi.EntityKey
      StackMap stack:
            aload 0 /* this */
        23: .line 1562
            aload 1 /* rs */
        24: .line 1563
            iload 12 /* i */
        25: .line 1564
            aload 2 /* persisters */
            iload 12 /* i */
            aaload
        26: .line 1565
            aload 10 /* descriptors */
            iload 12 /* i */
            aaload
            invokeinterface org.hibernate.loader.EntityAliases.getRowIdAlias:()Ljava/lang/String;
        27: .line 1566
            aload 14 /* key */
        28: .line 1567
            aload 6 /* lockModes */
            iload 12 /* i */
            aaload
        29: .line 1568
            aload 5 /* optionalObjectKey */
        30: .line 1569
            aload 4 /* optionalObject */
        31: .line 1570
            aload 7 /* hydratedObjects */
        32: .line 1571
            aload 8 /* session */
        33: .line 1561
            invokevirtual org.hibernate.loader.Loader.instanceNotYetLoaded:(Ljava/sql/ResultSet;ILorg/hibernate/persister/entity/Loadable;Ljava/lang/String;Lorg/hibernate/engine/spi/EntityKey;Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Ljava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
            astore 13 /* object */
        34: .line 1576
      StackMap locals:
      StackMap stack:
            aload 11 /* rowResults */
            iload 12 /* i */
            aload 13 /* object */
            aastore
        end local 14 // org.hibernate.engine.spi.EntityKey key
        end local 13 // java.lang.Object object
        35: .line 1537
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 12 /* i */
            iload 9 /* cols */
            if_icmplt 7
        end local 12 // int i
        37: .line 1580
            aload 11 /* rowResults */
            areturn
        end local 11 // java.lang.Object[] rowResults
        end local 10 // org.hibernate.loader.EntityAliases[] descriptors
        end local 9 // int cols
        end local 8 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 7 // java.util.List hydratedObjects
        end local 6 // org.hibernate.LockMode[] lockModes
        end local 5 // org.hibernate.engine.spi.EntityKey optionalObjectKey
        end local 4 // java.lang.Object optionalObject
        end local 3 // org.hibernate.engine.spi.EntityKey[] keys
        end local 2 // org.hibernate.persister.entity.Loadable[] persisters
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   38     0               this  Lorg/hibernate/loader/Loader;
            0   38     1                 rs  Ljava/sql/ResultSet;
            0   38     2         persisters  [Lorg/hibernate/persister/entity/Loadable;
            0   38     3               keys  [Lorg/hibernate/engine/spi/EntityKey;
            0   38     4     optionalObject  Ljava/lang/Object;
            0   38     5  optionalObjectKey  Lorg/hibernate/engine/spi/EntityKey;
            0   38     6          lockModes  [Lorg/hibernate/LockMode;
            0   38     7    hydratedObjects  Ljava/util/List;
            0   38     8            session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   38     9               cols  I
            2   38    10        descriptors  [Lorg/hibernate/loader/EntityAliases;
            5   38    11         rowResults  [Ljava/lang/Object;
            6   37    12                  i  I
            8   35    13             object  Ljava/lang/Object;
            9   35    14                key  Lorg/hibernate/engine/spi/EntityKey;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
                   Name  Flags
      rs                 final
      persisters         final
      keys               final
      optionalObject     final
      optionalObjectKey  final
      lockModes          final
      hydratedObjects    final
      session            final

  private void instanceAlreadyLoaded(java.sql.ResultSet, int, org.hibernate.persister.entity.Loadable, org.hibernate.engine.spi.EntityKey, java.lang.Object, org.hibernate.LockMode, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/ResultSet;ILorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=8
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet rs
        start local 2 // int i
        start local 3 // org.hibernate.persister.entity.Loadable persister
        start local 4 // org.hibernate.engine.spi.EntityKey key
        start local 5 // java.lang.Object object
        start local 6 // org.hibernate.LockMode requestedLockMode
        start local 7 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1595
            aload 3 /* persister */
            aload 5 /* object */
            invokeinterface org.hibernate.persister.entity.Loadable.isInstance:(Ljava/lang/Object;)Z
            ifne 6
         1: .line 1596
            new org.hibernate.WrongClassException
            dup
         2: .line 1597
            new java.lang.StringBuilder
            dup
            ldc "loaded object was of wrong class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 1598
            aload 4 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
         4: .line 1599
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityName:()Ljava/lang/String;
         5: .line 1596
            invokespecial org.hibernate.WrongClassException.<init>:(Ljava/lang/String;Ljava/io/Serializable;Ljava/lang/String;)V
            athrow
         6: .line 1603
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
            aload 6 /* requestedLockMode */
            if_acmpeq 12
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.upgradeLocks:()Z
            ifeq 12
         7: .line 1604
            aload 7 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 5 /* object */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 8 /* entry */
        start local 8 // org.hibernate.engine.spi.EntityEntry entry
         8: .line 1605
            aload 8 /* entry */
            invokeinterface org.hibernate.engine.spi.EntityEntry.getLockMode:()Lorg/hibernate/LockMode;
            aload 6 /* requestedLockMode */
            invokevirtual org.hibernate.LockMode.lessThan:(Lorg/hibernate/LockMode;)Z
            ifeq 12
         9: .line 1607
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.isVersioned:()Z
            ifeq 11
        10: .line 1608
            aload 0 /* this */
            iload 2 /* i */
            aload 3 /* persister */
            aload 4 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
            aload 5 /* object */
            aload 1 /* rs */
            aload 7 /* session */
            invokevirtual org.hibernate.loader.Loader.checkVersion:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/lang/Object;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        11: .line 1611
      StackMap locals: org.hibernate.engine.spi.EntityEntry
      StackMap stack:
            aload 8 /* entry */
            aload 6 /* requestedLockMode */
            invokeinterface org.hibernate.engine.spi.EntityEntry.setLockMode:(Lorg/hibernate/LockMode;)V
        end local 8 // org.hibernate.engine.spi.EntityEntry entry
        12: .line 1614
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 6 // org.hibernate.LockMode requestedLockMode
        end local 5 // java.lang.Object object
        end local 4 // org.hibernate.engine.spi.EntityKey key
        end local 3 // org.hibernate.persister.entity.Loadable persister
        end local 2 // int i
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0               this  Lorg/hibernate/loader/Loader;
            0   13     1                 rs  Ljava/sql/ResultSet;
            0   13     2                  i  I
            0   13     3          persister  Lorg/hibernate/persister/entity/Loadable;
            0   13     4                key  Lorg/hibernate/engine/spi/EntityKey;
            0   13     5             object  Ljava/lang/Object;
            0   13     6  requestedLockMode  Lorg/hibernate/LockMode;
            0   13     7            session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            8   12     8              entry  Lorg/hibernate/engine/spi/EntityEntry;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
                   Name  Flags
      rs                 final
      i                  final
      persister          final
      key                final
      object             final
      requestedLockMode  final
      session            final

  private java.lang.Object instanceNotYetLoaded(java.sql.ResultSet, int, org.hibernate.persister.entity.Loadable, java.lang.String, org.hibernate.engine.spi.EntityKey, org.hibernate.LockMode, org.hibernate.engine.spi.EntityKey, java.lang.Object, java.util.List, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/ResultSet;ILorg/hibernate/persister/entity/Loadable;Ljava/lang/String;Lorg/hibernate/engine/spi/EntityKey;Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Ljava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=16, args_size=11
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet rs
        start local 2 // int i
        start local 3 // org.hibernate.persister.entity.Loadable persister
        start local 4 // java.lang.String rowIdAlias
        start local 5 // org.hibernate.engine.spi.EntityKey key
        start local 6 // org.hibernate.LockMode lockMode
        start local 7 // org.hibernate.engine.spi.EntityKey optionalObjectKey
        start local 8 // java.lang.Object optionalObject
        start local 9 // java.util.List hydratedObjects
        start local 10 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1632
            aload 0 /* this */
         1: .line 1633
            aload 1 /* rs */
         2: .line 1634
            iload 2 /* i */
         3: .line 1635
            aload 3 /* persister */
         4: .line 1636
            aload 5 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
         5: .line 1637
            aload 10 /* session */
         6: .line 1632
            invokevirtual org.hibernate.loader.Loader.getInstanceClass:(Ljava/sql/ResultSet;ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
            astore 11 /* instanceClass */
        start local 11 // java.lang.String instanceClass
         7: .line 1641
            aload 10 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getCacheMode:()Lorg/hibernate/CacheMode;
            invokevirtual org.hibernate.CacheMode.isGetEnabled:()Z
            ifeq 19
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.canUseReferenceCacheEntries:()Z
            ifeq 19
         8: .line 1642
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getCacheAccessStrategy:()Lorg/hibernate/cache/spi/access/EntityDataAccess;
            astore 12 /* cache */
        start local 12 // org.hibernate.cache.spi.access.EntityDataAccess cache
         9: .line 1643
            aload 12 /* cache */
        10: .line 1644
            aload 5 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
        11: .line 1645
            aload 3 /* persister */
        12: .line 1646
            aload 10 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
        13: .line 1647
            aload 10 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getTenantIdentifier:()Ljava/lang/String;
        14: .line 1643
            invokeinterface org.hibernate.cache.spi.access.EntityDataAccess.generateCacheKey:(Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Ljava/lang/String;)Ljava/lang/Object;
            astore 13 /* ck */
        start local 13 // java.lang.Object ck
        15: .line 1649
            aload 10 /* session */
            aload 13 /* ck */
            aload 12 /* cache */
            invokestatic org.hibernate.engine.internal.CacheHelper.fromSharedCache:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;Lorg/hibernate/cache/spi/access/CachedDomainDataAccess;)Ljava/io/Serializable;
            astore 14 /* cachedEntry */
        start local 14 // java.lang.Object cachedEntry
        16: .line 1650
            aload 14 /* cachedEntry */
            ifnull 19
        17: .line 1651
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getCacheEntryStructure:()Lorg/hibernate/cache/spi/entry/CacheEntryStructure;
            aload 14 /* cachedEntry */
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.cache.spi.entry.CacheEntryStructure.destructure:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/Object;
            checkcast org.hibernate.cache.spi.entry.CacheEntry
            astore 15 /* entry */
        start local 15 // org.hibernate.cache.spi.entry.CacheEntry entry
        18: .line 1652
            aload 15 /* entry */
            checkcast org.hibernate.cache.spi.entry.ReferenceCacheEntryImpl
            invokevirtual org.hibernate.cache.spi.entry.ReferenceCacheEntryImpl.getReference:()Ljava/lang/Object;
            areturn
        end local 15 // org.hibernate.cache.spi.entry.CacheEntry entry
        end local 14 // java.lang.Object cachedEntry
        end local 13 // java.lang.Object ck
        end local 12 // org.hibernate.cache.spi.access.EntityDataAccess cache
        19: .line 1657
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* optionalObjectKey */
            ifnull 22
            aload 5 /* key */
            aload 7 /* optionalObjectKey */
            invokevirtual org.hibernate.engine.spi.EntityKey.equals:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 1659
            aload 8 /* optionalObject */
            astore 12 /* object */
        start local 12 // java.lang.Object object
        21: .line 1660
            goto 23
        end local 12 // java.lang.Object object
        22: .line 1663
      StackMap locals:
      StackMap stack:
            aload 10 /* session */
            aload 11 /* instanceClass */
            aload 5 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.instantiate:(Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/Object;
            astore 12 /* object */
        start local 12 // java.lang.Object object
        23: .line 1671
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* lockMode */
            getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
            if_acmpne 24
            getstatic org.hibernate.LockMode.READ:Lorg/hibernate/LockMode;
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 6 /* lockMode */
      StackMap locals:
      StackMap stack: org.hibernate.LockMode
        25: astore 13 /* acquiredLockMode */
        start local 13 // org.hibernate.LockMode acquiredLockMode
        26: .line 1672
            aload 0 /* this */
        27: .line 1673
            aload 1 /* rs */
        28: .line 1674
            iload 2 /* i */
        29: .line 1675
            aload 12 /* object */
        30: .line 1676
            aload 11 /* instanceClass */
        31: .line 1677
            aload 5 /* key */
        32: .line 1678
            aload 4 /* rowIdAlias */
        33: .line 1679
            aload 13 /* acquiredLockMode */
        34: .line 1680
            aload 3 /* persister */
        35: .line 1681
            aload 10 /* session */
        36: .line 1672
            invokevirtual org.hibernate.loader.Loader.loadFromResultSet:(Ljava/sql/ResultSet;ILjava/lang/Object;Ljava/lang/String;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/String;Lorg/hibernate/LockMode;Lorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        37: .line 1685
            aload 9 /* hydratedObjects */
            aload 12 /* object */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        38: .line 1687
            aload 12 /* object */
            areturn
        end local 13 // org.hibernate.LockMode acquiredLockMode
        end local 12 // java.lang.Object object
        end local 11 // java.lang.String instanceClass
        end local 10 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 9 // java.util.List hydratedObjects
        end local 8 // java.lang.Object optionalObject
        end local 7 // org.hibernate.engine.spi.EntityKey optionalObjectKey
        end local 6 // org.hibernate.LockMode lockMode
        end local 5 // org.hibernate.engine.spi.EntityKey key
        end local 4 // java.lang.String rowIdAlias
        end local 3 // org.hibernate.persister.entity.Loadable persister
        end local 2 // int i
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   39     0               this  Lorg/hibernate/loader/Loader;
            0   39     1                 rs  Ljava/sql/ResultSet;
            0   39     2                  i  I
            0   39     3          persister  Lorg/hibernate/persister/entity/Loadable;
            0   39     4         rowIdAlias  Ljava/lang/String;
            0   39     5                key  Lorg/hibernate/engine/spi/EntityKey;
            0   39     6           lockMode  Lorg/hibernate/LockMode;
            0   39     7  optionalObjectKey  Lorg/hibernate/engine/spi/EntityKey;
            0   39     8     optionalObject  Ljava/lang/Object;
            0   39     9    hydratedObjects  Ljava/util/List;
            0   39    10            session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            7   39    11      instanceClass  Ljava/lang/String;
            9   19    12              cache  Lorg/hibernate/cache/spi/access/EntityDataAccess;
           15   19    13                 ck  Ljava/lang/Object;
           16   19    14        cachedEntry  Ljava/lang/Object;
           18   19    15              entry  Lorg/hibernate/cache/spi/entry/CacheEntry;
           21   22    12             object  Ljava/lang/Object;
           23   39    12             object  Ljava/lang/Object;
           26   39    13   acquiredLockMode  Lorg/hibernate/LockMode;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
                   Name  Flags
      rs                 final
      i                  final
      persister          final
      rowIdAlias         final
      key                final
      lockMode           final
      optionalObjectKey  final
      optionalObject     final
      hydratedObjects    final
      session            final

  private boolean isEagerPropertyFetchEnabled(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // int i
         0: .line 1691
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityEagerPropertyFetches:()[Z
            astore 2 /* array */
        start local 2 // boolean[] array
         1: .line 1692
            aload 2 /* array */
            ifnull 2
            aload 2 /* array */
            iload 1 /* i */
            baload
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: boolean[]
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // boolean[] array
        end local 1 // int i
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/hibernate/loader/Loader;
            0    3     1      i  I
            1    3     2  array  [Z
    MethodParameters:
      Name  Flags
      i     

  private void loadFromResultSet(java.sql.ResultSet, int, java.lang.Object, java.lang.String, org.hibernate.engine.spi.EntityKey, java.lang.String, org.hibernate.LockMode, org.hibernate.persister.entity.Loadable, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/ResultSet;ILjava/lang/Object;Ljava/lang/String;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/String;Lorg/hibernate/LockMode;Lorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=21, args_size=10
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet rs
        start local 2 // int i
        start local 3 // java.lang.Object object
        start local 4 // java.lang.String instanceEntityName
        start local 5 // org.hibernate.engine.spi.EntityKey key
        start local 6 // java.lang.String rowIdAlias
        start local 7 // org.hibernate.LockMode lockMode
        start local 8 // org.hibernate.persister.entity.Loadable rootPersister
        start local 9 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1712
            aload 5 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
            astore 10 /* id */
        start local 10 // java.io.Serializable id
         1: .line 1715
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 4 /* instanceEntityName */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            checkcast org.hibernate.persister.entity.Loadable
            astore 11 /* persister */
        start local 11 // org.hibernate.persister.entity.Loadable persister
         2: .line 1717
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            ifeq 10
         3: .line 1718
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         4: .line 1719
            ldc "Initializing object from ResultSet: %s"
         5: .line 1721
            aload 11 /* persister */
         6: .line 1722
            aload 10 /* id */
         7: .line 1723
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         8: .line 1720
            invokestatic org.hibernate.pretty.MessageHelper.infoString:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
         9: .line 1718
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
        10: .line 1728
      StackMap locals: java.io.Serializable org.hibernate.persister.entity.Loadable
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.hibernate.loader.Loader.isEagerPropertyFetchEnabled:(I)Z
            istore 12 /* fetchAllPropertiesRequested */
        start local 12 // boolean fetchAllPropertiesRequested
        11: .line 1734
            aload 5 /* key */
        12: .line 1735
            aload 3 /* object */
        13: .line 1736
            aload 11 /* persister */
        14: .line 1737
            aload 7 /* lockMode */
        15: .line 1738
            aload 9 /* session */
        16: .line 1733
            invokestatic org.hibernate.engine.internal.TwoPhaseLoad.addUninitializedEntity:(Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        17: .line 1742
            aload 11 /* persister */
            aload 8 /* rootPersister */
            if_acmpne 19
        18: .line 1743
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityAliases:()[Lorg/hibernate/loader/EntityAliases;
            iload 2 /* i */
            aaload
            invokeinterface org.hibernate.loader.EntityAliases.getSuffixedPropertyAliases:()[[Ljava/lang/String;
            goto 20
        19: .line 1744
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityAliases:()[Lorg/hibernate/loader/EntityAliases;
            iload 2 /* i */
            aaload
            aload 11 /* persister */
            invokeinterface org.hibernate.loader.EntityAliases.getSuffixedPropertyAliases:(Lorg/hibernate/persister/entity/Loadable;)[[Ljava/lang/String;
        20: .line 1742
      StackMap locals:
      StackMap stack: java.lang.String[][]
            astore 13 /* cols */
        start local 13 // java.lang.String[][] cols
        21: .line 1746
            aload 11 /* persister */
        22: .line 1747
            aload 1 /* rs */
        23: .line 1748
            aload 10 /* id */
        24: .line 1749
            aload 3 /* object */
        25: .line 1750
            aload 8 /* rootPersister */
        26: .line 1751
            aload 13 /* cols */
        27: .line 1752
            iload 12 /* fetchAllPropertiesRequested */
        28: .line 1753
            aload 9 /* session */
        29: .line 1746
            invokeinterface org.hibernate.persister.entity.Loadable.hydrate:(Ljava/sql/ResultSet;Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/persister/entity/Loadable;[[Ljava/lang/String;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)[Ljava/lang/Object;
            astore 14 /* values */
        start local 14 // java.lang.Object[] values
        30: .line 1756
            aload 11 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.hasRowId:()Z
            ifeq 31
            aload 1 /* rs */
            aload 6 /* rowIdAlias */
            invokeinterface java.sql.ResultSet.getObject:(Ljava/lang/String;)Ljava/lang/Object;
            goto 32
      StackMap locals: java.lang.String[][] java.lang.Object[]
      StackMap stack:
        31: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
        32: astore 15 /* rowId */
        start local 15 // java.lang.Object rowId
        33: .line 1758
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getOwnerAssociationTypes:()[Lorg/hibernate/type/EntityType;
            astore 16 /* ownerAssociationTypes */
        start local 16 // org.hibernate.type.AssociationType[] ownerAssociationTypes
        34: .line 1759
            aload 16 /* ownerAssociationTypes */
            ifnull 48
            aload 16 /* ownerAssociationTypes */
            iload 2 /* i */
            aaload
            ifnull 48
        35: .line 1760
            aload 16 /* ownerAssociationTypes */
            iload 2 /* i */
            aaload
            invokeinterface org.hibernate.type.AssociationType.getRHSUniqueKeyPropertyName:()Ljava/lang/String;
            astore 17 /* ukName */
        start local 17 // java.lang.String ukName
        36: .line 1761
            aload 17 /* ukName */
            ifnull 48
        37: .line 1762
            aload 11 /* persister */
            checkcast org.hibernate.persister.entity.UniqueKeyLoadable
            aload 17 /* ukName */
            invokeinterface org.hibernate.persister.entity.UniqueKeyLoadable.getPropertyIndex:(Ljava/lang/String;)I
            istore 18 /* index */
        start local 18 // int index
        38: .line 1763
            aload 11 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getPropertyTypes:()[Lorg/hibernate/type/Type;
            iload 18 /* index */
            aaload
            astore 19 /* type */
        start local 19 // org.hibernate.type.Type type
        39: .line 1770
            new org.hibernate.engine.spi.EntityUniqueKey
            dup
        40: .line 1771
            aload 8 /* rootPersister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityName:()Ljava/lang/String;
        41: .line 1772
            aload 17 /* ukName */
        42: .line 1773
            aload 19 /* type */
            aload 14 /* values */
            iload 18 /* index */
            aaload
            aload 9 /* session */
            aload 3 /* object */
            invokeinterface org.hibernate.type.Type.semiResolve:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
        43: .line 1774
            aload 19 /* type */
        44: .line 1775
            aload 11 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityMode:()Lorg/hibernate/EntityMode;
        45: .line 1776
            aload 9 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
        46: .line 1770
            invokespecial org.hibernate.engine.spi.EntityUniqueKey.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/type/Type;Lorg/hibernate/EntityMode;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            astore 20 /* euk */
        start local 20 // org.hibernate.engine.spi.EntityUniqueKey euk
        47: .line 1778
            aload 9 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 20 /* euk */
            aload 3 /* object */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.addEntity:(Lorg/hibernate/engine/spi/EntityUniqueKey;Ljava/lang/Object;)V
        end local 20 // org.hibernate.engine.spi.EntityUniqueKey euk
        end local 19 // org.hibernate.type.Type type
        end local 18 // int index
        end local 17 // java.lang.String ukName
        48: .line 1783
      StackMap locals: java.lang.Object org.hibernate.type.AssociationType[]
      StackMap stack:
            aload 11 /* persister */
        49: .line 1784
            aload 10 /* id */
        50: .line 1785
            aload 14 /* values */
        51: .line 1786
            aload 15 /* rowId */
        52: .line 1787
            aload 3 /* object */
        53: .line 1788
            aload 7 /* lockMode */
        54: .line 1789
            aload 9 /* session */
        55: .line 1782
            invokestatic org.hibernate.engine.internal.TwoPhaseLoad.postHydrate:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/io/Serializable;[Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        56: .line 1792
            return
        end local 16 // org.hibernate.type.AssociationType[] ownerAssociationTypes
        end local 15 // java.lang.Object rowId
        end local 14 // java.lang.Object[] values
        end local 13 // java.lang.String[][] cols
        end local 12 // boolean fetchAllPropertiesRequested
        end local 11 // org.hibernate.persister.entity.Loadable persister
        end local 10 // java.io.Serializable id
        end local 9 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 8 // org.hibernate.persister.entity.Loadable rootPersister
        end local 7 // org.hibernate.LockMode lockMode
        end local 6 // java.lang.String rowIdAlias
        end local 5 // org.hibernate.engine.spi.EntityKey key
        end local 4 // java.lang.String instanceEntityName
        end local 3 // java.lang.Object object
        end local 2 // int i
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   57     0                         this  Lorg/hibernate/loader/Loader;
            0   57     1                           rs  Ljava/sql/ResultSet;
            0   57     2                            i  I
            0   57     3                       object  Ljava/lang/Object;
            0   57     4           instanceEntityName  Ljava/lang/String;
            0   57     5                          key  Lorg/hibernate/engine/spi/EntityKey;
            0   57     6                   rowIdAlias  Ljava/lang/String;
            0   57     7                     lockMode  Lorg/hibernate/LockMode;
            0   57     8                rootPersister  Lorg/hibernate/persister/entity/Loadable;
            0   57     9                      session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   57    10                           id  Ljava/io/Serializable;
            2   57    11                    persister  Lorg/hibernate/persister/entity/Loadable;
           11   57    12  fetchAllPropertiesRequested  Z
           21   57    13                         cols  [[Ljava/lang/String;
           30   57    14                       values  [Ljava/lang/Object;
           33   57    15                        rowId  Ljava/lang/Object;
           34   57    16        ownerAssociationTypes  [Lorg/hibernate/type/AssociationType;
           36   48    17                       ukName  Ljava/lang/String;
           38   48    18                        index  I
           39   48    19                         type  Lorg/hibernate/type/Type;
           47   48    20                          euk  Lorg/hibernate/engine/spi/EntityUniqueKey;
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                    Name  Flags
      rs                  final
      i                   final
      object              final
      instanceEntityName  final
      key                 final
      rowIdAlias          final
      lockMode            final
      rootPersister       final
      session             final

  private java.lang.String getInstanceClass(java.sql.ResultSet, int, org.hibernate.persister.entity.Loadable, java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/ResultSet;ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet rs
        start local 2 // int i
        start local 3 // org.hibernate.persister.entity.Loadable persister
        start local 4 // java.io.Serializable id
        start local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1804
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.hasSubclasses:()Z
            ifeq 15
         1: .line 1807
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getDiscriminatorType:()Lorg/hibernate/type/Type;
         2: .line 1808
            aload 1 /* rs */
         3: .line 1809
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityAliases:()[Lorg/hibernate/loader/EntityAliases;
            iload 2 /* i */
            aaload
            invokeinterface org.hibernate.loader.EntityAliases.getSuffixedDiscriminatorAlias:()Ljava/lang/String;
         4: .line 1810
            aload 5 /* session */
         5: .line 1811
            aconst_null
         6: .line 1807
            invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* discriminatorValue */
        start local 6 // java.lang.Object discriminatorValue
         7: .line 1814
            aload 3 /* persister */
            aload 6 /* discriminatorValue */
            invokeinterface org.hibernate.persister.entity.Loadable.getSubclassForDiscriminatorValue:(Ljava/lang/Object;)Ljava/lang/String;
            astore 7 /* result */
        start local 7 // java.lang.String result
         8: .line 1816
            aload 7 /* result */
            ifnonnull 14
         9: .line 1818
            new org.hibernate.WrongClassException
            dup
        10: .line 1819
            new java.lang.StringBuilder
            dup
            ldc "Discriminator: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* discriminatorValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1820
            aload 4 /* id */
        12: .line 1821
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityName:()Ljava/lang/String;
        13: .line 1818
            invokespecial org.hibernate.WrongClassException.<init>:(Ljava/lang/String;Ljava/io/Serializable;Ljava/lang/String;)V
            athrow
        14: .line 1825
      StackMap locals: java.lang.Object java.lang.String
      StackMap stack:
            aload 7 /* result */
            areturn
        end local 7 // java.lang.String result
        end local 6 // java.lang.Object discriminatorValue
        15: .line 1829
      StackMap locals:
      StackMap stack:
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityName:()Ljava/lang/String;
            areturn
        end local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 4 // java.io.Serializable id
        end local 3 // org.hibernate.persister.entity.Loadable persister
        end local 2 // int i
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/hibernate/loader/Loader;
            0   16     1                  rs  Ljava/sql/ResultSet;
            0   16     2                   i  I
            0   16     3           persister  Lorg/hibernate/persister/entity/Loadable;
            0   16     4                  id  Ljava/io/Serializable;
            0   16     5             session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            7   15     6  discriminatorValue  Ljava/lang/Object;
            8   15     7              result  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
           Name  Flags
      rs         final
      i          final
      persister  final
      id         final
      session    final

  private void advance(java.sql.ResultSet, org.hibernate.engine.spi.RowSelection);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/RowSelection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet rs
        start local 2 // org.hibernate.engine.spi.RowSelection selection
         0: .line 1838
            aload 2 /* selection */
            invokestatic org.hibernate.dialect.pagination.LimitHelper.getFirstRow:(Lorg/hibernate/engine/spi/RowSelection;)I
            istore 3 /* firstRow */
        start local 3 // int firstRow
         1: .line 1839
            iload 3 /* firstRow */
            ifeq 10
         2: .line 1840
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isScrollableResultSetsEnabled:()Z
            ifeq 5
         3: .line 1842
            aload 1 /* rs */
            iload 3 /* firstRow */
            invokeinterface java.sql.ResultSet.absolute:(I)Z
            pop
         4: .line 1843
            goto 10
         5: .line 1846
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* m */
        start local 4 // int m
         6: goto 9
         7: .line 1847
      StackMap locals: int
      StackMap stack:
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
         8: .line 1846
            iinc 4 /* m */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* m */
            iload 3 /* firstRow */
            if_icmplt 7
        end local 4 // int m
        10: .line 1851
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int firstRow
        end local 2 // org.hibernate.engine.spi.RowSelection selection
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/hibernate/loader/Loader;
            0   11     1         rs  Ljava/sql/ResultSet;
            0   11     2  selection  Lorg/hibernate/engine/spi/RowSelection;
            1   11     3   firstRow  I
            6   10     4          m  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
           Name  Flags
      rs         final
      selection  final

  protected org.hibernate.dialect.pagination.LimitHandler getLimitHandler(org.hibernate.engine.spi.RowSelection);
    descriptor: (Lorg/hibernate/engine/spi/RowSelection;)Lorg/hibernate/dialect/pagination/LimitHandler;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.RowSelection selection
         0: .line 1862
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.dialect.Dialect.getLimitHandler:()Lorg/hibernate/dialect/pagination/LimitHandler;
            astore 2 /* limitHandler */
        start local 2 // org.hibernate.dialect.pagination.LimitHandler limitHandler
         1: .line 1863
            aload 2 /* limitHandler */
            aload 1 /* selection */
            invokestatic org.hibernate.dialect.pagination.LimitHelper.useLimit:(Lorg/hibernate/dialect/pagination/LimitHandler;Lorg/hibernate/engine/spi/RowSelection;)Z
            ifeq 2
            aload 2 /* limitHandler */
            goto 3
      StackMap locals: org.hibernate.dialect.pagination.LimitHandler
      StackMap stack:
         2: getstatic org.hibernate.dialect.pagination.NoopLimitHandler.INSTANCE:Lorg/hibernate/dialect/pagination/NoopLimitHandler;
      StackMap locals:
      StackMap stack: org.hibernate.dialect.pagination.LimitHandler
         3: areturn
        end local 2 // org.hibernate.dialect.pagination.LimitHandler limitHandler
        end local 1 // org.hibernate.engine.spi.RowSelection selection
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/hibernate/loader/Loader;
            0    4     1     selection  Lorg/hibernate/engine/spi/RowSelection;
            1    4     2  limitHandler  Lorg/hibernate/dialect/pagination/LimitHandler;
    MethodParameters:
           Name  Flags
      selection  

  private org.hibernate.ScrollMode getScrollMode(boolean, boolean, boolean, org.hibernate.engine.spi.QueryParameters);
    descriptor: (ZZZLorg/hibernate/engine/spi/QueryParameters;)Lorg/hibernate/ScrollMode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=6, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // boolean scroll
        start local 2 // boolean hasFirstRow
        start local 3 // boolean useLimitOffSet
        start local 4 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 1871
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isScrollableResultSetsEnabled:()Z
            istore 5 /* canScroll */
        start local 5 // boolean canScroll
         1: .line 1872
            iload 5 /* canScroll */
            ifeq 6
         2: .line 1873
            iload 1 /* scroll */
            ifeq 4
         3: .line 1874
            aload 4 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getScrollMode:()Lorg/hibernate/ScrollMode;
            areturn
         4: .line 1876
      StackMap locals: int
      StackMap stack:
            iload 2 /* hasFirstRow */
            ifeq 6
            iload 3 /* useLimitOffSet */
            ifne 6
         5: .line 1877
            getstatic org.hibernate.ScrollMode.SCROLL_INSENSITIVE:Lorg/hibernate/ScrollMode;
            areturn
         6: .line 1880
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // boolean canScroll
        end local 4 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 3 // boolean useLimitOffSet
        end local 2 // boolean hasFirstRow
        end local 1 // boolean scroll
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/hibernate/loader/Loader;
            0    7     1           scroll  Z
            0    7     2      hasFirstRow  Z
            0    7     3   useLimitOffSet  Z
            0    7     4  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            1    7     5        canScroll  Z
    MethodParameters:
                 Name  Flags
      scroll           
      hasFirstRow      
      useLimitOffSet   
      queryParameters  

  protected org.hibernate.loader.Loader$SqlStatementWrapper executeQueryStatement(org.hibernate.engine.spi.QueryParameters, boolean, java.util.List<org.hibernate.loader.spi.AfterLoadAction>, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 2 // boolean scroll
        start local 3 // java.util.List afterLoadActions
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1892
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
            aload 1 /* queryParameters */
            iload 2 /* scroll */
            aload 3 /* afterLoadActions */
            aload 4 /* session */
            invokevirtual org.hibernate.loader.Loader.executeQueryStatement:(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
            areturn
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // java.util.List afterLoadActions
        end local 2 // boolean scroll
        end local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/hibernate/loader/Loader;
            0    1     1   queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    1     2            scroll  Z
            0    1     3  afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            0    1     4           session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
    MethodParameters:
                  Name  Flags
      queryParameters   final
      scroll            final
      afterLoadActions  
      session           final

  protected org.hibernate.loader.Loader$SqlStatementWrapper executeQueryStatement(java.lang.String, org.hibernate.engine.spi.QueryParameters, boolean, java.util.List<org.hibernate.loader.spi.AfterLoadAction>, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=11, args_size=6
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.String sqlStatement
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // boolean scroll
        start local 4 // java.util.List afterLoadActions
        start local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1903
            aload 2 /* queryParameters */
            aload 1 /* sqlStatement */
            aload 5 /* session */
            invokevirtual org.hibernate.engine.spi.QueryParameters.processFilters:(Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
         1: .line 1906
            aload 0 /* this */
         2: .line 1907
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getRowSelection:()Lorg/hibernate/engine/spi/RowSelection;
         3: .line 1906
            invokevirtual org.hibernate.loader.Loader.getLimitHandler:(Lorg/hibernate/engine/spi/RowSelection;)Lorg/hibernate/dialect/pagination/LimitHandler;
            astore 6 /* limitHandler */
        start local 6 // org.hibernate.dialect.pagination.LimitHandler limitHandler
         4: .line 1909
            aload 6 /* limitHandler */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getFilteredSQL:()Ljava/lang/String;
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getRowSelection:()Lorg/hibernate/engine/spi/RowSelection;
            invokeinterface org.hibernate.dialect.pagination.LimitHandler.processSql:(Ljava/lang/String;Lorg/hibernate/engine/spi/RowSelection;)Ljava/lang/String;
            astore 7 /* sql */
        start local 7 // java.lang.String sql
         5: .line 1912
            aload 0 /* this */
            aload 7 /* sql */
            aload 2 /* queryParameters */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 4 /* afterLoadActions */
            invokevirtual org.hibernate.loader.Loader.preprocessSQL:(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Ljava/util/List;)Ljava/lang/String;
            astore 7 /* sql */
         6: .line 1914
            aload 0 /* this */
            aload 7 /* sql */
            aload 2 /* queryParameters */
            aload 6 /* limitHandler */
            iload 3 /* scroll */
            aload 5 /* session */
            invokevirtual org.hibernate.loader.Loader.prepareQueryStatement:(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/sql/PreparedStatement;
            astore 8 /* st */
        start local 8 // java.sql.PreparedStatement st
         7: .line 1918
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isCallable:()Z
            ifeq 17
            aload 0 /* this */
            aload 8 /* st */
            ldc Ljava/sql/CallableStatement;
            invokevirtual org.hibernate.loader.Loader.isTypeOf:(Ljava/sql/Statement;Ljava/lang/Class;)Z
            ifeq 17
         8: .line 1919
            aload 8 /* st */
            ldc Ljava/sql/CallableStatement;
            invokeinterface java.sql.PreparedStatement.unwrap:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.sql.CallableStatement
            astore 10 /* cs */
        start local 10 // java.sql.CallableStatement cs
         9: .line 1921
            aload 0 /* this */
        10: .line 1922
            aload 10 /* cs */
        11: .line 1923
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getRowSelection:()Lorg/hibernate/engine/spi/RowSelection;
        12: .line 1924
            aload 6 /* limitHandler */
        13: .line 1925
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.hasAutoDiscoverScalarTypes:()Z
        14: .line 1926
            aload 5 /* session */
        15: .line 1921
            invokevirtual org.hibernate.loader.Loader.getResultSet:(Ljava/sql/CallableStatement;Lorg/hibernate/engine/spi/RowSelection;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/sql/ResultSet;
            astore 9 /* rs */
        end local 10 // java.sql.CallableStatement cs
        start local 9 // java.sql.ResultSet rs
        16: .line 1928
            goto 24
        end local 9 // java.sql.ResultSet rs
        17: .line 1930
      StackMap locals: org.hibernate.dialect.pagination.LimitHandler java.lang.String java.sql.PreparedStatement
      StackMap stack:
            aload 0 /* this */
        18: .line 1931
            aload 8 /* st */
        19: .line 1932
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getRowSelection:()Lorg/hibernate/engine/spi/RowSelection;
        20: .line 1933
            aload 6 /* limitHandler */
        21: .line 1934
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.hasAutoDiscoverScalarTypes:()Z
        22: .line 1935
            aload 5 /* session */
        23: .line 1930
            invokevirtual org.hibernate.loader.Loader.getResultSet:(Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/RowSelection;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/sql/ResultSet;
            astore 9 /* rs */
        start local 9 // java.sql.ResultSet rs
        24: .line 1939
      StackMap locals: java.sql.ResultSet
      StackMap stack:
            new org.hibernate.loader.Loader$SqlStatementWrapper
            dup
        25: .line 1940
            aload 8 /* st */
        26: .line 1941
            aload 9 /* rs */
        27: .line 1939
            invokespecial org.hibernate.loader.Loader$SqlStatementWrapper.<init>:(Ljava/sql/Statement;Ljava/sql/ResultSet;)V
            areturn
        end local 9 // java.sql.ResultSet rs
        end local 8 // java.sql.PreparedStatement st
        end local 7 // java.lang.String sql
        end local 6 // org.hibernate.dialect.pagination.LimitHandler limitHandler
        end local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 4 // java.util.List afterLoadActions
        end local 3 // boolean scroll
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // java.lang.String sqlStatement
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0              this  Lorg/hibernate/loader/Loader;
            0   28     1      sqlStatement  Ljava/lang/String;
            0   28     2   queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   28     3            scroll  Z
            0   28     4  afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            0   28     5           session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            4   28     6      limitHandler  Lorg/hibernate/dialect/pagination/LimitHandler;
            5   28     7               sql  Ljava/lang/String;
            7   28     8                st  Ljava/sql/PreparedStatement;
           16   17     9                rs  Ljava/sql/ResultSet;
           24   28     9                rs  Ljava/sql/ResultSet;
            9   16    10                cs  Ljava/sql/CallableStatement;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
    MethodParameters:
                  Name  Flags
      sqlStatement      
      queryParameters   
      scroll            
      afterLoadActions  
      session           

  private boolean isTypeOf(java.sql.Statement, java.lang.Class<? extends java.sql.Statement>);
    descriptor: (Ljava/sql/Statement;Ljava/lang/Class;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.Statement statement
        start local 2 // java.lang.Class type
         0: .line 1947
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.isJdbc4:Z
            ifeq 6
         1: .line 1950
            aload 1 /* statement */
            aload 2 /* type */
            invokeinterface java.sql.Statement.isWrapperFor:(Ljava/lang/Class;)Z
         2: ireturn
         3: .line 1952
      StackMap locals:
      StackMap stack: java.sql.SQLException
            pop
            goto 6
         4: .line 1955
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
         5: .line 1959
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.loader.Loader.isJdbc4:Z
         6: .line 1962
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            aload 1 /* statement */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.Class type
        end local 1 // java.sql.Statement statement
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/hibernate/loader/Loader;
            0    7     1  statement  Ljava/sql/Statement;
            0    7     2       type  Ljava/lang/Class<+Ljava/sql/Statement;>;
      Exception table:
        from    to  target  type
           1     2       3  Class java.sql.SQLException
           1     2       4  Class java.lang.Throwable
    Signature: (Ljava/sql/Statement;Ljava/lang/Class<+Ljava/sql/Statement;>;)Z
    MethodParameters:
           Name  Flags
      statement  final
      type       final

  protected final java.sql.PreparedStatement prepareQueryStatement(java.lang.String, org.hibernate.engine.spi.QueryParameters, org.hibernate.dialect.pagination.LimitHandler, boolean, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/sql/PreparedStatement;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=16, args_size=6
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.String sql
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // org.hibernate.dialect.pagination.LimitHandler limitHandler
        start local 4 // boolean scroll
        start local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1976
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
            astore 6 /* dialect */
        start local 6 // org.hibernate.dialect.Dialect dialect
         1: .line 1977
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getRowSelection:()Lorg/hibernate/engine/spi/RowSelection;
            astore 7 /* selection */
        start local 7 // org.hibernate.engine.spi.RowSelection selection
         2: .line 1978
            aload 3 /* limitHandler */
            aload 7 /* selection */
            invokestatic org.hibernate.dialect.pagination.LimitHelper.useLimit:(Lorg/hibernate/dialect/pagination/LimitHandler;Lorg/hibernate/engine/spi/RowSelection;)Z
            istore 8 /* useLimit */
        start local 8 // boolean useLimit
         3: .line 1979
            aload 7 /* selection */
            invokestatic org.hibernate.dialect.pagination.LimitHelper.hasFirstRow:(Lorg/hibernate/engine/spi/RowSelection;)Z
            istore 9 /* hasFirstRow */
        start local 9 // boolean hasFirstRow
         4: .line 1980
            iload 9 /* hasFirstRow */
            ifeq 5
            iload 8 /* useLimit */
            ifeq 5
            aload 3 /* limitHandler */
            invokeinterface org.hibernate.dialect.pagination.LimitHandler.supportsLimitOffset:()Z
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: org.hibernate.loader.Loader java.lang.String org.hibernate.engine.spi.QueryParameters org.hibernate.dialect.pagination.LimitHandler int org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.dialect.Dialect org.hibernate.engine.spi.RowSelection int int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 10 /* useLimitOffset */
        start local 10 // boolean useLimitOffset
         7: .line 1981
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isCallable:()Z
            istore 11 /* callable */
        start local 11 // boolean callable
         8: .line 1982
            aload 0 /* this */
            iload 4 /* scroll */
            iload 9 /* hasFirstRow */
            iload 10 /* useLimitOffset */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.loader.Loader.getScrollMode:(ZZZLorg/hibernate/engine/spi/QueryParameters;)Lorg/hibernate/ScrollMode;
            astore 12 /* scrollMode */
        start local 12 // org.hibernate.ScrollMode scrollMode
         9: .line 1984
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
        10: .line 1985
            aload 1 /* sql */
        11: .line 1986
            iload 11 /* callable */
        12: .line 1987
            aload 12 /* scrollMode */
        13: .line 1984
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareQueryStatement:(Ljava/lang/String;ZLorg/hibernate/ScrollMode;)Ljava/sql/PreparedStatement;
            astore 13 /* st */
        start local 13 // java.sql.PreparedStatement st
        14: .line 1992
            iconst_1
            istore 14 /* col */
        start local 14 // int col
        15: .line 1994
            iload 14 /* col */
            aload 3 /* limitHandler */
            aload 7 /* selection */
            aload 13 /* st */
            iload 14 /* col */
            invokeinterface org.hibernate.dialect.pagination.LimitHandler.bindLimitParametersAtStartOfQuery:(Lorg/hibernate/engine/spi/RowSelection;Ljava/sql/PreparedStatement;I)I
            iadd
            istore 14 /* col */
        16: .line 1996
            iload 11 /* callable */
            ifeq 18
        17: .line 1997
            aload 6 /* dialect */
            aload 13 /* st */
            checkcast java.sql.CallableStatement
            iload 14 /* col */
            invokevirtual org.hibernate.dialect.Dialect.registerResultSetOutParameter:(Ljava/sql/CallableStatement;I)I
            istore 14 /* col */
        18: .line 2000
      StackMap locals: org.hibernate.loader.Loader java.lang.String org.hibernate.engine.spi.QueryParameters org.hibernate.dialect.pagination.LimitHandler int org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.dialect.Dialect org.hibernate.engine.spi.RowSelection int int int int org.hibernate.ScrollMode java.sql.PreparedStatement int
      StackMap stack:
            iload 14 /* col */
            aload 0 /* this */
            aload 13 /* st */
            aload 2 /* queryParameters */
            iload 14 /* col */
            aload 5 /* session */
            invokevirtual org.hibernate.loader.Loader.bindParameterValues:(Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
            iadd
            istore 14 /* col */
        19: .line 2002
            iload 14 /* col */
            aload 3 /* limitHandler */
            aload 7 /* selection */
            aload 13 /* st */
            iload 14 /* col */
            invokeinterface org.hibernate.dialect.pagination.LimitHandler.bindLimitParametersAtEndOfQuery:(Lorg/hibernate/engine/spi/RowSelection;Ljava/sql/PreparedStatement;I)I
            iadd
            istore 14 /* col */
        20: .line 2004
            aload 3 /* limitHandler */
            aload 7 /* selection */
            aload 13 /* st */
            invokeinterface org.hibernate.dialect.pagination.LimitHandler.setMaxRows:(Lorg/hibernate/engine/spi/RowSelection;Ljava/sql/PreparedStatement;)V
        21: .line 2006
            aload 7 /* selection */
            ifnull 26
        22: .line 2007
            aload 7 /* selection */
            invokevirtual org.hibernate.engine.spi.RowSelection.getTimeout:()Ljava/lang/Integer;
            ifnull 24
        23: .line 2008
            aload 13 /* st */
            aload 7 /* selection */
            invokevirtual org.hibernate.engine.spi.RowSelection.getTimeout:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface java.sql.PreparedStatement.setQueryTimeout:(I)V
        24: .line 2010
      StackMap locals:
      StackMap stack:
            aload 7 /* selection */
            invokevirtual org.hibernate.engine.spi.RowSelection.getFetchSize:()Ljava/lang/Integer;
            ifnull 26
        25: .line 2011
            aload 13 /* st */
            aload 7 /* selection */
            invokevirtual org.hibernate.engine.spi.RowSelection.getFetchSize:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface java.sql.PreparedStatement.setFetchSize:(I)V
        26: .line 2016
      StackMap locals:
      StackMap stack:
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getLockOptions:()Lorg/hibernate/LockOptions;
            astore 15 /* lockOptions */
        start local 15 // org.hibernate.LockOptions lockOptions
        27: .line 2017
            aload 15 /* lockOptions */
            ifnull 38
        28: .line 2018
            aload 15 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getTimeOut:()I
            iconst_m1
            if_icmpeq 38
        29: .line 2019
            aload 6 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.supportsLockTimeouts:()Z
            ifne 36
        30: .line 2020
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 38
        31: .line 2021
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        32: .line 2022
            ldc "Lock timeout [%s] requested but dialect reported to not support lock timeouts"
        33: .line 2023
            aload 15 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getTimeOut:()I
        34: .line 2021
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;I)V
        35: .line 2026
            goto 38
        36: .line 2027
      StackMap locals: org.hibernate.LockOptions
      StackMap stack:
            aload 6 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.isLockTimeoutParameterized:()Z
            ifeq 38
        37: .line 2028
            aload 13 /* st */
            iload 14 /* col */
            iinc 14 /* col */ 1
            aload 15 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getTimeOut:()I
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        38: .line 2033
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            ifeq 45
        39: .line 2034
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Bound [{0}] parameters total"
            iload 14 /* col */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 15 // org.hibernate.LockOptions lockOptions
        end local 14 // int col
        40: .line 2036
            goto 45
        41: .line 2037
      StackMap locals: org.hibernate.loader.Loader java.lang.String org.hibernate.engine.spi.QueryParameters org.hibernate.dialect.pagination.LimitHandler int org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.dialect.Dialect org.hibernate.engine.spi.RowSelection int int int int org.hibernate.ScrollMode java.sql.PreparedStatement
      StackMap stack: java.lang.Exception
            astore 14 /* e */
        start local 14 // java.lang.Exception e
        42: .line 2038
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getLogicalConnection:()Lorg/hibernate/resource/jdbc/spi/LogicalConnectionImplementor;
            invokeinterface org.hibernate.resource.jdbc.spi.LogicalConnectionImplementor.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 13 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        43: .line 2039
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        44: .line 2040
            aload 14 /* e */
            athrow
        end local 14 // java.lang.Exception e
        45: .line 2043
      StackMap locals:
      StackMap stack:
            aload 13 /* st */
            areturn
        end local 13 // java.sql.PreparedStatement st
        end local 12 // org.hibernate.ScrollMode scrollMode
        end local 11 // boolean callable
        end local 10 // boolean useLimitOffset
        end local 9 // boolean hasFirstRow
        end local 8 // boolean useLimit
        end local 7 // org.hibernate.engine.spi.RowSelection selection
        end local 6 // org.hibernate.dialect.Dialect dialect
        end local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 4 // boolean scroll
        end local 3 // org.hibernate.dialect.pagination.LimitHandler limitHandler
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // java.lang.String sql
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   46     0             this  Lorg/hibernate/loader/Loader;
            0   46     1              sql  Ljava/lang/String;
            0   46     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   46     3     limitHandler  Lorg/hibernate/dialect/pagination/LimitHandler;
            0   46     4           scroll  Z
            0   46     5          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   46     6          dialect  Lorg/hibernate/dialect/Dialect;
            2   46     7        selection  Lorg/hibernate/engine/spi/RowSelection;
            3   46     8         useLimit  Z
            4   46     9      hasFirstRow  Z
            7   46    10   useLimitOffset  Z
            8   46    11         callable  Z
            9   46    12       scrollMode  Lorg/hibernate/ScrollMode;
           14   46    13               st  Ljava/sql/PreparedStatement;
           15   40    14              col  I
           27   40    15      lockOptions  Lorg/hibernate/LockOptions;
           42   45    14                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          14    40      41  Class java.sql.SQLException
          14    40      41  Class org.hibernate.HibernateException
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      sql              
      queryParameters  final
      limitHandler     final
      scroll           final
      session          final

  protected int bindParameterValues(java.sql.PreparedStatement, org.hibernate.engine.spi.QueryParameters, int, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.PreparedStatement statement
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // int startIndex
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 2064
            iconst_0
            istore 5 /* span */
        start local 5 // int span
         1: .line 2065
            iload 5 /* span */
            aload 0 /* this */
            aload 1 /* statement */
            aload 2 /* queryParameters */
            iload 3 /* startIndex */
            aload 4 /* session */
            invokevirtual org.hibernate.loader.Loader.bindPositionalParameters:(Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
            iadd
            istore 5 /* span */
         2: .line 2066
            iload 5 /* span */
            aload 0 /* this */
            aload 1 /* statement */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getNamedParameters:()Ljava/util/Map;
            iload 3 /* startIndex */
            iload 5 /* span */
            iadd
            aload 4 /* session */
            invokevirtual org.hibernate.loader.Loader.bindNamedParameters:(Ljava/sql/PreparedStatement;Ljava/util/Map;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
            iadd
            istore 5 /* span */
         3: .line 2067
            iload 5 /* span */
            ireturn
        end local 5 // int span
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // int startIndex
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // java.sql.PreparedStatement statement
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/hibernate/loader/Loader;
            0    4     1        statement  Ljava/sql/PreparedStatement;
            0    4     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    4     3       startIndex  I
            0    4     4          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1    4     5             span  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                 Name  Flags
      statement        
      queryParameters  
      startIndex       
      session          

  protected int bindPositionalParameters(java.sql.PreparedStatement, org.hibernate.engine.spi.QueryParameters, int, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.PreparedStatement statement
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // int startIndex
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 2092
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getFilteredPositionalParameterValues:()[Ljava/lang/Object;
            astore 5 /* values */
        start local 5 // java.lang.Object[] values
         1: .line 2093
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getFilteredPositionalParameterTypes:()[Lorg/hibernate/type/Type;
            astore 6 /* types */
        start local 6 // org.hibernate.type.Type[] types
         2: .line 2094
            iconst_0
            istore 7 /* span */
        start local 7 // int span
         3: .line 2095
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         4: goto 8
         5: .line 2096
      StackMap locals: org.hibernate.loader.Loader java.sql.PreparedStatement org.hibernate.engine.spi.QueryParameters int org.hibernate.engine.spi.SharedSessionContractImplementor java.lang.Object[] org.hibernate.type.Type[] int int
      StackMap stack:
            aload 6 /* types */
            iload 8 /* i */
            aaload
            aload 1 /* statement */
            aload 5 /* values */
            iload 8 /* i */
            aaload
            iload 3 /* startIndex */
            iload 7 /* span */
            iadd
            aload 4 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
         6: .line 2097
            iload 7 /* span */
            aload 6 /* types */
            iload 8 /* i */
            aaload
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
            iadd
            istore 7 /* span */
         7: .line 2095
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 8 /* i */
            aload 5 /* values */
            arraylength
            if_icmplt 5
        end local 8 // int i
         9: .line 2099
            iload 7 /* span */
            ireturn
        end local 7 // int span
        end local 6 // org.hibernate.type.Type[] types
        end local 5 // java.lang.Object[] values
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // int startIndex
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // java.sql.PreparedStatement statement
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/hibernate/loader/Loader;
            0   10     1        statement  Ljava/sql/PreparedStatement;
            0   10     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   10     3       startIndex  I
            0   10     4          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   10     5           values  [Ljava/lang/Object;
            2   10     6            types  [Lorg/hibernate/type/Type;
            3   10     7             span  I
            4    9     8                i  I
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      statement        final
      queryParameters  final
      startIndex       final
      session          final

  protected int bindNamedParameters(java.sql.PreparedStatement, java.util.Map<java.lang.String, org.hibernate.engine.spi.TypedValue>, int, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/util/Map;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=16, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.PreparedStatement statement
        start local 2 // java.util.Map namedParams
        start local 3 // int startIndex
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 2127
            iconst_0
            istore 5 /* result */
        start local 5 // int result
         1: .line 2128
            aload 2 /* namedParams */
            invokestatic org.hibernate.internal.util.collections.CollectionHelper.isEmpty:(Ljava/util/Map;)Z
            ifeq 3
         2: .line 2129
            iload 5 /* result */
            ireturn
         3: .line 2132
      StackMap locals: int
      StackMap stack:
            aload 2 /* namedParams */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 22
      StackMap locals: org.hibernate.loader.Loader java.sql.PreparedStatement java.util.Map int org.hibernate.engine.spi.SharedSessionContractImplementor int top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
         5: .line 2133
            aload 2 /* namedParams */
            aload 6 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.TypedValue
            astore 8 /* typedValue */
        start local 8 // org.hibernate.engine.spi.TypedValue typedValue
         6: .line 2134
            aload 8 /* typedValue */
            invokevirtual org.hibernate.engine.spi.TypedValue.getType:()Lorg/hibernate/type/Type;
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
            istore 9 /* columnSpan */
        start local 9 // int columnSpan
         7: .line 2135
            aload 0 /* this */
            aload 6 /* name */
            invokevirtual org.hibernate.loader.Loader.getNamedParameterLocs:(Ljava/lang/String;)[I
            astore 10 /* locs */
        start local 10 // int[] locs
         8: .line 2136
            aload 10 /* locs */
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 20
      StackMap locals: org.hibernate.loader.Loader java.sql.PreparedStatement java.util.Map int org.hibernate.engine.spi.SharedSessionContractImplementor int java.lang.String java.util.Iterator org.hibernate.engine.spi.TypedValue int int[] top int int int[]
      StackMap stack:
         9: aload 14
            iload 12
            iaload
            istore 11 /* loc */
        start local 11 // int loc
        10: .line 2137
            getstatic org.hibernate.loader.Loader.DEBUG_ENABLED:Z
            ifeq 17
        11: .line 2138
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        12: .line 2139
            ldc "bindNamedParameters() %s -> %s [%s]"
        13: .line 2140
            aload 8 /* typedValue */
            invokevirtual org.hibernate.engine.spi.TypedValue.getValue:()Ljava/lang/Object;
        14: .line 2141
            aload 6 /* name */
        15: .line 2142
            iload 11 /* loc */
            iload 3 /* startIndex */
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        16: .line 2138
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 2145
      StackMap locals: org.hibernate.loader.Loader java.sql.PreparedStatement java.util.Map int org.hibernate.engine.spi.SharedSessionContractImplementor int java.lang.String java.util.Iterator org.hibernate.engine.spi.TypedValue int int[] int int int int[]
      StackMap stack:
            iload 11 /* loc */
            iload 9 /* columnSpan */
            imul
            iload 3 /* startIndex */
            iadd
            istore 15 /* start */
        start local 15 // int start
        18: .line 2146
            aload 8 /* typedValue */
            invokevirtual org.hibernate.engine.spi.TypedValue.getType:()Lorg/hibernate/type/Type;
            aload 1 /* statement */
            aload 8 /* typedValue */
            invokevirtual org.hibernate.engine.spi.TypedValue.getValue:()Ljava/lang/Object;
            iload 15 /* start */
            aload 4 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        end local 15 // int start
        end local 11 // int loc
        19: .line 2136
            iinc 12 1
      StackMap locals: org.hibernate.loader.Loader java.sql.PreparedStatement java.util.Map int org.hibernate.engine.spi.SharedSessionContractImplementor int java.lang.String java.util.Iterator org.hibernate.engine.spi.TypedValue int int[] top int int int[]
      StackMap stack:
        20: iload 12
            iload 13
            if_icmplt 9
        21: .line 2148
            iload 5 /* result */
            aload 10 /* locs */
            arraylength
            iadd
            istore 5 /* result */
        end local 10 // int[] locs
        end local 9 // int columnSpan
        end local 8 // org.hibernate.engine.spi.TypedValue typedValue
        end local 6 // java.lang.String name
        22: .line 2132
      StackMap locals: org.hibernate.loader.Loader java.sql.PreparedStatement java.util.Map int org.hibernate.engine.spi.SharedSessionContractImplementor int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        23: .line 2150
            iload 5 /* result */
            ireturn
        end local 5 // int result
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // int startIndex
        end local 2 // java.util.Map namedParams
        end local 1 // java.sql.PreparedStatement statement
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lorg/hibernate/loader/Loader;
            0   24     1    statement  Ljava/sql/PreparedStatement;
            0   24     2  namedParams  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/spi/TypedValue;>;
            0   24     3   startIndex  I
            0   24     4      session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   24     5       result  I
            5   22     6         name  Ljava/lang/String;
            6   22     8   typedValue  Lorg/hibernate/engine/spi/TypedValue;
            7   22     9   columnSpan  I
            8   22    10         locs  [I
           10   19    11          loc  I
           18   19    15        start  I
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    Signature: (Ljava/sql/PreparedStatement;Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/spi/TypedValue;>;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
    MethodParameters:
             Name  Flags
      statement    final
      namedParams  final
      startIndex   final
      session      final

  public int[] getNamedParameterLocs(java.lang.String);
    descriptor: (Ljava/lang/String;)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.String name
         0: .line 2154
            new org.hibernate.AssertionFailure
            dup
            ldc "no named parameters"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected final java.sql.ResultSet getResultSet(java.sql.PreparedStatement, org.hibernate.engine.spi.RowSelection, org.hibernate.dialect.pagination.LimitHandler, boolean, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/RowSelection;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/sql/ResultSet;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.PreparedStatement st
        start local 2 // org.hibernate.engine.spi.RowSelection selection
        start local 3 // org.hibernate.dialect.pagination.LimitHandler limitHandler
        start local 4 // boolean autodiscovertypes
        start local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 2167
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            aload 1 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.extract:(Ljava/sql/PreparedStatement;)Ljava/sql/ResultSet;
            astore 6 /* rs */
        start local 6 // java.sql.ResultSet rs
         1: .line 2169
            aload 0 /* this */
            aload 6 /* rs */
            aload 2 /* selection */
            aload 3 /* limitHandler */
            iload 4 /* autodiscovertypes */
            aload 5 /* session */
            invokevirtual org.hibernate.loader.Loader.processResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/RowSelection;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/sql/ResultSet;
         2: areturn
        end local 6 // java.sql.ResultSet rs
         3: .line 2171
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
         4: .line 2172
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getLogicalConnection:()Lorg/hibernate/resource/jdbc/spi/LogicalConnectionImplementor;
            invokeinterface org.hibernate.resource.jdbc.spi.LogicalConnectionImplementor.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 1 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
         5: .line 2173
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
         6: .line 2174
            aload 6 /* e */
            athrow
        end local 6 // java.lang.Exception e
        end local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 4 // boolean autodiscovertypes
        end local 3 // org.hibernate.dialect.pagination.LimitHandler limitHandler
        end local 2 // org.hibernate.engine.spi.RowSelection selection
        end local 1 // java.sql.PreparedStatement st
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/hibernate/loader/Loader;
            0    7     1                 st  Ljava/sql/PreparedStatement;
            0    7     2          selection  Lorg/hibernate/engine/spi/RowSelection;
            0    7     3       limitHandler  Lorg/hibernate/dialect/pagination/LimitHandler;
            0    7     4  autodiscovertypes  Z
            0    7     5            session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1    3     6                 rs  Ljava/sql/ResultSet;
            4    7     6                  e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2       3  Class java.sql.SQLException
           0     2       3  Class org.hibernate.HibernateException
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                   Name  Flags
      st                 final
      selection          final
      limitHandler       final
      autodiscovertypes  final
      session            final

  protected final java.sql.ResultSet getResultSet(java.sql.CallableStatement, org.hibernate.engine.spi.RowSelection, org.hibernate.dialect.pagination.LimitHandler, boolean, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/CallableStatement;Lorg/hibernate/engine/spi/RowSelection;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/sql/ResultSet;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.CallableStatement st
        start local 2 // org.hibernate.engine.spi.RowSelection selection
        start local 3 // org.hibernate.dialect.pagination.LimitHandler limitHandler
        start local 4 // boolean autodiscovertypes
        start local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 2188
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            aload 1 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.extract:(Ljava/sql/CallableStatement;)Ljava/sql/ResultSet;
            astore 6 /* rs */
        start local 6 // java.sql.ResultSet rs
         1: .line 2190
            aload 0 /* this */
            aload 6 /* rs */
            aload 2 /* selection */
            aload 3 /* limitHandler */
            iload 4 /* autodiscovertypes */
            aload 5 /* session */
            invokevirtual org.hibernate.loader.Loader.processResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/RowSelection;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/sql/ResultSet;
         2: areturn
        end local 6 // java.sql.ResultSet rs
         3: .line 2192
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
         4: .line 2193
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getLogicalConnection:()Lorg/hibernate/resource/jdbc/spi/LogicalConnectionImplementor;
            invokeinterface org.hibernate.resource.jdbc.spi.LogicalConnectionImplementor.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 1 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
         5: .line 2194
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
         6: .line 2195
            aload 6 /* e */
            athrow
        end local 6 // java.lang.Exception e
        end local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 4 // boolean autodiscovertypes
        end local 3 // org.hibernate.dialect.pagination.LimitHandler limitHandler
        end local 2 // org.hibernate.engine.spi.RowSelection selection
        end local 1 // java.sql.CallableStatement st
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/hibernate/loader/Loader;
            0    7     1                 st  Ljava/sql/CallableStatement;
            0    7     2          selection  Lorg/hibernate/engine/spi/RowSelection;
            0    7     3       limitHandler  Lorg/hibernate/dialect/pagination/LimitHandler;
            0    7     4  autodiscovertypes  Z
            0    7     5            session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1    3     6                 rs  Ljava/sql/ResultSet;
            4    7     6                  e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2       3  Class java.sql.SQLException
           0     2       3  Class org.hibernate.HibernateException
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                   Name  Flags
      st                 final
      selection          final
      limitHandler       final
      autodiscovertypes  final
      session            final

  private java.sql.ResultSet processResultSet(java.sql.ResultSet, org.hibernate.engine.spi.RowSelection, org.hibernate.dialect.pagination.LimitHandler, boolean, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/RowSelection;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/sql/ResultSet;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet rs
        start local 2 // org.hibernate.engine.spi.RowSelection selection
        start local 3 // org.hibernate.dialect.pagination.LimitHandler limitHandler
        start local 4 // boolean autodiscovertypes
        start local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 2206
            aload 0 /* this */
            aload 1 /* rs */
            aload 5 /* session */
            invokevirtual org.hibernate.loader.Loader.wrapResultSetIfEnabled:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/sql/ResultSet;
            astore 1 /* rs */
         1: .line 2208
            aload 3 /* limitHandler */
            invokeinterface org.hibernate.dialect.pagination.LimitHandler.supportsLimitOffset:()Z
            ifeq 2
            aload 3 /* limitHandler */
            aload 2 /* selection */
            invokestatic org.hibernate.dialect.pagination.LimitHelper.useLimit:(Lorg/hibernate/dialect/pagination/LimitHandler;Lorg/hibernate/engine/spi/RowSelection;)Z
            ifne 3
         2: .line 2209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rs */
            aload 2 /* selection */
            invokevirtual org.hibernate.loader.Loader.advance:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/RowSelection;)V
         3: .line 2212
      StackMap locals:
      StackMap stack:
            iload 4 /* autodiscovertypes */
            ifeq 5
         4: .line 2213
            aload 0 /* this */
            aload 1 /* rs */
            invokevirtual org.hibernate.loader.Loader.autoDiscoverTypes:(Ljava/sql/ResultSet;)V
         5: .line 2215
      StackMap locals:
      StackMap stack:
            aload 1 /* rs */
            areturn
        end local 5 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 4 // boolean autodiscovertypes
        end local 3 // org.hibernate.dialect.pagination.LimitHandler limitHandler
        end local 2 // org.hibernate.engine.spi.RowSelection selection
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lorg/hibernate/loader/Loader;
            0    6     1                 rs  Ljava/sql/ResultSet;
            0    6     2          selection  Lorg/hibernate/engine/spi/RowSelection;
            0    6     3       limitHandler  Lorg/hibernate/dialect/pagination/LimitHandler;
            0    6     4  autodiscovertypes  Z
            0    6     5            session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                   Name  Flags
      rs                 
      selection          final
      limitHandler       final
      autodiscovertypes  final
      session            final

  protected void autoDiscoverTypes(java.sql.ResultSet);
    descriptor: (Ljava/sql/ResultSet;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet rs
         0: .line 2219
            new org.hibernate.AssertionFailure
            dup
            ldc "Auto discover types not supported in this loader"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;
            0    1     1    rs  Ljava/sql/ResultSet;
    MethodParameters:
      Name  Flags
      rs    

  private java.sql.ResultSet wrapResultSetIfEnabled(java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/sql/ResultSet;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet rs
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 2224
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isWrapResultSetsEnabled:()Z
            ifeq 10
         1: .line 2226
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Wrapping result set [%s]"
            aload 1 /* rs */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 2227
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         3: .line 2228
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
         4: .line 2229
            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
         5: .line 2230
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getResultSetWrapper:()Lorg/hibernate/engine/jdbc/spi/ResultSetWrapper;
            aload 1 /* rs */
            aload 0 /* this */
            aload 1 /* rs */
            invokevirtual org.hibernate.loader.Loader.retreiveColumnNameToIndexCache:(Ljava/sql/ResultSet;)Lorg/hibernate/engine/jdbc/ColumnNameCache;
            invokeinterface org.hibernate.engine.jdbc.spi.ResultSetWrapper.wrap:(Ljava/sql/ResultSet;Lorg/hibernate/engine/jdbc/ColumnNameCache;)Ljava/sql/ResultSet;
         6: .line 2227
            areturn
         7: .line 2232
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 3 /* e */
        start local 3 // java.sql.SQLException e
         8: .line 2233
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 3 /* e */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToWrapResultSet:(Ljava/sql/SQLException;)V
         9: .line 2234
            aload 1 /* rs */
            areturn
        end local 3 // java.sql.SQLException e
        10: .line 2238
      StackMap locals:
      StackMap stack:
            aload 1 /* rs */
            areturn
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/hibernate/loader/Loader;
            0   11     1       rs  Ljava/sql/ResultSet;
            0   11     2  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            8   10     3        e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           1     6       7  Class java.sql.SQLException
    MethodParameters:
         Name  Flags
      rs       final
      session  final

  private org.hibernate.engine.jdbc.ColumnNameCache retreiveColumnNameToIndexCache(java.sql.ResultSet);
    descriptor: (Ljava/sql/ResultSet;)Lorg/hibernate/engine/jdbc/ColumnNameCache;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.sql.ResultSet rs
         0: .line 2243
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.columnNameCache:Lorg/hibernate/engine/jdbc/ColumnNameCache;
            astore 2 /* cache */
        start local 2 // org.hibernate.engine.jdbc.ColumnNameCache cache
         1: .line 2244
            aload 2 /* cache */
            ifnonnull 5
         2: .line 2247
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Building columnName -> columnIndex cache"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         3: .line 2248
            aload 0 /* this */
            new org.hibernate.engine.jdbc.ColumnNameCache
            dup
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
            invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
            invokespecial org.hibernate.engine.jdbc.ColumnNameCache.<init>:(I)V
            putfield org.hibernate.loader.Loader.columnNameCache:Lorg/hibernate/engine/jdbc/ColumnNameCache;
         4: .line 2249
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.columnNameCache:Lorg/hibernate/engine/jdbc/ColumnNameCache;
            areturn
         5: .line 2252
      StackMap locals: org.hibernate.engine.jdbc.ColumnNameCache
      StackMap stack:
            aload 2 /* cache */
            areturn
        end local 2 // org.hibernate.engine.jdbc.ColumnNameCache cache
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/hibernate/loader/Loader;
            0    6     1     rs  Ljava/sql/ResultSet;
            1    6     2  cache  Lorg/hibernate/engine/jdbc/ColumnNameCache;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      rs    final

  protected final java.util.List loadEntity(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object, org.hibernate.type.Type, java.lang.Object, java.lang.String, java.io.Serializable, org.hibernate.persister.entity.EntityPersister, org.hibernate.LockOptions);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;Lorg/hibernate/type/Type;Ljava/lang/Object;Ljava/lang/String;Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/LockOptions;)Ljava/util/List;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=12, args_size=9
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // java.lang.Object id
        start local 3 // org.hibernate.type.Type identifierType
        start local 4 // java.lang.Object optionalObject
        start local 5 // java.lang.String optionalEntityName
        start local 6 // java.io.Serializable optionalIdentifier
        start local 7 // org.hibernate.persister.entity.EntityPersister persister
        start local 8 // org.hibernate.LockOptions lockOptions
         0: .line 2268
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 2
         1: .line 2269
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Loading entity: %s"
            aload 7 /* persister */
            aload 2 /* id */
            aload 3 /* identifierType */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.infoString:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/lang/Object;Lorg/hibernate/type/Type;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 2274
      StackMap locals:
      StackMap stack:
            new org.hibernate.engine.spi.QueryParameters
            dup
            invokespecial org.hibernate.engine.spi.QueryParameters.<init>:()V
            astore 10 /* qp */
        start local 10 // org.hibernate.engine.spi.QueryParameters qp
         3: .line 2275
            aload 10 /* qp */
            iconst_1
            anewarray org.hibernate.type.Type
            dup
            iconst_0
            aload 3 /* identifierType */
            aastore
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterTypes:([Lorg/hibernate/type/Type;)V
         4: .line 2276
            aload 10 /* qp */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* id */
            aastore
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterValues:([Ljava/lang/Object;)V
         5: .line 2277
            aload 10 /* qp */
            aload 4 /* optionalObject */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalObject:(Ljava/lang/Object;)V
         6: .line 2278
            aload 10 /* qp */
            aload 5 /* optionalEntityName */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalEntityName:(Ljava/lang/String;)V
         7: .line 2279
            aload 10 /* qp */
            aload 6 /* optionalIdentifier */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalId:(Ljava/io/Serializable;)V
         8: .line 2280
            aload 10 /* qp */
            aload 8 /* lockOptions */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setLockOptions:(Lorg/hibernate/LockOptions;)V
         9: .line 2281
            aload 0 /* this */
            aload 1 /* session */
            aload 10 /* qp */
            iconst_0
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
            astore 9 /* result */
        end local 10 // org.hibernate.engine.spi.QueryParameters qp
        start local 9 // java.util.List result
        10: .line 2282
            goto 24
        end local 9 // java.util.List result
        11: .line 2283
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 10 /* sqle */
        start local 10 // java.sql.SQLException sqle
        12: .line 2284
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            astore 11 /* persisters */
        start local 11 // org.hibernate.persister.entity.Loadable[] persisters
        13: .line 2285
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        14: .line 2286
            aload 10 /* sqle */
        15: .line 2287
            new java.lang.StringBuilder
            dup
            ldc "could not load an entity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 2289
            aload 11 /* persisters */
            aload 11 /* persisters */
            arraylength
            iconst_1
            isub
            aaload
        17: .line 2290
            aload 2 /* id */
        18: .line 2291
            aload 3 /* identifierType */
        19: .line 2292
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
        20: .line 2288
            invokestatic org.hibernate.pretty.MessageHelper.infoString:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/lang/Object;Lorg/hibernate/type/Type;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 2287
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 2294
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        23: .line 2285
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 11 // org.hibernate.persister.entity.Loadable[] persisters
        end local 10 // java.sql.SQLException sqle
        start local 9 // java.util.List result
        24: .line 2298
      StackMap locals: java.util.List
      StackMap stack:
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done entity load"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        25: .line 2300
            aload 9 /* result */
            areturn
        end local 9 // java.util.List result
        end local 8 // org.hibernate.LockOptions lockOptions
        end local 7 // org.hibernate.persister.entity.EntityPersister persister
        end local 6 // java.io.Serializable optionalIdentifier
        end local 5 // java.lang.String optionalEntityName
        end local 4 // java.lang.Object optionalObject
        end local 3 // org.hibernate.type.Type identifierType
        end local 2 // java.lang.Object id
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   26     0                this  Lorg/hibernate/loader/Loader;
            0   26     1             session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   26     2                  id  Ljava/lang/Object;
            0   26     3      identifierType  Lorg/hibernate/type/Type;
            0   26     4      optionalObject  Ljava/lang/Object;
            0   26     5  optionalEntityName  Ljava/lang/String;
            0   26     6  optionalIdentifier  Ljava/io/Serializable;
            0   26     7           persister  Lorg/hibernate/persister/entity/EntityPersister;
            0   26     8         lockOptions  Lorg/hibernate/LockOptions;
           10   11     9              result  Ljava/util/List;
           24   26     9              result  Ljava/util/List;
            3   10    10                  qp  Lorg/hibernate/engine/spi/QueryParameters;
           12   24    10                sqle  Ljava/sql/SQLException;
           13   24    11          persisters  [Lorg/hibernate/persister/entity/Loadable;
      Exception table:
        from    to  target  type
           2    10      11  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                    Name  Flags
      session             final
      id                  final
      identifierType      final
      optionalObject      final
      optionalEntityName  final
      optionalIdentifier  final
      persister           final
      lockOptions         

  protected final java.util.List loadEntity(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object, java.lang.Object, org.hibernate.type.Type, org.hibernate.type.Type, org.hibernate.persister.entity.EntityPersister);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;Ljava/lang/Object;Lorg/hibernate/type/Type;Lorg/hibernate/type/Type;Lorg/hibernate/persister/entity/EntityPersister;)Ljava/util/List;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=9, locals=9, args_size=7
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // java.lang.Object key
        start local 3 // java.lang.Object index
        start local 4 // org.hibernate.type.Type keyType
        start local 5 // org.hibernate.type.Type indexType
        start local 6 // org.hibernate.persister.entity.EntityPersister persister
         0: .line 2316
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Loading collection element by index"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
         1: .line 2320
            aload 0 /* this */
         2: .line 2321
            aload 1 /* session */
         3: .line 2322
            new org.hibernate.engine.spi.QueryParameters
            dup
         4: .line 2323
            iconst_2
            anewarray org.hibernate.type.Type
            dup
            iconst_0
            aload 4 /* keyType */
            aastore
            dup
            iconst_1
            aload 5 /* indexType */
            aastore
         5: .line 2324
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* key */
            aastore
            dup
            iconst_1
            aload 3 /* index */
            aastore
         6: .line 2322
            invokespecial org.hibernate.engine.spi.QueryParameters.<init>:([Lorg/hibernate/type/Type;[Ljava/lang/Object;)V
         7: .line 2326
            iconst_0
         8: .line 2320
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
            astore 7 /* result */
        start local 7 // java.util.List result
         9: .line 2328
            goto 16
        end local 7 // java.util.List result
        10: .line 2329
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 8 /* sqle */
        start local 8 // java.sql.SQLException sqle
        11: .line 2330
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        12: .line 2331
            aload 8 /* sqle */
        13: .line 2332
            ldc "could not load collection element by index"
        14: .line 2333
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        15: .line 2330
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 8 // java.sql.SQLException sqle
        start local 7 // java.util.List result
        16: .line 2337
      StackMap locals: java.util.List
      StackMap stack:
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done entity load"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        17: .line 2339
            aload 7 /* result */
            areturn
        end local 7 // java.util.List result
        end local 6 // org.hibernate.persister.entity.EntityPersister persister
        end local 5 // org.hibernate.type.Type indexType
        end local 4 // org.hibernate.type.Type keyType
        end local 3 // java.lang.Object index
        end local 2 // java.lang.Object key
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lorg/hibernate/loader/Loader;
            0   18     1    session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   18     2        key  Ljava/lang/Object;
            0   18     3      index  Ljava/lang/Object;
            0   18     4    keyType  Lorg/hibernate/type/Type;
            0   18     5  indexType  Lorg/hibernate/type/Type;
            0   18     6  persister  Lorg/hibernate/persister/entity/EntityPersister;
            9   10     7     result  Ljava/util/List;
           16   18     7     result  Ljava/util/List;
           11   16     8       sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           1     9      10  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
           Name  Flags
      session    final
      key        final
      index      final
      keyType    final
      indexType  final
      persister  final

  public final java.util.List loadEntityBatch(org.hibernate.engine.spi.SharedSessionContractImplementor, java.io.Serializable[], org.hibernate.type.Type, java.lang.Object, java.lang.String, java.io.Serializable, org.hibernate.persister.entity.EntityPersister, org.hibernate.LockOptions);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;[Ljava/io/Serializable;Lorg/hibernate/type/Type;Ljava/lang/Object;Ljava/lang/String;Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/LockOptions;)Ljava/util/List;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=12, args_size=9
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // java.io.Serializable[] ids
        start local 3 // org.hibernate.type.Type idType
        start local 4 // java.lang.Object optionalObject
        start local 5 // java.lang.String optionalEntityName
        start local 6 // java.io.Serializable optionalId
        start local 7 // org.hibernate.persister.entity.EntityPersister persister
        start local 8 // org.hibernate.LockOptions lockOptions
         0: .line 2355
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 2
         1: .line 2356
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Batch loading entity: %s"
            aload 7 /* persister */
            aload 2 /* ids */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.infoString:(Lorg/hibernate/persister/entity/EntityPersister;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 2359
      StackMap locals:
      StackMap stack:
            aload 2 /* ids */
            arraylength
            anewarray org.hibernate.type.Type
            astore 9 /* types */
        start local 9 // org.hibernate.type.Type[] types
         3: .line 2360
            aload 9 /* types */
            aload 3 /* idType */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 2363
            new org.hibernate.engine.spi.QueryParameters
            dup
            invokespecial org.hibernate.engine.spi.QueryParameters.<init>:()V
            astore 11 /* qp */
        start local 11 // org.hibernate.engine.spi.QueryParameters qp
         5: .line 2364
            aload 11 /* qp */
            aload 9 /* types */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterTypes:([Lorg/hibernate/type/Type;)V
         6: .line 2365
            aload 11 /* qp */
            aload 2 /* ids */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterValues:([Ljava/lang/Object;)V
         7: .line 2366
            aload 11 /* qp */
            aload 4 /* optionalObject */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalObject:(Ljava/lang/Object;)V
         8: .line 2367
            aload 11 /* qp */
            aload 5 /* optionalEntityName */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalEntityName:(Ljava/lang/String;)V
         9: .line 2368
            aload 11 /* qp */
            aload 6 /* optionalId */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalId:(Ljava/io/Serializable;)V
        10: .line 2369
            aload 11 /* qp */
            aload 8 /* lockOptions */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setLockOptions:(Lorg/hibernate/LockOptions;)V
        11: .line 2370
            aload 0 /* this */
            aload 1 /* session */
            aload 11 /* qp */
            iconst_0
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
            astore 10 /* result */
        end local 11 // org.hibernate.engine.spi.QueryParameters qp
        start local 10 // java.util.List result
        12: .line 2371
            goto 21
        end local 10 // java.util.List result
        13: .line 2372
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SharedSessionContractImplementor java.io.Serializable[] org.hibernate.type.Type java.lang.Object java.lang.String java.io.Serializable org.hibernate.persister.entity.EntityPersister org.hibernate.LockOptions org.hibernate.type.Type[]
      StackMap stack: java.sql.SQLException
            astore 11 /* sqle */
        start local 11 // java.sql.SQLException sqle
        14: .line 2373
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        15: .line 2374
            aload 11 /* sqle */
        16: .line 2375
            new java.lang.StringBuilder
            dup
            ldc "could not load an entity batch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 2376
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iconst_0
            aaload
            aload 2 /* ids */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.infoString:(Lorg/hibernate/persister/entity/EntityPersister;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 2375
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 2377
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        20: .line 2373
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 11 // java.sql.SQLException sqle
        start local 10 // java.util.List result
        21: .line 2381
      StackMap locals: java.util.List
      StackMap stack:
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done entity batch load"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        22: .line 2383
            aload 10 /* result */
            areturn
        end local 10 // java.util.List result
        end local 9 // org.hibernate.type.Type[] types
        end local 8 // org.hibernate.LockOptions lockOptions
        end local 7 // org.hibernate.persister.entity.EntityPersister persister
        end local 6 // java.io.Serializable optionalId
        end local 5 // java.lang.String optionalEntityName
        end local 4 // java.lang.Object optionalObject
        end local 3 // org.hibernate.type.Type idType
        end local 2 // java.io.Serializable[] ids
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0                this  Lorg/hibernate/loader/Loader;
            0   23     1             session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   23     2                 ids  [Ljava/io/Serializable;
            0   23     3              idType  Lorg/hibernate/type/Type;
            0   23     4      optionalObject  Ljava/lang/Object;
            0   23     5  optionalEntityName  Ljava/lang/String;
            0   23     6          optionalId  Ljava/io/Serializable;
            0   23     7           persister  Lorg/hibernate/persister/entity/EntityPersister;
            0   23     8         lockOptions  Lorg/hibernate/LockOptions;
            3   23     9               types  [Lorg/hibernate/type/Type;
           12   13    10              result  Ljava/util/List;
           21   23    10              result  Ljava/util/List;
            5   12    11                  qp  Lorg/hibernate/engine/spi/QueryParameters;
           14   21    11                sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           4    12      13  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                    Name  Flags
      session             final
      ids                 final
      idType              final
      optionalObject      final
      optionalEntityName  final
      optionalId          final
      persister           final
      lockOptions         

  public final void loadCollection(org.hibernate.engine.spi.SharedSessionContractImplementor, java.io.Serializable, org.hibernate.type.Type);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/io/Serializable;Lorg/hibernate/type/Type;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // java.io.Serializable id
        start local 3 // org.hibernate.type.Type type
         0: .line 2394
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 5
         1: .line 2395
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         2: .line 2396
            ldc "Loading collection: %s"
         3: .line 2397
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCollectionPersisters:()[Lorg/hibernate/persister/collection/CollectionPersister;
            iconst_0
            aaload
            aload 2 /* id */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
         4: .line 2395
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 2401
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.io.Serializable
            dup
            iconst_0
            aload 2 /* id */
            aastore
            astore 4 /* ids */
        start local 4 // java.io.Serializable[] ids
         6: .line 2403
            aload 0 /* this */
         7: .line 2404
            aload 1 /* session */
         8: .line 2405
            new org.hibernate.engine.spi.QueryParameters
            dup
            iconst_1
            anewarray org.hibernate.type.Type
            dup
            iconst_0
            aload 3 /* type */
            aastore
            aload 4 /* ids */
            aload 4 /* ids */
            invokespecial org.hibernate.engine.spi.QueryParameters.<init>:([Lorg/hibernate/type/Type;[Ljava/lang/Object;[Ljava/io/Serializable;)V
         9: .line 2406
            iconst_1
        10: .line 2403
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
            pop
        11: .line 2408
            goto 20
        12: .line 2409
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SharedSessionContractImplementor java.io.Serializable org.hibernate.type.Type java.io.Serializable[]
      StackMap stack: java.sql.SQLException
            astore 5 /* sqle */
        start local 5 // java.sql.SQLException sqle
        13: .line 2410
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        14: .line 2411
            aload 5 /* sqle */
        15: .line 2412
            new java.lang.StringBuilder
            dup
            ldc "could not initialize a collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 2413
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCollectionPersisters:()[Lorg/hibernate/persister/collection/CollectionPersister;
            iconst_0
            aaload
            aload 2 /* id */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 2412
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 2414
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        19: .line 2410
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 5 // java.sql.SQLException sqle
        20: .line 2418
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done loading collection"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        21: .line 2419
            return
        end local 4 // java.io.Serializable[] ids
        end local 3 // org.hibernate.type.Type type
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lorg/hibernate/loader/Loader;
            0   22     1  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   22     2       id  Ljava/io/Serializable;
            0   22     3     type  Lorg/hibernate/type/Type;
            6   22     4      ids  [Ljava/io/Serializable;
           13   20     5     sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           6    11      12  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      session  final
      id       final
      type     final

  public final void loadCollectionBatch(org.hibernate.engine.spi.SharedSessionContractImplementor, java.io.Serializable[], org.hibernate.type.Type);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;[Ljava/io/Serializable;Lorg/hibernate/type/Type;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // java.io.Serializable[] ids
        start local 3 // org.hibernate.type.Type type
         0: .line 2428
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 5
         1: .line 2429
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         2: .line 2430
            ldc "Batch loading collection: %s"
         3: .line 2431
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCollectionPersisters:()[Lorg/hibernate/persister/collection/CollectionPersister;
            iconst_0
            aaload
            aload 2 /* ids */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
         4: .line 2429
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 2435
      StackMap locals:
      StackMap stack:
            aload 2 /* ids */
            arraylength
            anewarray org.hibernate.type.Type
            astore 4 /* idTypes */
        start local 4 // org.hibernate.type.Type[] idTypes
         6: .line 2436
            aload 4 /* idTypes */
            aload 3 /* type */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 2438
            aload 0 /* this */
         8: .line 2439
            aload 1 /* session */
         9: .line 2440
            new org.hibernate.engine.spi.QueryParameters
            dup
            aload 4 /* idTypes */
            aload 2 /* ids */
            aload 2 /* ids */
            invokespecial org.hibernate.engine.spi.QueryParameters.<init>:([Lorg/hibernate/type/Type;[Ljava/lang/Object;[Ljava/io/Serializable;)V
        10: .line 2441
            iconst_1
        11: .line 2438
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
            pop
        12: .line 2443
            goto 21
        13: .line 2444
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SharedSessionContractImplementor java.io.Serializable[] org.hibernate.type.Type org.hibernate.type.Type[]
      StackMap stack: java.sql.SQLException
            astore 5 /* sqle */
        start local 5 // java.sql.SQLException sqle
        14: .line 2445
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        15: .line 2446
            aload 5 /* sqle */
        16: .line 2447
            new java.lang.StringBuilder
            dup
            ldc "could not initialize a collection batch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 2448
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCollectionPersisters:()[Lorg/hibernate/persister/collection/CollectionPersister;
            iconst_0
            aaload
            aload 2 /* ids */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 2447
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 2449
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        20: .line 2445
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 5 // java.sql.SQLException sqle
        21: .line 2453
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done batch load"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        22: .line 2454
            return
        end local 4 // org.hibernate.type.Type[] idTypes
        end local 3 // org.hibernate.type.Type type
        end local 2 // java.io.Serializable[] ids
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lorg/hibernate/loader/Loader;
            0   23     1  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   23     2      ids  [Ljava/io/Serializable;
            0   23     3     type  Lorg/hibernate/type/Type;
            6   23     4  idTypes  [Lorg/hibernate/type/Type;
           14   21     5     sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           7    12      13  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      session  final
      ids      final
      type     final

  protected final void loadCollectionSubselect(org.hibernate.engine.spi.SharedSessionContractImplementor, java.io.Serializable[], [], org.hibernate.type.Type[], java.util.Map<java.lang.String, org.hibernate.engine.spi.TypedValue>, org.hibernate.type.Type);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;[Ljava/io/Serializable;[Ljava/lang/Object;[Lorg/hibernate/type/Type;Ljava/util/Map;Lorg/hibernate/type/Type;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=8, locals=9, args_size=7
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // java.io.Serializable[] ids
        start local 3 // java.lang.Object[] parameterValues
        start local 4 // org.hibernate.type.Type[] parameterTypes
        start local 5 // java.util.Map namedParameters
        start local 6 // org.hibernate.type.Type type
         0: .line 2466
            aload 2 /* ids */
            arraylength
            anewarray org.hibernate.type.Type
            astore 7 /* idTypes */
        start local 7 // org.hibernate.type.Type[] idTypes
         1: .line 2467
            aload 7 /* idTypes */
            aload 6 /* type */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 2469
            aload 0 /* this */
         3: .line 2470
            aload 1 /* session */
         4: .line 2471
            new org.hibernate.engine.spi.QueryParameters
            dup
            aload 4 /* parameterTypes */
            aload 3 /* parameterValues */
            aload 5 /* namedParameters */
            aload 2 /* ids */
            invokespecial org.hibernate.engine.spi.QueryParameters.<init>:([Lorg/hibernate/type/Type;[Ljava/lang/Object;Ljava/util/Map;[Ljava/io/Serializable;)V
         5: .line 2472
            iconst_1
         6: .line 2469
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
            pop
         7: .line 2474
            goto 16
         8: .line 2475
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SharedSessionContractImplementor java.io.Serializable[] java.lang.Object[] org.hibernate.type.Type[] java.util.Map org.hibernate.type.Type org.hibernate.type.Type[]
      StackMap stack: java.sql.SQLException
            astore 8 /* sqle */
        start local 8 // java.sql.SQLException sqle
         9: .line 2476
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        10: .line 2477
            aload 8 /* sqle */
        11: .line 2478
            new java.lang.StringBuilder
            dup
            ldc "could not load collection by subselect: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 2479
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCollectionPersisters:()[Lorg/hibernate/persister/collection/CollectionPersister;
            iconst_0
            aaload
            aload 2 /* ids */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 2478
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 2480
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        15: .line 2476
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 8 // java.sql.SQLException sqle
        16: .line 2483
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.hibernate.type.Type[] idTypes
        end local 6 // org.hibernate.type.Type type
        end local 5 // java.util.Map namedParameters
        end local 4 // org.hibernate.type.Type[] parameterTypes
        end local 3 // java.lang.Object[] parameterValues
        end local 2 // java.io.Serializable[] ids
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Lorg/hibernate/loader/Loader;
            0   17     1          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   17     2              ids  [Ljava/io/Serializable;
            0   17     3  parameterValues  [Ljava/lang/Object;
            0   17     4   parameterTypes  [Lorg/hibernate/type/Type;
            0   17     5  namedParameters  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/spi/TypedValue;>;
            0   17     6             type  Lorg/hibernate/type/Type;
            1   17     7          idTypes  [Lorg/hibernate/type/Type;
            9   16     8             sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           2     7       8  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;[Ljava/io/Serializable;[Ljava/lang/Object;[Lorg/hibernate/type/Type;Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/spi/TypedValue;>;Lorg/hibernate/type/Type;)V
    MethodParameters:
                 Name  Flags
      session          final
      ids              final
      parameterValues  final
      parameterTypes   final
      namedParameters  final
      type             final

  protected java.util.List list(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, java.util.Set<java.io.Serializable>, org.hibernate.type.Type[]);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;[Lorg/hibernate/type/Type;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // java.util.Set querySpaces
        start local 4 // org.hibernate.type.Type[] resultTypes
         0: .line 2494
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isQueryCacheEnabled:()Z
            ifeq 3
         1: .line 2495
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isCacheable:()Z
            ifeq 3
         2: .line 2494
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* cacheable */
        start local 5 // boolean cacheable
         5: .line 2497
            iload 5 /* cacheable */
            ifeq 7
         6: .line 2498
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            aload 3 /* querySpaces */
            aload 4 /* resultTypes */
            invokevirtual org.hibernate.loader.Loader.listUsingQueryCache:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;[Lorg/hibernate/type/Type;)Ljava/util/List;
            areturn
         7: .line 2501
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.loader.Loader.listIgnoreQueryCache:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List;
            areturn
        end local 5 // boolean cacheable
        end local 4 // org.hibernate.type.Type[] resultTypes
        end local 3 // java.util.Set querySpaces
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/hibernate/loader/Loader;
            0    8     1          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0    8     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    8     3      querySpaces  Ljava/util/Set<Ljava/io/Serializable;>;
            0    8     4      resultTypes  [Lorg/hibernate/type/Type;
            5    8     5        cacheable  Z
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set<Ljava/io/Serializable;>;[Lorg/hibernate/type/Type;)Ljava/util/List;
    MethodParameters:
                 Name  Flags
      session          final
      queryParameters  final
      querySpaces      final
      resultTypes      final

  private java.util.List listIgnoreQueryCache(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 2506
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.loader.Loader.doList:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List;
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
            invokevirtual org.hibernate.loader.Loader.getResultList:(Ljava/util/List;Lorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            areturn
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/hibernate/loader/Loader;
            0    1     1          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0    1     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
    MethodParameters:
                 Name  Flags
      session          
      queryParameters  

  private java.util.List listUsingQueryCache(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, java.util.Set<java.io.Serializable>, org.hibernate.type.Type[]);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;[Lorg/hibernate/type/Type;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // java.util.Set querySpaces
        start local 4 // org.hibernate.type.Type[] resultTypes
         0: .line 2515
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getCache:()Lorg/hibernate/cache/spi/CacheImplementor;
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getCacheRegion:()Ljava/lang/String;
            invokeinterface org.hibernate.cache.spi.CacheImplementor.getQueryResultsCache:(Ljava/lang/String;)Lorg/hibernate/cache/spi/QueryResultsCache;
            astore 5 /* queryCache */
        start local 5 // org.hibernate.cache.spi.QueryResultsCache queryCache
         1: .line 2517
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.loader.Loader.generateQueryKey:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Lorg/hibernate/cache/spi/QueryKey;
            astore 6 /* key */
        start local 6 // org.hibernate.cache.spi.QueryKey key
         2: .line 2519
            aload 3 /* querySpaces */
            ifnull 3
            aload 3 /* querySpaces */
            invokeinterface java.util.Set.size:()I
            ifne 7
         3: .line 2520
      StackMap locals: org.hibernate.cache.spi.QueryResultsCache org.hibernate.cache.spi.QueryKey
      StackMap stack:
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Unexpected querySpaces is {0}"
            aload 3 /* querySpaces */
            ifnonnull 4
            aload 3 /* querySpaces */
            goto 5
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.QueryParameters java.util.Set org.hibernate.type.Type[] org.hibernate.cache.spi.QueryResultsCache org.hibernate.cache.spi.QueryKey
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String
         4: ldc "empty"
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.QueryParameters java.util.Set org.hibernate.type.Type[] org.hibernate.cache.spi.QueryResultsCache org.hibernate.cache.spi.QueryKey
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String java.lang.Object
         5: invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 2521
            goto 8
         7: .line 2523
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "querySpaces is {0}"
            aload 3 /* querySpaces */
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 2526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         9: .line 2527
            aload 1 /* session */
        10: .line 2528
            aload 2 /* queryParameters */
        11: .line 2529
            aload 3 /* querySpaces */
        12: .line 2530
            aload 4 /* resultTypes */
        13: .line 2531
            aload 5 /* queryCache */
        14: .line 2532
            aload 6 /* key */
        15: .line 2526
            invokevirtual org.hibernate.loader.Loader.getResultFromQueryCache:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;[Lorg/hibernate/type/Type;Lorg/hibernate/cache/spi/QueryResultsCache;Lorg/hibernate/cache/spi/QueryKey;)Ljava/util/List;
            astore 7 /* result */
        start local 7 // java.util.List result
        16: .line 2535
            aload 7 /* result */
            ifnonnull 26
        17: .line 2536
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            aload 6 /* key */
            invokevirtual org.hibernate.cache.spi.QueryKey.getResultTransformer:()Lorg/hibernate/transform/CacheableResultTransformer;
            invokevirtual org.hibernate.loader.Loader.doList:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            astore 7 /* result */
        18: .line 2538
            aload 0 /* this */
        19: .line 2539
            aload 1 /* session */
        20: .line 2540
            aload 2 /* queryParameters */
        21: .line 2541
            aload 4 /* resultTypes */
        22: .line 2542
            aload 5 /* queryCache */
        23: .line 2543
            aload 6 /* key */
        24: .line 2544
            aload 7 /* result */
        25: .line 2538
            invokevirtual org.hibernate.loader.Loader.putResultInQueryCache:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/type/Type;Lorg/hibernate/cache/spi/QueryResultsCache;Lorg/hibernate/cache/spi/QueryKey;Ljava/util/List;)V
        26: .line 2548
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
            invokevirtual org.hibernate.loader.Loader.resolveResultTransformer:(Lorg/hibernate/transform/ResultTransformer;)Lorg/hibernate/transform/ResultTransformer;
            astore 8 /* resolvedTransformer */
        start local 8 // org.hibernate.transform.ResultTransformer resolvedTransformer
        27: .line 2549
            aload 8 /* resolvedTransformer */
            ifnull 40
        28: .line 2551
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.areResultSetRowsTransformedImmediately:()Z
            ifeq 36
        29: .line 2552
            aload 6 /* key */
            invokevirtual org.hibernate.cache.spi.QueryKey.getResultTransformer:()Lorg/hibernate/transform/CacheableResultTransformer;
        30: .line 2553
            aload 7 /* result */
        31: .line 2554
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getResultRowAliases:()[Ljava/lang/String;
        32: .line 2555
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
        33: .line 2556
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.includeInResultRow:()[Z
        34: .line 2552
            invokevirtual org.hibernate.transform.CacheableResultTransformer.retransformResults:(Ljava/util/List;[Ljava/lang/String;Lorg/hibernate/transform/ResultTransformer;[Z)Ljava/util/List;
        35: .line 2557
            goto 39
        36: .line 2558
      StackMap locals: org.hibernate.transform.ResultTransformer
      StackMap stack:
            aload 6 /* key */
            invokevirtual org.hibernate.cache.spi.QueryKey.getResultTransformer:()Lorg/hibernate/transform/CacheableResultTransformer;
        37: .line 2559
            aload 7 /* result */
        38: .line 2558
            invokevirtual org.hibernate.transform.CacheableResultTransformer.untransformToTuples:(Ljava/util/List;)Ljava/util/List;
        39: .line 2550
      StackMap locals:
      StackMap stack: java.util.List
            astore 7 /* result */
        40: .line 2564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* result */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
            invokevirtual org.hibernate.loader.Loader.getResultList:(Ljava/util/List;Lorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            areturn
        end local 8 // org.hibernate.transform.ResultTransformer resolvedTransformer
        end local 7 // java.util.List result
        end local 6 // org.hibernate.cache.spi.QueryKey key
        end local 5 // org.hibernate.cache.spi.QueryResultsCache queryCache
        end local 4 // org.hibernate.type.Type[] resultTypes
        end local 3 // java.util.Set querySpaces
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   41     0                 this  Lorg/hibernate/loader/Loader;
            0   41     1              session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   41     2      queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   41     3          querySpaces  Ljava/util/Set<Ljava/io/Serializable;>;
            0   41     4          resultTypes  [Lorg/hibernate/type/Type;
            1   41     5           queryCache  Lorg/hibernate/cache/spi/QueryResultsCache;
            2   41     6                  key  Lorg/hibernate/cache/spi/QueryKey;
           16   41     7               result  Ljava/util/List;
           27   41     8  resolvedTransformer  Lorg/hibernate/transform/ResultTransformer;
    Signature: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set<Ljava/io/Serializable;>;[Lorg/hibernate/type/Type;)Ljava/util/List;
    MethodParameters:
                 Name  Flags
      session          final
      queryParameters  final
      querySpaces      final
      resultTypes      final

  private org.hibernate.cache.spi.QueryKey generateQueryKey(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Lorg/hibernate/cache/spi/QueryKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 2571
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
         1: .line 2572
            aload 2 /* queryParameters */
         2: .line 2573
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            invokevirtual org.hibernate.engine.spi.LoadQueryInfluencers.getEnabledFilters:()Ljava/util/Map;
            invokestatic org.hibernate.cache.spi.FilterKey.createFilterKeys:(Ljava/util/Map;)Ljava/util/Set;
         3: .line 2574
            aload 1 /* session */
         4: .line 2575
            aload 0 /* this */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.loader.Loader.createCacheableResultTransformer:(Lorg/hibernate/engine/spi/QueryParameters;)Lorg/hibernate/transform/CacheableResultTransformer;
         5: .line 2570
            invokestatic org.hibernate.cache.spi.QueryKey.generateQueryKey:(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/transform/CacheableResultTransformer;)Lorg/hibernate/cache/spi/QueryKey;
            areturn
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/hibernate/loader/Loader;
            0    6     1          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0    6     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
    MethodParameters:
                 Name  Flags
      session          
      queryParameters  

  private org.hibernate.transform.CacheableResultTransformer createCacheableResultTransformer(org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;)Lorg/hibernate/transform/CacheableResultTransformer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 2581
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
         1: .line 2582
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getResultRowAliases:()[Ljava/lang/String;
         2: .line 2583
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.includeInResultRow:()[Z
         3: .line 2580
            invokestatic org.hibernate.transform.CacheableResultTransformer.create:(Lorg/hibernate/transform/ResultTransformer;[Ljava/lang/String;[Z)Lorg/hibernate/transform/CacheableResultTransformer;
            areturn
        end local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/hibernate/loader/Loader;
            0    4     1  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
    MethodParameters:
                 Name  Flags
      queryParameters  

  private java.util.List getResultFromQueryCache(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, java.util.Set<java.io.Serializable>, org.hibernate.type.Type[], org.hibernate.cache.spi.QueryResultsCache, org.hibernate.cache.spi.QueryKey);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;[Lorg/hibernate/type/Type;Lorg/hibernate/cache/spi/QueryResultsCache;Lorg/hibernate/cache/spi/QueryKey;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=7
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // java.util.Set querySpaces
        start local 4 // org.hibernate.type.Type[] resultTypes
        start local 5 // org.hibernate.cache.spi.QueryResultsCache queryCache
        start local 6 // org.hibernate.cache.spi.QueryKey key
         0: .line 2594
            aconst_null
            astore 7 /* result */
        start local 7 // java.util.List result
         1: .line 2596
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getCacheMode:()Lorg/hibernate/CacheMode;
            invokevirtual org.hibernate.CacheMode.isGetEnabled:()Z
            ifeq 30
         2: .line 2598
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isNaturalKeyLookup:()Z
            ifeq 8
         3: .line 2599
            aload 4 /* resultTypes */
            arraylength
            iconst_1
            if_icmpne 8
         4: .line 2600
            aload 4 /* resultTypes */
            iconst_0
            aaload
            invokeinterface org.hibernate.type.Type.isEntityType:()Z
            ifeq 8
         5: .line 2601
            aload 0 /* this */
            ldc Lorg/hibernate/type/EntityType;
            aload 4 /* resultTypes */
            iconst_0
            aaload
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.type.EntityType
            invokevirtual org.hibernate.loader.Loader.getEntityPersister:(Lorg/hibernate/type/EntityType;)Lorg/hibernate/persister/entity/EntityPersister;
         6: .line 2602
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMetamodel:()Lorg/hibernate/tuple/entity/EntityMetamodel;
         7: .line 2603
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.hasImmutableNaturalId:()Z
            pop
         8: .line 2605
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            astore 8 /* persistenceContext */
        start local 8 // org.hibernate.engine.spi.PersistenceContext persistenceContext
         9: .line 2606
            aload 8 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.isDefaultReadOnly:()Z
            istore 9 /* defaultReadOnlyOrig */
        start local 9 // boolean defaultReadOnlyOrig
        10: .line 2607
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnlyInitialized:()Z
            ifeq 13
        11: .line 2610
            aload 8 /* persistenceContext */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnly:()Z
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
        12: .line 2611
            goto 14
        13: .line 2615
      StackMap locals: org.hibernate.engine.spi.PersistenceContext int
      StackMap stack:
            aload 2 /* queryParameters */
            aload 8 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.isDefaultReadOnly:()Z
            invokevirtual org.hibernate.engine.spi.QueryParameters.setReadOnly:(Z)V
        14: .line 2618
      StackMap locals:
      StackMap stack:
            aload 5 /* queryCache */
        15: .line 2619
            aload 6 /* key */
        16: .line 2620
            aload 3 /* querySpaces */
        17: .line 2621
            aload 6 /* key */
            invokevirtual org.hibernate.cache.spi.QueryKey.getResultTransformer:()Lorg/hibernate/transform/CacheableResultTransformer;
            aload 4 /* resultTypes */
            invokevirtual org.hibernate.transform.CacheableResultTransformer.getCachedResultTypes:([Lorg/hibernate/type/Type;)[Lorg/hibernate/type/Type;
        18: .line 2622
            aload 1 /* session */
        19: .line 2618
            invokeinterface org.hibernate.cache.spi.QueryResultsCache.get:(Lorg/hibernate/cache/spi/QueryKey;Ljava/util/Set;[Lorg/hibernate/type/Type;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/util/List;
            astore 7 /* result */
        20: .line 2624
            goto 24
        21: .line 2625
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        22: .line 2626
            aload 8 /* persistenceContext */
            iload 9 /* defaultReadOnlyOrig */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
        23: .line 2627
            aload 10
            athrow
        24: .line 2626
      StackMap locals:
      StackMap stack:
            aload 8 /* persistenceContext */
            iload 9 /* defaultReadOnlyOrig */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
        25: .line 2629
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.isStatisticsEnabled:()Z
            ifeq 30
        26: .line 2630
            aload 7 /* result */
            ifnonnull 29
        27: .line 2631
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
            aload 5 /* queryCache */
            invokeinterface org.hibernate.cache.spi.QueryResultsCache.getRegion:()Lorg/hibernate/cache/spi/QueryResultsRegion;
            invokeinterface org.hibernate.cache.spi.QueryResultsRegion.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.queryCacheMiss:(Ljava/lang/String;Ljava/lang/String;)V
        28: .line 2632
            goto 30
        29: .line 2634
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
            aload 5 /* queryCache */
            invokeinterface org.hibernate.cache.spi.QueryResultsCache.getRegion:()Lorg/hibernate/cache/spi/QueryResultsRegion;
            invokeinterface org.hibernate.cache.spi.QueryResultsRegion.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.queryCacheHit:(Ljava/lang/String;Ljava/lang/String;)V
        end local 9 // boolean defaultReadOnlyOrig
        end local 8 // org.hibernate.engine.spi.PersistenceContext persistenceContext
        30: .line 2639
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            areturn
        end local 7 // java.util.List result
        end local 6 // org.hibernate.cache.spi.QueryKey key
        end local 5 // org.hibernate.cache.spi.QueryResultsCache queryCache
        end local 4 // org.hibernate.type.Type[] resultTypes
        end local 3 // java.util.Set querySpaces
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   31     0                 this  Lorg/hibernate/loader/Loader;
            0   31     1              session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   31     2      queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   31     3          querySpaces  Ljava/util/Set<Ljava/io/Serializable;>;
            0   31     4          resultTypes  [Lorg/hibernate/type/Type;
            0   31     5           queryCache  Lorg/hibernate/cache/spi/QueryResultsCache;
            0   31     6                  key  Lorg/hibernate/cache/spi/QueryKey;
            1   31     7               result  Ljava/util/List;
            9   30     8   persistenceContext  Lorg/hibernate/engine/spi/PersistenceContext;
           10   30     9  defaultReadOnlyOrig  Z
      Exception table:
        from    to  target  type
          14    21      21  any
    Signature: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set<Ljava/io/Serializable;>;[Lorg/hibernate/type/Type;Lorg/hibernate/cache/spi/QueryResultsCache;Lorg/hibernate/cache/spi/QueryKey;)Ljava/util/List;
    MethodParameters:
                 Name  Flags
      session          final
      queryParameters  final
      querySpaces      final
      resultTypes      final
      queryCache       final
      key              final

  private org.hibernate.persister.entity.EntityPersister getEntityPersister(org.hibernate.type.EntityType);
    descriptor: (Lorg/hibernate/type/EntityType;)Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.type.EntityType entityType
         0: .line 2643
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 1 /* entityType */
            invokevirtual org.hibernate.type.EntityType.getAssociatedEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.entityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            areturn
        end local 1 // org.hibernate.type.EntityType entityType
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/loader/Loader;
            0    1     1  entityType  Lorg/hibernate/type/EntityType;
    MethodParameters:
            Name  Flags
      entityType  

  protected void putResultInQueryCache(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, org.hibernate.type.Type[], org.hibernate.cache.spi.QueryResultsCache, org.hibernate.cache.spi.QueryKey, java.util.List);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/type/Type;Lorg/hibernate/cache/spi/QueryResultsCache;Lorg/hibernate/cache/spi/QueryKey;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // org.hibernate.type.Type[] resultTypes
        start local 4 // org.hibernate.cache.spi.QueryResultsCache queryCache
        start local 5 // org.hibernate.cache.spi.QueryKey key
        start local 6 // java.util.List result
         0: .line 2653
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getCacheMode:()Lorg/hibernate/CacheMode;
            invokevirtual org.hibernate.CacheMode.isPutEnabled:()Z
            ifeq 9
         1: .line 2654
            aload 4 /* queryCache */
         2: .line 2655
            aload 5 /* key */
         3: .line 2656
            aload 6 /* result */
         4: .line 2657
            aload 5 /* key */
            invokevirtual org.hibernate.cache.spi.QueryKey.getResultTransformer:()Lorg/hibernate/transform/CacheableResultTransformer;
            aload 3 /* resultTypes */
            invokevirtual org.hibernate.transform.CacheableResultTransformer.getCachedResultTypes:([Lorg/hibernate/type/Type;)[Lorg/hibernate/type/Type;
         5: .line 2658
            aload 1 /* session */
         6: .line 2654
            invokeinterface org.hibernate.cache.spi.QueryResultsCache.put:(Lorg/hibernate/cache/spi/QueryKey;Ljava/util/List;[Lorg/hibernate/type/Type;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
            istore 7 /* put */
        start local 7 // boolean put
         7: .line 2660
            iload 7 /* put */
            ifeq 9
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.isStatisticsEnabled:()Z
            ifeq 9
         8: .line 2661
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
            aload 4 /* queryCache */
            invokeinterface org.hibernate.cache.spi.QueryResultsCache.getRegion:()Lorg/hibernate/cache/spi/QueryResultsRegion;
            invokeinterface org.hibernate.cache.spi.QueryResultsRegion.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.queryCachePut:(Ljava/lang/String;Ljava/lang/String;)V
        end local 7 // boolean put
         9: .line 2664
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.util.List result
        end local 5 // org.hibernate.cache.spi.QueryKey key
        end local 4 // org.hibernate.cache.spi.QueryResultsCache queryCache
        end local 3 // org.hibernate.type.Type[] resultTypes
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/hibernate/loader/Loader;
            0   10     1          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   10     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   10     3      resultTypes  [Lorg/hibernate/type/Type;
            0   10     4       queryCache  Lorg/hibernate/cache/spi/QueryResultsCache;
            0   10     5              key  Lorg/hibernate/cache/spi/QueryKey;
            0   10     6           result  Ljava/util/List;
            7    9     7              put  Z
    MethodParameters:
                 Name  Flags
      session          final
      queryParameters  final
      resultTypes      final
      queryCache       final
      key              final
      result           final

  protected java.util.List doList(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 2672
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            aconst_null
            invokevirtual org.hibernate.loader.Loader.doList:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            areturn
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/hibernate/loader/Loader;
            0    1     1          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0    1     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      session          final
      queryParameters  final

  private java.util.List doList(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters, org.hibernate.transform.ResultTransformer);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // org.hibernate.transform.ResultTransformer forcedResultTransformer
         0: .line 2681
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.isStatisticsEnabled:()Z
            istore 4 /* stats */
        start local 4 // boolean stats
         1: .line 2682
            lconst_0
            lstore 5 /* startTime */
        start local 5 // long startTime
         2: .line 2683
            iload 4 /* stats */
            ifeq 4
         3: .line 2684
            invokestatic java.lang.System.nanoTime:()J
            lstore 5 /* startTime */
         4: .line 2689
      StackMap locals: int long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            iconst_1
            aload 3 /* forcedResultTransformer */
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            astore 7 /* result */
        start local 7 // java.util.List result
         5: .line 2690
            goto 12
        end local 7 // java.util.List result
         6: .line 2691
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 8 /* sqle */
        start local 8 // java.sql.SQLException sqle
         7: .line 2692
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
         8: .line 2693
            aload 8 /* sqle */
         9: .line 2694
            ldc "could not execute query"
        10: .line 2695
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        11: .line 2692
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 8 // java.sql.SQLException sqle
        start local 7 // java.util.List result
        12: .line 2699
      StackMap locals: java.util.List
      StackMap stack:
            iload 4 /* stats */
            ifeq 20
        13: .line 2700
            invokestatic java.lang.System.nanoTime:()J
            lstore 8 /* endTime */
        start local 8 // long endTime
        14: .line 2701
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            lload 8 /* endTime */
            lload 5 /* startTime */
            lsub
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lstore 10 /* milliseconds */
        start local 10 // long milliseconds
        15: .line 2702
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
        16: .line 2703
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
        17: .line 2704
            aload 7 /* result */
            invokeinterface java.util.List.size:()I
        18: .line 2705
            lload 10 /* milliseconds */
        19: .line 2702
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.queryExecuted:(Ljava/lang/String;IJ)V
        end local 10 // long milliseconds
        end local 8 // long endTime
        20: .line 2709
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            areturn
        end local 7 // java.util.List result
        end local 5 // long startTime
        end local 4 // boolean stats
        end local 3 // org.hibernate.transform.ResultTransformer forcedResultTransformer
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   21     0                     this  Lorg/hibernate/loader/Loader;
            0   21     1                  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   21     2          queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   21     3  forcedResultTransformer  Lorg/hibernate/transform/ResultTransformer;
            1   21     4                    stats  Z
            2   21     5                startTime  J
            5    6     7                   result  Ljava/util/List;
           12   21     7                   result  Ljava/util/List;
            7   12     8                     sqle  Ljava/sql/SQLException;
           14   20     8                  endTime  J
           15   20    10             milliseconds  J
      Exception table:
        from    to  target  type
           4     5       6  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                         Name  Flags
      session                  final
      queryParameters          final
      forcedResultTransformer  final

  protected void checkScrollability();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 2722
            return
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;
    Exceptions:
      throws org.hibernate.HibernateException

  protected boolean needsFetchingScroll();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 2731
            iconst_0
            ireturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected org.hibernate.query.spi.ScrollableResultsImplementor scroll(org.hibernate.engine.spi.QueryParameters, org.hibernate.type.Type[], org.hibernate.hql.internal.HolderInstantiator, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/type/Type;Lorg/hibernate/hql/internal/HolderInstantiator;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/query/spi/ScrollableResultsImplementor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=15, args_size=5
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 2 // org.hibernate.type.Type[] returnTypes
        start local 3 // org.hibernate.hql.internal.HolderInstantiator holderInstantiator
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 2753
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.checkScrollability:()V
         1: .line 2755
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
            ifnull 4
         2: .line 2756
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.isStatisticsEnabled:()Z
            ifeq 4
         3: .line 2755
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* stats */
        start local 5 // boolean stats
         6: .line 2757
            lconst_0
            lstore 6 /* startTime */
        start local 6 // long startTime
         7: .line 2758
            iload 5 /* stats */
            ifeq 9
         8: .line 2759
            invokestatic java.lang.System.nanoTime:()J
            lstore 6 /* startTime */
         9: .line 2765
      StackMap locals: int long
      StackMap stack:
            aload 0 /* this */
        10: .line 2766
            aload 1 /* queryParameters */
        11: .line 2767
            iconst_1
        12: .line 2768
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
        13: .line 2769
            aload 4 /* session */
        14: .line 2765
            invokevirtual org.hibernate.loader.Loader.executeQueryStatement:(Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
            astore 8 /* wrapper */
        start local 8 // org.hibernate.loader.Loader$SqlStatementWrapper wrapper
        15: .line 2771
            aload 8 /* wrapper */
            invokevirtual org.hibernate.loader.Loader$SqlStatementWrapper.getResultSet:()Ljava/sql/ResultSet;
            astore 9 /* rs */
        start local 9 // java.sql.ResultSet rs
        16: .line 2772
            aload 8 /* wrapper */
            invokevirtual org.hibernate.loader.Loader$SqlStatementWrapper.getStatement:()Ljava/sql/Statement;
            checkcast java.sql.PreparedStatement
            astore 10 /* st */
        start local 10 // java.sql.PreparedStatement st
        17: .line 2774
            iload 5 /* stats */
            ifeq 25
        18: .line 2775
            invokestatic java.lang.System.nanoTime:()J
            lstore 11 /* endTime */
        start local 11 // long endTime
        19: .line 2776
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            lload 11 /* endTime */
            lload 6 /* startTime */
            lsub
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lstore 13 /* milliseconds */
        start local 13 // long milliseconds
        20: .line 2777
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
        21: .line 2778
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
        22: .line 2779
            iconst_0
        23: .line 2780
            lload 13 /* milliseconds */
        24: .line 2777
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.queryExecuted:(Ljava/lang/String;IJ)V
        end local 13 // long milliseconds
        end local 11 // long endTime
        25: .line 2784
      StackMap locals: org.hibernate.loader.Loader$SqlStatementWrapper java.sql.ResultSet java.sql.PreparedStatement
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.needsFetchingScroll:()Z
            ifeq 36
        26: .line 2785
            new org.hibernate.internal.FetchingScrollableResultsImpl
            dup
        27: .line 2786
            aload 9 /* rs */
        28: .line 2787
            aload 10 /* st */
        29: .line 2788
            aload 4 /* session */
        30: .line 2789
            aload 0 /* this */
        31: .line 2790
            aload 1 /* queryParameters */
        32: .line 2791
            aload 2 /* returnTypes */
        33: .line 2792
            aload 3 /* holderInstantiator */
        34: .line 2785
            invokespecial org.hibernate.internal.FetchingScrollableResultsImpl.<init>:(Ljava/sql/ResultSet;Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/loader/Loader;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/type/Type;Lorg/hibernate/hql/internal/HolderInstantiator;)V
        35: areturn
        36: .line 2796
      StackMap locals:
      StackMap stack:
            new org.hibernate.internal.ScrollableResultsImpl
            dup
        37: .line 2797
            aload 9 /* rs */
        38: .line 2798
            aload 10 /* st */
        39: .line 2799
            aload 4 /* session */
        40: .line 2800
            aload 0 /* this */
        41: .line 2801
            aload 1 /* queryParameters */
        42: .line 2802
            aload 2 /* returnTypes */
        43: .line 2803
            aload 3 /* holderInstantiator */
        44: .line 2796
            invokespecial org.hibernate.internal.ScrollableResultsImpl.<init>:(Ljava/sql/ResultSet;Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/loader/Loader;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/type/Type;Lorg/hibernate/hql/internal/HolderInstantiator;)V
        45: areturn
        end local 10 // java.sql.PreparedStatement st
        end local 9 // java.sql.ResultSet rs
        end local 8 // org.hibernate.loader.Loader$SqlStatementWrapper wrapper
        46: .line 2808
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.QueryParameters org.hibernate.type.Type[] org.hibernate.hql.internal.HolderInstantiator org.hibernate.engine.spi.SharedSessionContractImplementor int long
      StackMap stack: java.sql.SQLException
            astore 8 /* sqle */
        start local 8 // java.sql.SQLException sqle
        47: .line 2809
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        48: .line 2810
            aload 8 /* sqle */
        49: .line 2811
            ldc "could not execute query using scroll"
        50: .line 2812
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        51: .line 2809
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 8 // java.sql.SQLException sqle
        end local 6 // long startTime
        end local 5 // boolean stats
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // org.hibernate.hql.internal.HolderInstantiator holderInstantiator
        end local 2 // org.hibernate.type.Type[] returnTypes
        end local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   52     0                this  Lorg/hibernate/loader/Loader;
            0   52     1     queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   52     2         returnTypes  [Lorg/hibernate/type/Type;
            0   52     3  holderInstantiator  Lorg/hibernate/hql/internal/HolderInstantiator;
            0   52     4             session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            6   52     5               stats  Z
            7   52     6           startTime  J
           15   46     8             wrapper  Lorg/hibernate/loader/Loader$SqlStatementWrapper;
           16   46     9                  rs  Ljava/sql/ResultSet;
           17   46    10                  st  Ljava/sql/PreparedStatement;
           19   25    11             endTime  J
           20   25    13        milliseconds  J
           47   52     8                sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           9    35      46  Class java.sql.SQLException
          36    45      46  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                    Name  Flags
      queryParameters     final
      returnTypes         final
      holderInstantiator  final
      session             final

  protected void postInstantiate();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 2823
            return
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected abstract org.hibernate.loader.EntityAliases[] getEntityAliases();
    descriptor: ()[Lorg/hibernate/loader/EntityAliases;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract org.hibernate.loader.CollectionAliases[] getCollectionAliases();
    descriptor: ()[Lorg/hibernate/loader/CollectionAliases;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected java.lang.String getQueryIdentifier();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 2837
            aconst_null
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  public final org.hibernate.engine.spi.SessionFactoryImplementor getFactory();
    descriptor: ()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 2841
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.loader.Loader this
         0: .line 2846
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/Loader;

  protected java.lang.String processDistinctKeyword(java.lang.String, org.hibernate.engine.spi.QueryParameters);
    descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // java.lang.String sql
        start local 2 // org.hibernate.engine.spi.QueryParameters parameters
         0: .line 2879
            aload 2 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isPassDistinctThrough:()Z
            ifne 3
         1: .line 2880
            aload 1 /* sql */
            ldc "select distinct"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 2881
            new java.lang.StringBuilder
            dup
            ldc "select"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sql */
            ldc "select distinct"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         3: .line 2884
      StackMap locals:
      StackMap stack:
            aload 1 /* sql */
            areturn
        end local 2 // org.hibernate.engine.spi.QueryParameters parameters
        end local 1 // java.lang.String sql
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/hibernate/loader/Loader;
            0    4     1         sql  Ljava/lang/String;
            0    4     2  parameters  Lorg/hibernate/engine/spi/QueryParameters;
    MethodParameters:
            Name  Flags
      sql         
      parameters  
}
SourceFile: "Loader.java"
NestMembers:
  org.hibernate.loader.Loader$1  org.hibernate.loader.Loader$SqlStatementWrapper
InnerClasses:
  org.hibernate.loader.Loader$1
  protected SqlStatementWrapper = org.hibernate.loader.Loader$SqlStatementWrapper of org.hibernate.loader.Loader