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
{
  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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 117
            ldc Lorg/hibernate/internal/CoreMessageLogger;
            ldc Lorg/hibernate/loader/Loader;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 118
            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 124
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 125
            aload 0 /* this */
            aload 1 /* factory */
            putfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         2: .line 126
            aload 0 /* this */
            aload 1 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isDirectReferenceCacheEntriesEnabled:()Z
            putfield org.hibernate.loader.Loader.referenceCachingEnabled:Z
         3: .line 127
            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    4     0     this  Lorg/hibernate/loader/Loader;
            0    4     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 151
            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 163
            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 173
            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 181
            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 190
            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 194
            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 215
            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 223
            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 230
            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 240
            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.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=5, 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 251
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* parameters */
            aload 3 /* 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 */
         1: .line 255
            aload 2 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getQueryHints:()Ljava/util/List;
            ifnull 3
            aload 2 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getQueryHints:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifle 3
         2: .line 256
            aload 3 /* dialect */
            aload 1 /* sql */
            aload 2 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getQueryHints:()Ljava/util/List;
            invokevirtual org.hibernate.dialect.Dialect.getQueryHintString:(Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
            astore 1 /* sql */
         3: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isCommentsEnabled:()Z
            ifeq 5
         4: .line 260
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* parameters */
            invokevirtual org.hibernate.loader.Loader.prependComment:(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/lang/String;
            goto 6
         5: .line 261
      StackMap locals:
      StackMap stack:
            aload 1 /* sql */
         6: .line 259
      StackMap locals:
      StackMap stack: java.lang.String
            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    7     0              this  Lorg/hibernate/loader/Loader;
            0    7     1               sql  Ljava/lang/String;
            0    7     2        parameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    7     3           dialect  Lorg/hibernate/dialect/Dialect;
            0    7     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 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 268
            aload 2 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.useFollowOnLocking:()Z
            ifeq 12
         1: .line 270
            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
         2: .line 271
            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
         3: .line 272
            aload 5 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getLockMode:()Lorg/hibernate/LockMode;
            getstatic org.hibernate.LockMode.UPGRADE_SKIPLOCKED:Lorg/hibernate/LockMode;
            if_acmpeq 12
         4: .line 273
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.usingFollowOnLocking:()V
         5: .line 274
            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
         6: .line 275
            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
         7: .line 276
            aload 3 /* afterLoadActions */
         8: .line 277
            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
         9: .line 276
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 284
            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
        11: .line 285
            iconst_1
            ireturn
        end local 5 // org.hibernate.LockOptions lockOptions
        end local 4 // org.hibernate.LockMode lockMode
        12: .line 288
      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   13     0              this  Lorg/hibernate/loader/Loader;
            0   13     1        parameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   13     2           dialect  Lorg/hibernate/dialect/Dialect;
            0   13     3  afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            2   12     4          lockMode  Lorg/hibernate/LockMode;
            3   12     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 292
            aload 1 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.findGreatestLockMode:()Lorg/hibernate/LockMode;
            astore 2 /* lockModeToUse */
        start local 2 // org.hibernate.LockMode lockModeToUse
         1: .line 294
            aload 1 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.hasAliasSpecificLockModes:()Z
            ifeq 3
         2: .line 295
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 2 /* lockModeToUse */
            invokeinterface org.hibernate.internal.CoreMessageLogger.aliasSpecificLockingWithFollowOnLocking:(Lorg/hibernate/LockMode;)V
         3: .line 298
      StackMap locals: org.hibernate.LockMode
      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    4     0           this  Lorg/hibernate/loader/Loader;
            0    4     1    lockOptions  Lorg/hibernate/LockOptions;
            1    4     2  lockModeToUse  Lorg/hibernate/LockMode;
    MethodParameters:
             Name  Flags
      lockOptions  

  private java.lang.String prependComment(java.lang.String, org.hibernate.engine.spi.QueryParameters);
    descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, 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 302
            aload 2 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getComment:()Ljava/lang/String;
            astore 3 /* comment */
        start local 3 // java.lang.String comment
         1: .line 303
            aload 3 /* comment */
            ifnonnull 3
         2: .line 304
            aload 1 /* sql */
            areturn
         3: .line 307
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* comment */
            invokevirtual java.lang.String.length:()I
            aload 1 /* sql */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_5
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
         4: .line 308
            ldc "/* "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 309
            aload 3 /* comment */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 310
            ldc " */ "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 311
            aload 1 /* sql */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 312
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 307
            areturn
        end local 3 // java.lang.String comment
        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   10     0        this  Lorg/hibernate/loader/Loader;
            0   10     1         sql  Ljava/lang/String;
            0   10     2  parameters  Lorg/hibernate/engine/spi/QueryParameters;
            1   10     3     comment  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      sql         
      parameters  

  public java.util.List doQueryAndInitializeNonLazyCollections(org.hibernate.engine.spi.SessionImplementor, org.hibernate.engine.spi.QueryParameters, boolean);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // boolean returnProxies
         0: .line 325
            aload 0 /* this */
         1: .line 326
            aload 1 /* session */
         2: .line 327
            aload 2 /* queryParameters */
         3: .line 328
            iload 3 /* returnProxies */
         4: .line 329
            aconst_null
         5: .line 325
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor, org.hibernate.engine.spi.QueryParameters, boolean, org.hibernate.transform.ResultTransformer);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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 339
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            astore 5 /* persistenceContext */
        start local 5 // org.hibernate.engine.spi.PersistenceContext persistenceContext
         1: .line 340
            aload 5 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.isDefaultReadOnly:()Z
            istore 6 /* defaultReadOnlyOrig */
        start local 6 // boolean defaultReadOnlyOrig
         2: .line 341
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnlyInitialized:()Z
            ifeq 5
         3: .line 344
            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 345
            goto 6
         5: .line 349
      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 351
      StackMap locals:
      StackMap stack:
            aload 5 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.beforeLoad:()V
         7: .line 355
            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/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            astore 7 /* result */
        start local 7 // java.util.List result
         8: .line 356
            goto 12
        end local 7 // java.util.List result
         9: .line 357
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        10: .line 358
            aload 5 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.afterLoad:()V
        11: .line 359
            aload 8
            athrow
        start local 7 // java.util.List result
        12: .line 358
      StackMap locals: java.util.List
      StackMap stack:
            aload 5 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.afterLoad:()V
        13: .line 360
            aload 5 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.initializeNonLazyCollections:()V
        14: .line 361
            goto 18
        end local 7 // java.util.List result
        15: .line 362
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SessionImplementor 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 364
            aload 5 /* persistenceContext */
            iload 6 /* defaultReadOnlyOrig */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
        17: .line 365
            aload 9
            athrow
        start local 7 // java.util.List result
        18: .line 364
      StackMap locals: java.util.List
      StackMap stack:
            aload 5 /* persistenceContext */
            iload 6 /* defaultReadOnlyOrig */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
        19: .line 366
            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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor, org.hibernate.engine.spi.QueryParameters, boolean);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor session
        start local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 4 // boolean returnProxies
         0: .line 386
            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 387
            iload 5 /* entitySpan */
            ifne 3
         2: .line 388
            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 387
      StackMap locals:
      StackMap stack: java.util.ArrayList
            astore 6 /* hydratedObjects */
        start local 6 // java.util.List hydratedObjects
         5: .line 392
            aload 0 /* this */
         6: .line 393
            aload 1 /* resultSet */
         7: .line 394
            aload 2 /* session */
         8: .line 395
            aload 3 /* queryParameters */
         9: .line 396
            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 397
            aconst_null
        11: .line 398
            aload 6 /* hydratedObjects */
        12: .line 399
            iload 5 /* entitySpan */
            anewarray org.hibernate.engine.spi.EntityKey
        13: .line 400
            iload 4 /* returnProxies */
        14: .line 392
            invokevirtual org.hibernate.loader.Loader.getRowFromResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;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 402
            goto 22
        end local 7 // java.lang.Object result
        16: .line 403
      StackMap locals: org.hibernate.loader.Loader java.sql.ResultSet org.hibernate.engine.spi.SessionImplementor 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 404
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        18: .line 405
            aload 8 /* sqle */
        19: .line 406
            ldc "could not read next row of results"
        20: .line 407
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        21: .line 404
            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 411
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
        23: .line 412
            aload 6 /* hydratedObjects */
        24: .line 413
            aload 1 /* resultSet */
        25: .line 414
            aload 2 /* session */
        26: .line 415
            aload 3 /* queryParameters */
            aload 2 /* session */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnly:(Lorg/hibernate/engine/spi/SessionImplementor;)Z
        27: .line 411
            invokevirtual org.hibernate.loader.Loader.initializeEntitiesAndCollections:(Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Z)V
        28: .line 417
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            invokeinterface org.hibernate.engine.spi.PersistenceContext.initializeNonLazyCollections:()V
        29: .line 418
            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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor, org.hibernate.engine.spi.QueryParameters, boolean, org.hibernate.engine.spi.EntityKey);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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 428
            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 429
            iload 6 /* entitySpan */
            ifne 3
         2: .line 430
            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 429
      StackMap locals:
      StackMap stack: java.util.ArrayList
            astore 7 /* hydratedObjects */
        start local 7 // java.util.List hydratedObjects
         5: .line 432
            aconst_null
            astore 8 /* result */
        start local 8 // java.lang.Object result
         6: .line 433
            iload 6 /* entitySpan */
            anewarray org.hibernate.engine.spi.EntityKey
            astore 9 /* loadedKeys */
        start local 9 // org.hibernate.engine.spi.EntityKey[] loadedKeys
         7: .line 437
      StackMap locals: java.util.List java.lang.Object org.hibernate.engine.spi.EntityKey[]
      StackMap stack:
            aload 0 /* this */
         8: .line 438
            aload 1 /* resultSet */
         9: .line 439
            aload 2 /* session */
        10: .line 440
            aload 3 /* queryParameters */
        11: .line 441
            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 442
            aconst_null
        13: .line 443
            aload 7 /* hydratedObjects */
        14: .line 444
            aload 9 /* loadedKeys */
        15: .line 445
            iload 4 /* returnProxies */
        16: .line 437
            invokevirtual org.hibernate.loader.Loader.getRowFromResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;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 447
            aload 5 /* keyToRead */
            aload 9 /* loadedKeys */
            iconst_0
            aaload
            invokevirtual org.hibernate.engine.spi.EntityKey.equals:(Ljava/lang/Object;)Z
            ifne 24
        18: .line 448
            new org.hibernate.AssertionFailure
            dup
        19: .line 450
            ldc "Unexpected key read for row; expected [%s]; actual [%s]"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        20: .line 451
            aload 5 /* keyToRead */
            aastore
            dup
            iconst_1
        21: .line 452
            aload 9 /* loadedKeys */
            iconst_0
            aaload
            aastore
        22: .line 449
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        23: .line 448
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 455
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 8 /* result */
            ifnonnull 26
        25: .line 456
            aload 10 /* loaded */
            astore 8 /* result */
        end local 10 // java.lang.Object loaded
        26: .line 459
      StackMap locals:
      StackMap stack:
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.next:()Z
            ifeq 35
        27: .line 460
            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/SessionImplementor;)Z
            ifne 7
        28: .line 461
            goto 35
        29: .line 462
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 10 /* sqle */
        start local 10 // java.sql.SQLException sqle
        30: .line 463
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        31: .line 464
            aload 10 /* sqle */
        32: .line 465
            ldc "could not doAfterTransactionCompletion sequential read of results (forward)"
        33: .line 466
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        34: .line 463
            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 470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        36: .line 471
            aload 7 /* hydratedObjects */
        37: .line 472
            aload 1 /* resultSet */
        38: .line 473
            aload 2 /* session */
        39: .line 474
            aload 3 /* queryParameters */
            aload 2 /* session */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnly:(Lorg/hibernate/engine/spi/SessionImplementor;)Z
        40: .line 470
            invokevirtual org.hibernate.loader.Loader.initializeEntitiesAndCollections:(Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Z)V
        41: .line 476
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            invokeinterface org.hibernate.engine.spi.PersistenceContext.initializeNonLazyCollections:()V
        42: .line 477
            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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;ILjava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 485
            aload 0 /* this */
         1: .line 486
            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 485
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 5 /* currentRowKey */
        start local 5 // org.hibernate.engine.spi.EntityKey currentRowKey
         3: .line 488
            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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor, org.hibernate.engine.spi.QueryParameters, boolean);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor session
        start local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 4 // boolean returnProxies
         0: .line 514
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.isAfterLast:()Z
            ifeq 2
         1: .line 516
            aconst_null
            areturn
         2: .line 519
      StackMap locals:
      StackMap stack:
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.isBeforeFirst:()Z
            ifeq 4
         3: .line 520
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
         4: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         5: .line 530
            iconst_0
         6: .line 531
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iconst_0
            aaload
         7: .line 532
            aconst_null
         8: .line 533
            aload 1 /* resultSet */
         9: .line 534
            aload 2 /* session */
        10: .line 529
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 5 /* currentKey */
        start local 5 // org.hibernate.engine.spi.EntityKey currentKey
        11: .line 537
            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/SessionImplementor;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 539
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 5 /* sqle */
        start local 5 // java.sql.SQLException sqle
        14: .line 540
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        15: .line 541
            aload 5 /* sqle */
        16: .line 542
            ldc "could not perform sequential read of results (forward)"
        17: .line 543
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        18: .line 540
            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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor, org.hibernate.engine.spi.QueryParameters, boolean, boolean);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor session
        start local 3 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 4 // boolean returnProxies
        start local 5 // boolean isLogicallyAfterLast
         0: .line 572
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.isFirst:()Z
            ifeq 2
         1: .line 574
            aconst_null
            areturn
         2: .line 577
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* keyToRead */
        start local 6 // org.hibernate.engine.spi.EntityKey keyToRead
         3: .line 590
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.isAfterLast:()Z
            ifeq 13
            iload 5 /* isLogicallyAfterLast */
            ifeq 13
         4: .line 592
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.last:()Z
            pop
         5: .line 593
            aload 0 /* this */
         6: .line 594
            iconst_0
         7: .line 595
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iconst_0
            aaload
         8: .line 596
            aconst_null
         9: .line 597
            aload 1 /* resultSet */
        10: .line 598
            aload 2 /* session */
        11: .line 593
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 6 /* keyToRead */
        12: .line 600
            goto 46
        13: .line 606
      StackMap locals: org.hibernate.engine.spi.EntityKey
      StackMap stack:
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.previous:()Z
            pop
        14: .line 612
            iconst_1
            istore 7 /* firstPass */
        start local 7 // boolean firstPass
        15: .line 613
            aload 0 /* this */
        16: .line 614
            iconst_0
        17: .line 615
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iconst_0
            aaload
        18: .line 616
            aconst_null
        19: .line 617
            aload 1 /* resultSet */
        20: .line 618
            aload 2 /* session */
        21: .line 613
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 8 /* lastKey */
        start local 8 // org.hibernate.engine.spi.EntityKey lastKey
        22: .line 620
            goto 35
        23: .line 621
      StackMap locals: int org.hibernate.engine.spi.EntityKey
      StackMap stack:
            aload 0 /* this */
        24: .line 622
            iconst_0
        25: .line 623
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iconst_0
            aaload
        26: .line 624
            aconst_null
        27: .line 625
            aload 1 /* resultSet */
        28: .line 626
            aload 2 /* session */
        29: .line 621
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 9 /* checkKey */
        start local 9 // org.hibernate.engine.spi.EntityKey checkKey
        30: .line 629
            iload 7 /* firstPass */
            ifeq 33
        31: .line 630
            iconst_0
            istore 7 /* firstPass */
        32: .line 631
            aload 9 /* checkKey */
            astore 6 /* keyToRead */
        33: .line 634
      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 635
            goto 46
        end local 9 // org.hibernate.engine.spi.EntityKey checkKey
        35: .line 620
      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 643
            goto 46
        37: .line 644
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        38: .line 645
            iconst_0
        39: .line 646
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityPersisters:()[Lorg/hibernate/persister/entity/Loadable;
            iconst_0
            aaload
        40: .line 647
            aconst_null
        41: .line 648
            aload 1 /* resultSet */
        42: .line 649
            aload 2 /* session */
        43: .line 644
            invokevirtual org.hibernate.loader.Loader.getKeyFromResultSet:(ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 7 /* checkKey */
        start local 7 // org.hibernate.engine.spi.EntityKey checkKey
        44: .line 652
            aload 6 /* keyToRead */
            aload 7 /* checkKey */
            invokevirtual org.hibernate.engine.spi.EntityKey.equals:(Ljava/lang/Object;)Z
            ifne 46
        45: .line 653
            goto 47
        end local 7 // org.hibernate.engine.spi.EntityKey checkKey
        46: .line 643
      StackMap locals:
      StackMap stack:
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.previous:()Z
            ifne 37
        47: .line 659
      StackMap locals:
      StackMap stack:
            aload 1 /* resultSet */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
        48: .line 662
            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/SessionImplementor;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 664
      StackMap locals: org.hibernate.loader.Loader java.sql.ResultSet org.hibernate.engine.spi.SessionImplementor org.hibernate.engine.spi.QueryParameters int int
      StackMap stack: java.sql.SQLException
            astore 6 /* sqle */
        start local 6 // java.sql.SQLException sqle
        51: .line 665
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        52: .line 666
            aload 6 /* sqle */
        53: .line 667
            ldc "could not doAfterTransactionCompletion sequential read of results (forward)"
        54: .line 668
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        55: .line 665
            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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 674
            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 675
            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 676
            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 678
            aload 2 /* optionalObject */
            ifnull 5
            aload 4 /* optionalEntityName */
            ifnull 5
         4: .line 679
            aload 1 /* session */
            aload 3 /* optionalId */
            aload 1 /* session */
            aload 4 /* optionalEntityName */
            aload 2 /* optionalObject */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getEntityPersister:(Ljava/lang/String;Ljava/lang/Object;)Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            areturn
         5: .line 682
      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.SessionImplementor session
        end local 0 // org.hibernate.engine.spi.QueryParameters queryParameters
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0     queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    6     1             session  Lorg/hibernate/engine/spi/SessionImplementor;
            1    6     2      optionalObject  Ljava/lang/Object;
            2    6     3          optionalId  Ljava/io/Serializable;
            3    6     4  optionalEntityName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      queryParameters  
      session          

  private java.lang.Object getRowFromResultSet(java.sql.ResultSet, org.hibernate.engine.spi.SessionImplementor, 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/SessionImplementor;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.SessionImplementor 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 696
            aload 0 /* this */
         1: .line 697
            aload 1 /* resultSet */
         2: .line 698
            aload 2 /* session */
         3: .line 699
            aload 3 /* queryParameters */
         4: .line 700
            aload 4 /* lockModesArray */
         5: .line 701
            aload 5 /* optionalObjectKey */
         6: .line 702
            aload 6 /* hydratedObjects */
         7: .line 703
            aload 7 /* keys */
         8: .line 704
            iload 8 /* returnProxies */
         9: .line 705
            aconst_null
        10: .line 696
            invokevirtual org.hibernate.loader.Loader.getRowFromResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor, 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/SessionImplementor;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.SessionImplementor 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 719
            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 720
            aload 10 /* persisters */
            arraylength
            istore 11 /* entitySpan */
        start local 11 // int entitySpan
         2: .line 721
            aload 0 /* this */
            aload 10 /* persisters */
            aload 3 /* queryParameters */
            aload 1 /* resultSet */
            aload 2 /* session */
            aload 7 /* keys */
            aload 4 /* lockModesArray */
            aload 6 /* hydratedObjects */
            invokevirtual org.hibernate.loader.Loader.extractKeysFromResultSet:([Lorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/QueryParameters;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;[Lorg/hibernate/engine/spi/EntityKey;[Lorg/hibernate/LockMode;Ljava/util/List;)V
         3: .line 723
            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/SessionImplementor;)V
         4: .line 726
            aload 0 /* this */
         5: .line 727
            aload 1 /* resultSet */
         6: .line 728
            aload 10 /* persisters */
         7: .line 729
            aload 7 /* keys */
         8: .line 730
            aload 3 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getOptionalObject:()Ljava/lang/Object;
         9: .line 731
            aload 5 /* optionalObjectKey */
        10: .line 732
            aload 4 /* lockModesArray */
        11: .line 733
            aload 6 /* hydratedObjects */
        12: .line 734
            aload 2 /* session */
        13: .line 726
            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/SessionImplementor;)[Ljava/lang/Object;
            astore 12 /* row */
        start local 12 // java.lang.Object[] row
        14: .line 737
            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/SessionImplementor;)V
        15: .line 739
            iload 8 /* returnProxies */
            ifeq 25
        16: .line 741
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        17: goto 24
        18: .line 742
      StackMap locals: org.hibernate.loader.Loader java.sql.ResultSet org.hibernate.engine.spi.SessionImplementor 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
        19: .line 743
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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
        20: .line 744
            aload 14 /* entity */
            aload 15 /* proxy */
            if_acmpeq 23
        21: .line 746
            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
        22: .line 747
            aload 12 /* row */
            iload 13 /* i */
            aload 15 /* proxy */
            aastore
        end local 15 // java.lang.Object proxy
        end local 14 // java.lang.Object entity
        23: .line 741
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 13 /* i */
            iload 11 /* entitySpan */
            if_icmplt 18
        end local 13 // int i
        25: .line 752
      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/SessionImplementor;)V
        26: .line 754
            aload 9 /* forcedResultTransformer */
            ifnonnull 28
        27: .line 755
            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/SessionImplementor;)Ljava/lang/Object;
            goto 29
        28: .line 756
      StackMap locals:
      StackMap stack:
            aload 9 /* forcedResultTransformer */
            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/SessionImplementor;)[Ljava/lang/Object;
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getResultRowAliases:()[Ljava/lang/String;
            invokeinterface org.hibernate.transform.ResultTransformer.transformTuple:([Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        29: .line 754
      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.SessionImplementor 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/SessionImplementor;
            0   30     3          queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   30     4           lockModesArray  [Lorg/hibernate/LockMode;
            0   30     5        optionalObjectKey  Lorg/hibernate/engine/spi/EntityKey;
            0   30     6          hydratedObjects  Ljava/util/List;
            0   30     7                     keys  [Lorg/hibernate/engine/spi/EntityKey;
            0   30     8            returnProxies  Z
            0   30     9  forcedResultTransformer  Lorg/hibernate/transform/ResultTransformer;
            1   30    10               persisters  [Lorg/hibernate/persister/entity/Loadable;
            2   30    11               entitySpan  I
           14   30    12                      row  [Ljava/lang/Object;
           17   25    13                        i  I
           19   23    14                   entity  Ljava/lang/Object;
           20   23    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.SessionImplementor, 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/SessionImplementor;[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.SessionImplementor 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 768
            aload 1 /* persisters */
            arraylength
            istore 8 /* entitySpan */
        start local 8 // int entitySpan
         1: .line 771
            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 772
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.isSingleRowLoader:()Z
            ifeq 6
            aload 10 /* optionalId */
            ifnull 6
         3: .line 773
            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.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            aastore
         4: .line 775
            iload 8 /* entitySpan */
            iconst_1
            isub
            istore 9 /* numberOfPersistersToProcess */
        start local 9 // int numberOfPersistersToProcess
         5: .line 776
            goto 7
        end local 9 // int numberOfPersistersToProcess
         6: .line 778
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SessionImplementor 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 781
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SessionImplementor 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 783
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         9: goto 13
        10: .line 784
      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 785
            aload 11 /* hydratedKeyState */
            iload 12 /* i */
            aload 13 /* idType */
            aload 3 /* resultSet */
            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;
            aload 4 /* session */
            aconst_null
            invokeinterface org.hibernate.type.Type.hydrate:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        end local 13 // org.hibernate.type.Type idType
        12: .line 783
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 12 /* i */
            iload 9 /* numberOfPersistersToProcess */
            if_icmplt 10
        end local 12 // int i
        14: .line 788
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        15: goto 61
        16: .line 789
      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
        17: .line 790
            aload 13 /* idType */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 56
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCompositeKeyManyToOneTargetIndices:()[[I
            ifnull 56
        18: .line 792
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCompositeKeyManyToOneTargetIndices:()[[I
            iload 12 /* i */
            aaload
            astore 14 /* keyManyToOneTargetIndices */
        start local 14 // int[] keyManyToOneTargetIndices
        19: .line 795
            aload 14 /* keyManyToOneTargetIndices */
            ifnull 56
        20: .line 796
            aload 14 /* keyManyToOneTargetIndices */
            dup
            astore 18
            arraylength
            istore 17
            iconst_0
            istore 16
            goto 55
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SessionImplementor 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:
        21: aload 18
            iload 16
            iaload
            istore 15 /* targetIndex */
        start local 15 // int targetIndex
        22: .line 797
            iload 15 /* targetIndex */
            iload 9 /* numberOfPersistersToProcess */
            if_icmpge 30
        23: .line 798
            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
        24: .line 799
            aload 19 /* targetIdType */
        25: .line 800
            aload 11 /* hydratedKeyState */
            iload 15 /* targetIndex */
            aaload
        26: .line 801
            aload 4 /* session */
        27: .line 802
            aconst_null
        28: .line 799
            invokeinterface org.hibernate.type.Type.resolve:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 20 /* targetId */
        start local 20 // java.io.Serializable targetId
        29: .line 805
            aload 5 /* keys */
            iload 15 /* targetIndex */
            aload 4 /* session */
            aload 20 /* targetId */
            aload 1 /* persisters */
            iload 15 /* targetIndex */
            aaload
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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
        30: .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.SessionImplementor 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.SessionImplementor.getEntityUsingInterceptor:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            astore 19 /* object */
        start local 19 // java.lang.Object object
        31: .line 810
            aload 19 /* object */
            ifnull 42
        32: .line 812
            aload 0 /* this */
        33: .line 813
            aload 3 /* resultSet */
        34: .line 814
            iload 15 /* targetIndex */
        35: .line 815
            aload 1 /* persisters */
            iload 15 /* targetIndex */
            aaload
        36: .line 816
            aload 5 /* keys */
            iload 15 /* targetIndex */
            aaload
        37: .line 817
            aload 19 /* object */
        38: .line 818
            aload 6 /* lockModes */
            iload 15 /* targetIndex */
            aaload
        39: .line 819
            aload 4 /* session */
        40: .line 812
            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/SessionImplementor;)V
        41: .line 821
            goto 54
        42: .line 823
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
        43: .line 824
            aload 3 /* resultSet */
        44: .line 825
            iload 15 /* targetIndex */
        45: .line 826
            aload 1 /* persisters */
            iload 15 /* targetIndex */
            aaload
        46: .line 827
            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;
        47: .line 828
            aload 5 /* keys */
            iload 15 /* targetIndex */
            aaload
        48: .line 829
            aload 6 /* lockModes */
            iload 15 /* targetIndex */
            aaload
        49: .line 830
            aload 2 /* queryParameters */
            aload 4 /* session */
            invokestatic org.hibernate.loader.Loader.getOptionalObjectKey:(Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/EntityKey;
        50: .line 831
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getOptionalObject:()Ljava/lang/Object;
        51: .line 832
            aload 7 /* hydratedObjects */
        52: .line 833
            aload 4 /* session */
        53: .line 823
            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/SessionImplementor;)Ljava/lang/Object;
            pop
        end local 19 // java.lang.Object object
        end local 15 // int targetIndex
        54: .line 796
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SessionImplementor 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:
        55: iload 16
            iload 17
            if_icmplt 21
        end local 14 // int[] keyManyToOneTargetIndices
        56: .line 839
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SessionImplementor 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 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/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 14 /* resolvedId */
        start local 14 // java.io.Serializable resolvedId
        57: .line 840
            aload 5 /* keys */
            iload 12 /* i */
            aload 14 /* resolvedId */
            ifnonnull 58
            aconst_null
            goto 59
      StackMap locals: org.hibernate.loader.Loader org.hibernate.persister.entity.Loadable[] org.hibernate.engine.spi.QueryParameters java.sql.ResultSet org.hibernate.engine.spi.SessionImplementor 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
        58: aload 4 /* session */
            aload 14 /* resolvedId */
            aload 1 /* persisters */
            iload 12 /* i */
            aaload
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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.SessionImplementor 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
        59: aastore
        end local 14 // java.io.Serializable resolvedId
        end local 13 // org.hibernate.type.Type idType
        60: .line 788
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 12 /* i */
            iload 9 /* numberOfPersistersToProcess */
            if_icmplt 16
        end local 12 // int i
        62: .line 842
            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.SessionImplementor 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   63     0                         this  Lorg/hibernate/loader/Loader;
            0   63     1                   persisters  [Lorg/hibernate/persister/entity/Loadable;
            0   63     2              queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   63     3                    resultSet  Ljava/sql/ResultSet;
            0   63     4                      session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   63     5                         keys  [Lorg/hibernate/engine/spi/EntityKey;
            0   63     6                    lockModes  [Lorg/hibernate/LockMode;
            0   63     7              hydratedObjects  Ljava/util/List;
            1   63     8                   entitySpan  I
            5    6     9  numberOfPersistersToProcess  I
            7   63     9  numberOfPersistersToProcess  I
            2   63    10                   optionalId  Ljava/io/Serializable;
            8   63    11             hydratedKeyState  [Ljava/lang/Object;
            9   14    12                            i  I
           11   12    13                       idType  Lorg/hibernate/type/Type;
           15   62    12                            i  I
           17   60    13                       idType  Lorg/hibernate/type/Type;
           19   56    14    keyManyToOneTargetIndices  [I
           22   54    15                  targetIndex  I
           24   30    19                 targetIdType  Lorg/hibernate/type/Type;
           29   30    20                     targetId  Ljava/io/Serializable;
           31   54    19                       object  Ljava/lang/Object;
           57   60    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.SessionImplementor);
    descriptor: ([Ljava/lang/Object;[Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 845
            return
        end local 3 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
    MethodParameters:
                Name  Flags
      row             
      lockModesArray  
      session         

  private void readCollectionElements(java.lang.Object[], java.sql.ResultSet, org.hibernate.engine.spi.SessionImplementor);
    descriptor: ([Ljava/lang/Object;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 855
            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 856
            aload 4 /* collectionPersisters */
            ifnull 30
         2: .line 858
            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 859
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getCollectionOwners:()[I
            astore 6 /* collectionOwners */
        start local 6 // int[] collectionOwners
         4: .line 861
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 29
         6: .line 863
      StackMap locals: org.hibernate.loader.Loader java.lang.Object[] java.sql.ResultSet org.hibernate.engine.spi.SessionImplementor org.hibernate.persister.collection.CollectionPersister[] org.hibernate.loader.CollectionAliases[] int[] int
      StackMap stack:
            aload 6 /* collectionOwners */
            ifnull 9
         7: .line 864
            aload 6 /* collectionOwners */
            iload 7 /* i */
            iaload
            iconst_m1
         8: .line 863
            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 868
            iload 8 /* hasCollectionOwners */
            ifeq 13
        12: .line 869
            aload 1 /* row */
            aload 6 /* collectionOwners */
            iload 7 /* i */
            iaload
            aaload
            goto 14
        13: .line 870
      StackMap locals: int
      StackMap stack:
            aconst_null
        14: .line 868
      StackMap locals:
      StackMap stack: java.lang.Object
            astore 9 /* owner */
        start local 9 // java.lang.Object owner
        15: .line 872
            aload 4 /* collectionPersisters */
            iload 7 /* i */
            aaload
            astore 10 /* collectionPersister */
        start local 10 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        16: .line 874
            aload 9 /* owner */
            ifnonnull 19
        17: .line 875
            aconst_null
            astore 11 /* key */
        start local 11 // java.io.Serializable key
        18: .line 876
            goto 20
        end local 11 // java.io.Serializable key
        19: .line 878
      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/SessionImplementor;)Ljava/io/Serializable;
            astore 11 /* key */
        start local 11 // java.io.Serializable key
        20: .line 883
      StackMap locals: java.io.Serializable
      StackMap stack:
            aload 0 /* this */
        21: .line 884
            aload 9 /* owner */
        22: .line 885
            aload 11 /* key */
        23: .line 886
            aload 10 /* collectionPersister */
        24: .line 887
            aload 5 /* descriptors */
            iload 7 /* i */
            aaload
        25: .line 888
            aload 2 /* resultSet */
        26: .line 889
            aload 3 /* session */
        27: .line 883
            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/SessionImplementor;)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 861
            iinc 7 /* i */ 1
      StackMap locals: org.hibernate.loader.Loader java.lang.Object[] java.sql.ResultSet org.hibernate.engine.spi.SessionImplementor 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 895
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.hibernate.persister.collection.CollectionPersister[] collectionPersisters
        end local 3 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor, org.hibernate.engine.spi.QueryParameters, boolean, org.hibernate.transform.ResultTransformer);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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 903
            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 904
            aload 5 /* selection */
            invokestatic org.hibernate.dialect.pagination.LimitHelper.hasMaxRows:(Lorg/hibernate/engine/spi/RowSelection;)Z
            ifeq 3
         2: .line 905
            aload 5 /* selection */
            invokevirtual org.hibernate.engine.spi.RowSelection.getMaxRows:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            goto 4
         3: .line 906
      StackMap locals: org.hibernate.engine.spi.RowSelection
      StackMap stack:
            ldc 2147483647
         4: .line 904
      StackMap locals:
      StackMap stack: int
            istore 6 /* maxRows */
        start local 6 // int maxRows
         5: .line 908
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* afterLoadActions */
        start local 7 // java.util.List afterLoadActions
         6: .line 910
            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/SessionImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
            astore 8 /* wrapper */
        start local 8 // org.hibernate.loader.Loader$SqlStatementWrapper wrapper
         7: .line 911
            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 912
            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 921
            aload 0 /* this */
            aload 9 /* rs */
            aload 2 /* queryParameters */
            aload 1 /* session */
            iload 3 /* returnProxies */
            aload 4 /* forcedResultTransformer */
            iload 6 /* maxRows */
            aload 7 /* afterLoadActions */
            invokevirtual org.hibernate.loader.Loader.processResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SessionImplementor;ZLorg/hibernate/transform/ResultTransformer;ILjava/util/List;)Ljava/util/List;
            astore 12
        10: .line 924
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 10 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        11: .line 921
            aload 12
            areturn
        12: .line 923
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SessionImplementor 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
        13: .line 924
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 10 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        14: .line 925
            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.SessionImplementor session
        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                  session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   15     2          queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   15     3            returnProxies  Z
            0   15     4  forcedResultTransformer  Lorg/hibernate/transform/ResultTransformer;
            1   15     5                selection  Lorg/hibernate/engine/spi/RowSelection;
            5   15     6                  maxRows  I
            6   15     7         afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            7   15     8                  wrapper  Lorg/hibernate/loader/Loader$SqlStatementWrapper;
            8   15     9                       rs  Ljava/sql/ResultSet;
            9   15    10                       st  Ljava/sql/Statement;
      Exception table:
        from    to  target  type
           9    10      12  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.SessionImplementor, 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/SessionImplementor;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.SessionImplementor 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 937
            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 938
            aload 2 /* queryParameters */
            aload 3 /* session */
            invokestatic org.hibernate.loader.Loader.getOptionalObjectKey:(Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 9 /* optionalObjectKey */
        start local 9 // org.hibernate.engine.spi.EntityKey optionalObjectKey
         2: .line 939
            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 940
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.isSubselectLoadingEnabled:()Z
            istore 11 /* createSubselects */
        start local 11 // boolean createSubselects
         4: .line 941
            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.SessionImplementor 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 942
            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 943
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 14 /* results */
        start local 14 // java.util.List results
        11: .line 945
            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/SessionImplementor;)V
        12: .line 946
            iload 8 /* entitySpan */
            anewarray org.hibernate.engine.spi.EntityKey
            astore 15 /* keys */
        start local 15 // org.hibernate.engine.spi.EntityKey[] keys
        13: .line 947
            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 950
            iconst_0
            istore 16 /* count */
        start local 16 // int count
        15: goto 34
        16: .line 951
      StackMap locals: org.hibernate.loader.Loader java.sql.ResultSet org.hibernate.engine.spi.QueryParameters org.hibernate.engine.spi.SessionImplementor 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 952
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Result set row: %s"
            iload 16 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 953
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        19: .line 954
            aload 1 /* rs */
        20: .line 955
            aload 3 /* session */
        21: .line 956
            aload 2 /* queryParameters */
        22: .line 957
            aload 10 /* lockModesArray */
        23: .line 958
            aload 9 /* optionalObjectKey */
        24: .line 959
            aload 13 /* hydratedObjects */
        25: .line 960
            aload 15 /* keys */
        26: .line 961
            iload 4 /* returnProxies */
        27: .line 962
            aload 5 /* forcedResultTransformer */
        28: .line 953
            invokevirtual org.hibernate.loader.Loader.getRowFromResultSet:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;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 964
            aload 14 /* results */
            aload 17 /* result */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 965
            iload 11 /* createSubselects */
            ifeq 33
        31: .line 966
            aload 12 /* subselectResultKeys */
            aload 15 /* keys */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        32: .line 967
            iload 8 /* entitySpan */
            anewarray org.hibernate.engine.spi.EntityKey
            astore 15 /* keys */
        end local 17 // java.lang.Object result
        33: .line 950
      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 971
      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 973
            aload 0 /* this */
        37: .line 974
            aload 13 /* hydratedObjects */
        38: .line 975
            aload 1 /* rs */
        39: .line 976
            aload 3 /* session */
        40: .line 977
            aload 2 /* queryParameters */
            aload 3 /* session */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnly:(Lorg/hibernate/engine/spi/SessionImplementor;)Z
        41: .line 978
            aload 7 /* afterLoadActions */
        42: .line 973
            invokevirtual org.hibernate.loader.Loader.initializeEntitiesAndCollections:(Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;ZLjava/util/List;)V
        43: .line 980
            iload 11 /* createSubselects */
            ifeq 45
        44: .line 981
            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/SessionImplementor;)V
        45: .line 983
      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.SessionImplementor 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/SessionImplementor;
            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/SessionImplementor;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 987
            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 991
            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 992
            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 993
            aload 2 /* loadable */
            invokeinterface org.hibernate.persister.entity.Loadable.hasSubselectLoadableCollections:()Z
            ifeq 5
         4: .line 994
            iconst_1
            ireturn
        end local 2 // org.hibernate.persister.entity.Loadable loadable
         5: .line 992
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 2
         7: .line 997
            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 1001
            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 1002
            iconst_0
            istore 2 /* j */
        start local 2 // int j
         2: goto 9
         3: .line 1003
      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 1004
            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 1005
            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 1004
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 1002
            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 1008
            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.SessionImplementor);
    descriptor: (Ljava/util/List;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SessionImplementor;)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.util.List keys
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1012
            aload 1 /* keys */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 24
         1: .line 1014
            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 1016
            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 1018
            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 1019
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getAliases:()[Ljava/lang/String;
            astore 7 /* aliases */
        start local 7 // java.lang.String[] aliases
         5: .line 1020
            aload 1 /* keys */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8 /* iter */
        start local 8 // java.util.Iterator iter
         6: .line 1021
            goto 23
         7: .line 1023
      StackMap locals: org.hibernate.loader.Loader java.util.List org.hibernate.engine.spi.QueryParameters org.hibernate.engine.spi.SessionImplementor java.util.Set[] java.util.Map org.hibernate.persister.entity.Loadable[] java.lang.String[] java.util.Iterator
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.EntityKey[]
            astore 9 /* rowKeys */
        start local 9 // org.hibernate.engine.spi.EntityKey[] rowKeys
         8: .line 1024
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         9: goto 22
        10: .line 1026
      StackMap locals: org.hibernate.engine.spi.EntityKey[] int
      StackMap stack:
            aload 9 /* rowKeys */
            iload 10 /* i */
            aaload
            ifnull 21
            aload 6 /* loadables */
            iload 10 /* i */
            aaload
            invokeinterface org.hibernate.persister.entity.Loadable.hasSubselectLoadableCollections:()Z
            ifeq 21
        11: .line 1028
            new org.hibernate.engine.spi.SubselectFetch
            dup
        12: .line 1030
            aload 7 /* aliases */
            iload 10 /* i */
            aaload
        13: .line 1031
            aload 6 /* loadables */
            iload 10 /* i */
            aaload
        14: .line 1032
            aload 2 /* queryParameters */
        15: .line 1033
            aload 4 /* keySets */
            iload 10 /* i */
            aaload
        16: .line 1034
            aload 5 /* namedParameterLocMap */
        17: .line 1028
            invokespecial org.hibernate.engine.spi.SubselectFetch.<init>:(Ljava/lang/String;Lorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;Ljava/util/Map;)V
            astore 11 /* subselectFetch */
        start local 11 // org.hibernate.engine.spi.SubselectFetch subselectFetch
        18: .line 1037
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
        19: .line 1038
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getBatchFetchQueue:()Lorg/hibernate/engine/spi/BatchFetchQueue;
        20: .line 1039
            aload 9 /* rowKeys */
            iload 10 /* i */
            aaload
            aload 11 /* subselectFetch */
            invokevirtual org.hibernate.engine.spi.BatchFetchQueue.addSubselect:(Lorg/hibernate/engine/spi/EntityKey;Lorg/hibernate/engine/spi/SubselectFetch;)V
        end local 11 // org.hibernate.engine.spi.SubselectFetch subselectFetch
        21: .line 1024
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 10 /* i */
            aload 9 /* rowKeys */
            arraylength
            if_icmplt 10
        end local 10 // int i
        end local 9 // org.hibernate.engine.spi.EntityKey[] rowKeys
        23: .line 1021
      StackMap locals:
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 8 // java.util.Iterator iter
        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
        24: .line 1046
      StackMap locals: org.hibernate.loader.Loader java.util.List org.hibernate.engine.spi.QueryParameters org.hibernate.engine.spi.SessionImplementor
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SessionImplementor 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   25     0                  this  Lorg/hibernate/loader/Loader;
            0   25     1                  keys  Ljava/util/List;
            0   25     2       queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   25     3               session  Lorg/hibernate/engine/spi/SessionImplementor;
            2   24     4               keySets  [Ljava/util/Set;
            3   24     5  namedParameterLocMap  Ljava/util/Map;
            4   24     6             loadables  [Lorg/hibernate/persister/entity/Loadable;
            5   24     7               aliases  [Ljava/lang/String;
            6   24     8                  iter  Ljava/util/Iterator;
            8   23     9               rowKeys  [Lorg/hibernate/engine/spi/EntityKey;
            9   23    10                     i  I
           18   21    11        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 1049
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getNamedParameters:()Ljava/util/Map;
            ifnull 10
         1: .line 1050
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* namedParameterLocMap */
        start local 2 // java.util.Map namedParameterLocMap
         2: .line 1051
            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 1052
            aload 2 /* namedParameterLocMap */
         5: .line 1053
            aload 3 /* name */
         6: .line 1054
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual org.hibernate.loader.Loader.getNamedParameterLocs:(Ljava/lang/String;)[I
         7: .line 1052
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String name
         8: .line 1051
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 1057
            aload 2 /* namedParameterLocMap */
            areturn
        end local 2 // java.util.Map namedParameterLocMap
        10: .line 1060
      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.SessionImplementor, boolean);
    descriptor: (Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor session
        start local 4 // boolean readOnly
         0: .line 1069
            aload 0 /* this */
         1: .line 1070
            aload 1 /* hydratedObjects */
         2: .line 1071
            aload 2 /* resultSetId */
         3: .line 1072
            aload 3 /* session */
         4: .line 1073
            iload 4 /* readOnly */
         5: .line 1074
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
         6: .line 1069
            invokevirtual org.hibernate.loader.Loader.initializeEntitiesAndCollections:(Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;ZLjava/util/List;)V
         7: .line 1076
            return
        end local 4 // boolean readOnly
        end local 3 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor, boolean, java.util.List<org.hibernate.loader.spi.AfterLoadAction>);
    descriptor: (Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;ZLjava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, 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.SessionImplementor session
        start local 4 // boolean readOnly
        start local 5 // java.util.List afterLoadActions
         0: .line 1085
            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 1086
            aload 6 /* collectionPersisters */
            ifnull 8
         2: .line 1087
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         3: goto 7
         4: .line 1088
      StackMap locals: org.hibernate.persister.collection.CollectionPersister[] int
      StackMap stack:
            aload 6 /* collectionPersisters */
            iload 7 /* i */
            aaload
            invokeinterface org.hibernate.persister.collection.CollectionPersister.isArray:()Z
            ifeq 6
         5: .line 1094
            aload 0 /* this */
            aload 2 /* resultSetId */
            aload 3 /* session */
            aload 6 /* collectionPersisters */
            iload 7 /* i */
            aaload
            invokevirtual org.hibernate.loader.Loader.endCollectionLoad:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/persister/collection/CollectionPersister;)V
         6: .line 1087
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 7 /* i */
            aload 6 /* collectionPersisters */
            arraylength
            if_icmplt 4
        end local 7 // int i
         8: .line 1102
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isEventSource:()Z
            ifeq 12
         9: .line 1103
            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 1104
            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 1105
            goto 14
        end local 8 // org.hibernate.event.spi.PostLoadEvent post
        end local 7 // org.hibernate.event.spi.PreLoadEvent pre
        12: .line 1107
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* pre */
        start local 7 // org.hibernate.event.spi.PreLoadEvent pre
        13: .line 1108
            aconst_null
            astore 8 /* post */
        start local 8 // org.hibernate.event.spi.PostLoadEvent post
        14: .line 1111
      StackMap locals: org.hibernate.event.spi.PreLoadEvent org.hibernate.event.spi.PostLoadEvent
      StackMap stack:
            aload 1 /* hydratedObjects */
            ifnull 22
        15: .line 1112
            aload 1 /* hydratedObjects */
            invokeinterface java.util.List.size:()I
            istore 9 /* hydratedObjectsSize */
        start local 9 // int hydratedObjectsSize
        16: .line 1113
            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 1114
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        18: goto 21
        19: .line 1115
      StackMap locals: int int
      StackMap stack:
            aload 1 /* hydratedObjects */
            iload 10 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            iload 4 /* readOnly */
            aload 3 /* session */
            aload 7 /* pre */
            invokestatic org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity:(Ljava/lang/Object;ZLorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/event/spi/PreLoadEvent;)V
        20: .line 1114
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 10 /* i */
            iload 9 /* hydratedObjectsSize */
            if_icmplt 19
        end local 10 // int i
        end local 9 // int hydratedObjectsSize
        22: .line 1119
      StackMap locals:
      StackMap stack:
            aload 6 /* collectionPersisters */
            ifnull 29
        23: .line 1120
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        24: goto 28
        25: .line 1121
      StackMap locals: int
      StackMap stack:
            aload 6 /* collectionPersisters */
            iload 9 /* i */
            aaload
            invokeinterface org.hibernate.persister.collection.CollectionPersister.isArray:()Z
            ifne 27
        26: .line 1126
            aload 0 /* this */
            aload 2 /* resultSetId */
            aload 3 /* session */
            aload 6 /* collectionPersisters */
            iload 9 /* i */
            aaload
            invokevirtual org.hibernate.loader.Loader.endCollectionLoad:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/persister/collection/CollectionPersister;)V
        27: .line 1120
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 9 /* i */
            aload 6 /* collectionPersisters */
            arraylength
            if_icmplt 25
        end local 9 // int i
        29: .line 1135
      StackMap locals:
      StackMap stack:
            aload 1 /* hydratedObjects */
            ifnull 42
        30: .line 1136
            aload 1 /* hydratedObjects */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 41
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SessionImplementor 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:
        31: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 9 /* hydratedObject */
        start local 9 // java.lang.Object hydratedObject
        32: .line 1137
            aload 9 /* hydratedObject */
            aload 3 /* session */
            aload 8 /* post */
            invokestatic org.hibernate.engine.internal.TwoPhaseLoad.postLoad:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/event/spi/PostLoadEvent;)V
        33: .line 1138
            aload 5 /* afterLoadActions */
            ifnull 41
        34: .line 1139
            aload 5 /* afterLoadActions */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 40
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SessionImplementor 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:
        35: 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
        36: .line 1140
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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
        37: .line 1141
            aload 13 /* entityEntry */
            ifnonnull 39
        38: .line 1143
            new org.hibernate.HibernateException
            dup
            ldc "Could not locate EntityEntry immediately after two-phase load"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 1145
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SessionImplementor 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 */
            invokevirtual 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/SessionImplementor;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
        40: .line 1139
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SessionImplementor 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 35
        end local 9 // java.lang.Object hydratedObject
        41: .line 1136
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SessionImplementor 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 31
        42: .line 1150
      StackMap locals: org.hibernate.loader.Loader java.util.List java.lang.Object org.hibernate.engine.spi.SessionImplementor 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.SessionImplementor 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   43     0                  this  Lorg/hibernate/loader/Loader;
            0   43     1       hydratedObjects  Ljava/util/List;
            0   43     2           resultSetId  Ljava/lang/Object;
            0   43     3               session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   43     4              readOnly  Z
            0   43     5      afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            1   43     6  collectionPersisters  [Lorg/hibernate/persister/collection/CollectionPersister;
            3    8     7                     i  I
           10   12     7                   pre  Lorg/hibernate/event/spi/PreLoadEvent;
           13   43     7                   pre  Lorg/hibernate/event/spi/PreLoadEvent;
           11   12     8                  post  Lorg/hibernate/event/spi/PostLoadEvent;
           14   43     8                  post  Lorg/hibernate/event/spi/PostLoadEvent;
           16   22     9   hydratedObjectsSize  I
           18   22    10                     i  I
           24   29     9                     i  I
           32   41     9        hydratedObject  Ljava/lang/Object;
           36   40    11       afterLoadAction  Lorg/hibernate/loader/spi/AfterLoadAction;
           37   40    13           entityEntry  Lorg/hibernate/engine/spi/EntityEntry;
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: (Ljava/util/List;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor, org.hibernate.persister.collection.CollectionPersister);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor session
        start local 3 // org.hibernate.persister.collection.CollectionPersister collectionPersister
         0: .line 1157
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
         1: .line 1158
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getLoadContexts:()Lorg/hibernate/engine/loading/internal/LoadContexts;
         2: .line 1159
            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 1160
            aload 3 /* collectionPersister */
            invokevirtual org.hibernate.engine.loading.internal.CollectionLoadContext.endLoadingCollections:(Lorg/hibernate/persister/collection/CollectionPersister;)V
         4: .line 1161
            return
        end local 3 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        end local 2 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
            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 1171
            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 1175
            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 1183
            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 1191
            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.SessionImplementor);
    descriptor: ([Ljava/lang/Object;Lorg/hibernate/transform/ResultTransformer;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1204
            aload 1 /* row */
            areturn
        end local 4 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
    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 1208
            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.SessionImplementor);
    descriptor: ([Ljava/lang/Object;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)[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.SessionImplementor session
         0: .line 1215
            aload 1 /* row */
            areturn
        end local 3 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
    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.SessionImplementor);
    descriptor: ([Lorg/hibernate/engine/spi/EntityKey;[Lorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1228
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getOwners:()[I
            astore 4 /* owners */
        start local 4 // int[] owners
         1: .line 1229
            aload 4 /* owners */
            ifnull 22
         2: .line 1231
            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 1232
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 21
         5: .line 1234
      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 1235
            iload 7 /* owner */
            iconst_m1
            if_icmple 20
         7: .line 1236
            aload 1 /* keys */
            iload 7 /* owner */
            aaload
            astore 8 /* ownerKey */
        start local 8 // org.hibernate.engine.spi.EntityKey ownerKey
         8: .line 1237
            aload 1 /* keys */
            iload 6 /* i */
            aaload
            ifnonnull 20
            aload 8 /* ownerKey */
            ifnull 20
         9: .line 1239
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            astore 9 /* persistenceContext */
        start local 9 // org.hibernate.engine.spi.PersistenceContext persistenceContext
        10: .line 1259
            aload 5 /* ownerAssociationTypes */
            ifnull 14
        11: .line 1260
            aload 5 /* ownerAssociationTypes */
            iload 6 /* i */
            aaload
            ifnull 14
        12: .line 1261
            aload 5 /* ownerAssociationTypes */
            iload 6 /* i */
            aaload
            invokevirtual org.hibernate.type.EntityType.isOneToOne:()Z
            ifeq 14
        13: .line 1259
            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 1262
            iload 10 /* isOneToOneAssociation */
            ifeq 20
        17: .line 1263
            aload 9 /* persistenceContext */
            aload 8 /* ownerKey */
        18: .line 1264
            aload 5 /* ownerAssociationTypes */
            iload 6 /* i */
            aaload
            invokevirtual org.hibernate.type.EntityType.getPropertyName:()Ljava/lang/String;
        19: .line 1263
            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
        20: .line 1232
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            aload 1 /* keys */
            arraylength
            if_icmplt 5
        end local 6 // int i
        end local 5 // org.hibernate.type.EntityType[] ownerAssociationTypes
        22: .line 1280
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int[] owners
        end local 3 // org.hibernate.engine.spi.SessionImplementor 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   23     0                   this  Lorg/hibernate/loader/Loader;
            0   23     1                   keys  [Lorg/hibernate/engine/spi/EntityKey;
            0   23     2             persisters  [Lorg/hibernate/persister/entity/Loadable;
            0   23     3                session  Lorg/hibernate/engine/spi/SessionImplementor;
            1   23     4                 owners  [I
            3   22     5  ownerAssociationTypes  [Lorg/hibernate/type/EntityType;
            4   22     6                      i  I
            6   20     7                  owner  I
            8   20     8               ownerKey  Lorg/hibernate/engine/spi/EntityKey;
           10   20     9     persistenceContext  Lorg/hibernate/engine/spi/PersistenceContext;
           16   20    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.SessionImplementor);
    descriptor: (Ljava/lang/Object;Ljava/io/Serializable;Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/loader/CollectionAliases;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1294
            aload 6 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            astore 7 /* persistenceContext */
        start local 7 // org.hibernate.engine.spi.PersistenceContext persistenceContext
         1: .line 1296
            aload 3 /* persister */
         2: .line 1297
            aload 5 /* rs */
         3: .line 1298
            aload 4 /* descriptor */
            invokeinterface org.hibernate.loader.CollectionAliases.getSuffixedKeyAliases:()[Ljava/lang/String;
         4: .line 1299
            aload 6 /* session */
         5: .line 1296
            invokeinterface org.hibernate.persister.collection.CollectionPersister.readKey:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 8 /* collectionRowKey */
        start local 8 // java.io.Serializable collectionRowKey
         6: .line 1302
            aload 8 /* collectionRowKey */
            ifnull 21
         7: .line 1305
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 11
         8: .line 1306
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Found row of collection: %s"
         9: .line 1307
            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;
        10: .line 1306
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 1310
      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
        12: .line 1311
            aload 9 /* owner */
            ifnonnull 14
        13: .line 1312
            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 */
        14: .line 1322
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getLoadContexts:()Lorg/hibernate/engine/loading/internal/LoadContexts;
        15: .line 1323
            aload 5 /* rs */
            invokevirtual org.hibernate.engine.loading.internal.LoadContexts.getCollectionLoadContext:(Ljava/sql/ResultSet;)Lorg/hibernate/engine/loading/internal/CollectionLoadContext;
        16: .line 1324
            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;
        17: .line 1322
            astore 10 /* rowCollection */
        start local 10 // org.hibernate.collection.spi.PersistentCollection rowCollection
        18: .line 1326
            aload 10 /* rowCollection */
            ifnull 29
        19: .line 1327
            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
        20: .line 1330
            goto 29
        21: .line 1331
      StackMap locals:
      StackMap stack:
            aload 2 /* optionalKey */
            ifnull 29
        22: .line 1336
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 26
        23: .line 1337
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Result set contains (possibly empty) collection: %s"
        24: .line 1338
            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;
        25: .line 1337
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        26: .line 1341
      StackMap locals:
      StackMap stack:
            aload 7 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getLoadContexts:()Lorg/hibernate/engine/loading/internal/LoadContexts;
        27: .line 1342
            aload 5 /* rs */
            invokevirtual org.hibernate.engine.loading.internal.LoadContexts.getCollectionLoadContext:(Ljava/sql/ResultSet;)Lorg/hibernate/engine/loading/internal/CollectionLoadContext;
        28: .line 1343
            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
        29: .line 1349
      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.SessionImplementor 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   30     0                this  Lorg/hibernate/loader/Loader;
            0   30     1       optionalOwner  Ljava/lang/Object;
            0   30     2         optionalKey  Ljava/io/Serializable;
            0   30     3           persister  Lorg/hibernate/persister/collection/CollectionPersister;
            0   30     4          descriptor  Lorg/hibernate/loader/CollectionAliases;
            0   30     5                  rs  Ljava/sql/ResultSet;
            0   30     6             session  Lorg/hibernate/engine/spi/SessionImplementor;
            1   30     7  persistenceContext  Lorg/hibernate/engine/spi/PersistenceContext;
            6   30     8    collectionRowKey  Ljava/io/Serializable;
           12   20     9               owner  Ljava/lang/Object;
           18   20    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.SessionImplementor);
    descriptor: ([Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, 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.SessionImplementor session
         0: .line 1361
            aload 1 /* keys */
            ifnull 19
         1: .line 1362
            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 1366
            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 1367
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         4: goto 18
         5: .line 1368
      StackMap locals: int org.hibernate.persister.collection.CollectionPersister[] int
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 16
         7: .line 1371
      StackMap locals: int
      StackMap stack:
            iload 4 /* debugEnabled */
            ifeq 11
         8: .line 1372
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Result set contains (possibly empty) collection: %s"
         9: .line 1373
            aload 5 /* collectionPersisters */
            iload 6 /* j */
            aaload
            aload 1 /* keys */
            iload 7 /* i */
            aaload
            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;
        10: .line 1372
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 1376
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
        12: .line 1377
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getLoadContexts:()Lorg/hibernate/engine/loading/internal/LoadContexts;
        13: .line 1378
            aload 2 /* resultSetId */
            checkcast java.sql.ResultSet
            invokevirtual org.hibernate.engine.loading.internal.LoadContexts.getCollectionLoadContext:(Ljava/sql/ResultSet;)Lorg/hibernate/engine/loading/internal/CollectionLoadContext;
        14: .line 1379
            aload 5 /* collectionPersisters */
            iload 6 /* j */
            aaload
            aload 1 /* keys */
            iload 7 /* i */
            aaload
            invokevirtual org.hibernate.engine.loading.internal.CollectionLoadContext.getLoadingCollection:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;)Lorg/hibernate/collection/spi/PersistentCollection;
            pop
        15: .line 1368
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 7 /* i */
            aload 1 /* keys */
            arraylength
            if_icmplt 7
        end local 7 // int i
        17: .line 1367
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* j */
            aload 5 /* collectionPersisters */
            arraylength
            if_icmplt 5
        end local 6 // int j
        end local 5 // org.hibernate.persister.collection.CollectionPersister[] collectionPersisters
        end local 4 // boolean debugEnabled
        19: .line 1386
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SessionImplementor 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   20     0                  this  Lorg/hibernate/loader/Loader;
            0   20     1                  keys  [Ljava/io/Serializable;
            0   20     2           resultSetId  Ljava/lang/Object;
            0   20     3               session  Lorg/hibernate/engine/spi/SessionImplementor;
            2   19     4          debugEnabled  Z
            3   19     5  collectionPersisters  [Lorg/hibernate/persister/collection/CollectionPersister;
            4   19     6                     j  I
            6   17     7                     i  I
    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.SessionImplementor);
    descriptor: (ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1407
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.isSingleRowLoader:()Z
            ifeq 3
            aload 3 /* id */
            ifnull 3
         1: .line 1408
            aload 3 /* id */
            astore 6 /* resultId */
        start local 6 // java.io.Serializable resultId
         2: .line 1409
            goto 17
        end local 6 // java.io.Serializable resultId
         3: .line 1412
      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 1413
            aload 7 /* idType */
         5: .line 1414
            aload 4 /* rs */
         6: .line 1415
            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 1416
            aload 5 /* session */
         8: .line 1417
            aconst_null
         9: .line 1413
            invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 6 /* resultId */
        start local 6 // java.io.Serializable resultId
        10: .line 1420
            aload 3 /* id */
            ifnull 14
        11: .line 1421
            aload 6 /* resultId */
            ifnull 14
        12: .line 1422
            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 1420
            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 1424
            iload 8 /* idIsResultId */
            ifeq 17
            aload 3 /* id */
            astore 6 /* resultId */
        end local 8 // boolean idIsResultId
        end local 7 // org.hibernate.type.Type idType
        17: .line 1427
      StackMap locals:
      StackMap stack:
            aload 6 /* resultId */
            ifnonnull 18
            aconst_null
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 5 /* session */
            aload 6 /* resultId */
            aload 2 /* persister */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
      StackMap locals:
      StackMap stack: org.hibernate.engine.spi.EntityKey
        19: areturn
        end local 6 // java.io.Serializable resultId
        end local 5 // org.hibernate.engine.spi.SessionImplementor 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   20     0          this  Lorg/hibernate/loader/Loader;
            0   20     1             i  I
            0   20     2     persister  Lorg/hibernate/persister/entity/Loadable;
            0   20     3            id  Ljava/io/Serializable;
            0   20     4            rs  Ljava/sql/ResultSet;
            0   20     5       session  Lorg/hibernate/engine/spi/SessionImplementor;
            2    3     6      resultId  Ljava/io/Serializable;
           10   20     6      resultId  Ljava/io/Serializable;
            4   17     7        idType  Lorg/hibernate/type/Type;
           16   17     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.SessionImplementor);
    descriptor: (ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Ljava/lang/Object;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1444
            aload 6 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 4 /* entity */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            invokevirtual org.hibernate.engine.spi.EntityEntry.getVersion:()Ljava/lang/Object;
            astore 7 /* version */
        start local 7 // java.lang.Object version
         1: .line 1446
            aload 7 /* version */
            ifnull 14
         2: .line 1447
            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 1448
            aload 8 /* versionType */
         4: .line 1449
            aload 5 /* rs */
         5: .line 1450
            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 1451
            aload 6 /* session */
         7: .line 1452
            aconst_null
         8: .line 1448
            invokeinterface org.hibernate.type.VersionType.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* currentVersion */
        start local 9 // java.lang.Object currentVersion
         9: .line 1454
            aload 8 /* versionType */
            aload 7 /* version */
            aload 9 /* currentVersion */
            invokeinterface org.hibernate.type.VersionType.isEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 14
        10: .line 1455
            aload 6 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/Statistics;
            invokeinterface org.hibernate.stat.Statistics.isStatisticsEnabled:()Z
            ifeq 13
        11: .line 1456
            aload 6 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatisticsImplementor:()Lorg/hibernate/stat/spi/StatisticsImplementor;
        12: .line 1457
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.optimisticFailure:(Ljava/lang/String;)V
        13: .line 1459
      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
        14: .line 1463
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.lang.Object version
        end local 6 // org.hibernate.engine.spi.SessionImplementor 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   15     0            this  Lorg/hibernate/loader/Loader;
            0   15     1               i  I
            0   15     2       persister  Lorg/hibernate/persister/entity/Loadable;
            0   15     3              id  Ljava/io/Serializable;
            0   15     4          entity  Ljava/lang/Object;
            0   15     5              rs  Ljava/sql/ResultSet;
            0   15     6         session  Lorg/hibernate/engine/spi/SessionImplementor;
            1   15     7         version  Ljava/lang/Object;
            3   14     8     versionType  Lorg/hibernate/type/VersionType;
            9   14     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.SessionImplementor);
    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/SessionImplementor;)[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.SessionImplementor session
         0: .line 1483
            aload 2 /* persisters */
            arraylength
            istore 9 /* cols */
        start local 9 // int cols
         1: .line 1484
            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 1486
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 3
            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
         3: .line 1488
      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
         4: .line 1490
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         5: goto 35
         6: .line 1492
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aconst_null
            astore 13 /* object */
        start local 13 // java.lang.Object object
         7: .line 1493
            aload 3 /* keys */
            iload 12 /* i */
            aaload
            astore 14 /* key */
        start local 14 // org.hibernate.engine.spi.EntityKey key
         8: .line 1495
            aload 3 /* keys */
            iload 12 /* i */
            aaload
            ifnull 33
         9: .line 1501
            aload 8 /* session */
            aload 14 /* key */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getEntityUsingInterceptor:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            astore 13 /* object */
        10: .line 1502
            aload 13 /* object */
            ifnull 21
        11: .line 1504
            aload 0 /* this */
        12: .line 1505
            aload 1 /* rs */
        13: .line 1506
            iload 12 /* i */
        14: .line 1507
            aload 2 /* persisters */
            iload 12 /* i */
            aaload
        15: .line 1508
            aload 14 /* key */
        16: .line 1509
            aload 13 /* object */
        17: .line 1510
            aload 6 /* lockModes */
            iload 12 /* i */
            aaload
        18: .line 1511
            aload 8 /* session */
        19: .line 1504
            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/SessionImplementor;)V
        20: .line 1513
            goto 33
        21: .line 1515
      StackMap locals: java.lang.Object org.hibernate.engine.spi.EntityKey
      StackMap stack:
            aload 0 /* this */
        22: .line 1516
            aload 1 /* rs */
        23: .line 1517
            iload 12 /* i */
        24: .line 1518
            aload 2 /* persisters */
            iload 12 /* i */
            aaload
        25: .line 1519
            aload 10 /* descriptors */
            iload 12 /* i */
            aaload
            invokeinterface org.hibernate.loader.EntityAliases.getRowIdAlias:()Ljava/lang/String;
        26: .line 1520
            aload 14 /* key */
        27: .line 1521
            aload 6 /* lockModes */
            iload 12 /* i */
            aaload
        28: .line 1522
            aload 5 /* optionalObjectKey */
        29: .line 1523
            aload 4 /* optionalObject */
        30: .line 1524
            aload 7 /* hydratedObjects */
        31: .line 1525
            aload 8 /* session */
        32: .line 1515
            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/SessionImplementor;)Ljava/lang/Object;
            astore 13 /* object */
        33: .line 1531
      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
        34: .line 1490
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 12 /* i */
            iload 9 /* cols */
            if_icmplt 6
        end local 12 // int i
        36: .line 1535
            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.SessionImplementor 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   37     0               this  Lorg/hibernate/loader/Loader;
            0   37     1                 rs  Ljava/sql/ResultSet;
            0   37     2         persisters  [Lorg/hibernate/persister/entity/Loadable;
            0   37     3               keys  [Lorg/hibernate/engine/spi/EntityKey;
            0   37     4     optionalObject  Ljava/lang/Object;
            0   37     5  optionalObjectKey  Lorg/hibernate/engine/spi/EntityKey;
            0   37     6          lockModes  [Lorg/hibernate/LockMode;
            0   37     7    hydratedObjects  Ljava/util/List;
            0   37     8            session  Lorg/hibernate/engine/spi/SessionImplementor;
            1   37     9               cols  I
            2   37    10        descriptors  [Lorg/hibernate/loader/EntityAliases;
            4   37    11         rowResults  [Ljava/lang/Object;
            5   36    12                  i  I
            7   34    13             object  Ljava/lang/Object;
            8   34    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.SessionImplementor);
    descriptor: (Ljava/sql/ResultSet;ILorg/hibernate/persister/entity/Loadable;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1550
            aload 3 /* persister */
            aload 5 /* object */
            invokeinterface org.hibernate.persister.entity.Loadable.isInstance:(Ljava/lang/Object;)Z
            ifne 6
         1: .line 1551
            new org.hibernate.WrongClassException
            dup
         2: .line 1552
            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 1553
            aload 4 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
         4: .line 1554
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityName:()Ljava/lang/String;
         5: .line 1551
            invokespecial org.hibernate.WrongClassException.<init>:(Ljava/lang/String;Ljava/io/Serializable;Ljava/lang/String;)V
            athrow
         6: .line 1558
      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 1559
            aload 7 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 1560
            aload 8 /* entry */
            invokevirtual 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 1562
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.isVersioned:()Z
            ifeq 11
        10: .line 1563
            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/SessionImplementor;)V
        11: .line 1566
      StackMap locals: org.hibernate.engine.spi.EntityEntry
      StackMap stack:
            aload 8 /* entry */
            aload 6 /* requestedLockMode */
            invokevirtual org.hibernate.engine.spi.EntityEntry.setLockMode:(Lorg/hibernate/LockMode;)V
        end local 8 // org.hibernate.engine.spi.EntityEntry entry
        12: .line 1569
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor);
    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/SessionImplementor;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=14, 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.SessionImplementor session
         0: .line 1587
            aload 0 /* this */
         1: .line 1588
            aload 1 /* rs */
         2: .line 1589
            iload 2 /* i */
         3: .line 1590
            aload 3 /* persister */
         4: .line 1591
            aload 5 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
         5: .line 1592
            aload 10 /* session */
         6: .line 1587
            invokevirtual org.hibernate.loader.Loader.getInstanceClass:(Ljava/sql/ResultSet;ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/String;
            astore 11 /* instanceClass */
        start local 11 // java.lang.String instanceClass
         7: .line 1596
            aload 10 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 1598
            aload 10 /* session */
         9: .line 1599
            aload 10 /* session */
        10: .line 1600
            aload 5 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
        11: .line 1601
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityMetamodel:()Lorg/hibernate/tuple/entity/EntityMetamodel;
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.getEntityType:()Lorg/hibernate/type/EntityType;
        12: .line 1602
            aload 5 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getEntityName:()Ljava/lang/String;
        13: .line 1599
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateCacheKey:(Ljava/io/Serializable;Lorg/hibernate/type/Type;Ljava/lang/String;)Lorg/hibernate/cache/spi/CacheKey;
        14: .line 1604
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getCacheAccessStrategy:()Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;
        15: .line 1597
            invokestatic org.hibernate.engine.internal.CacheHelper.fromSharedCache:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/cache/spi/CacheKey;Lorg/hibernate/cache/spi/access/RegionAccessStrategy;)Ljava/io/Serializable;
            astore 12 /* cachedEntry */
        start local 12 // java.lang.Object cachedEntry
        16: .line 1606
            aload 12 /* cachedEntry */
            ifnull 19
        17: .line 1607
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getCacheEntryStructure:()Lorg/hibernate/cache/spi/entry/CacheEntryStructure;
            aload 12 /* 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 13 /* entry */
        start local 13 // org.hibernate.cache.spi.entry.CacheEntry entry
        18: .line 1608
            aload 13 /* entry */
            checkcast org.hibernate.cache.spi.entry.ReferenceCacheEntryImpl
            invokevirtual org.hibernate.cache.spi.entry.ReferenceCacheEntryImpl.getReference:()Ljava/lang/Object;
            areturn
        end local 13 // org.hibernate.cache.spi.entry.CacheEntry entry
        end local 12 // java.lang.Object cachedEntry
        19: .line 1613
      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 1615
            aload 8 /* optionalObject */
            astore 12 /* object */
        start local 12 // java.lang.Object object
        21: .line 1616
            goto 23
        end local 12 // java.lang.Object object
        22: .line 1619
      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.SessionImplementor.instantiate:(Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/Object;
            astore 12 /* object */
        start local 12 // java.lang.Object object
        23: .line 1627
      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 1628
            aload 0 /* this */
        27: .line 1629
            aload 1 /* rs */
        28: .line 1630
            iload 2 /* i */
        29: .line 1631
            aload 12 /* object */
        30: .line 1632
            aload 11 /* instanceClass */
        31: .line 1633
            aload 5 /* key */
        32: .line 1634
            aload 4 /* rowIdAlias */
        33: .line 1635
            aload 13 /* acquiredLockMode */
        34: .line 1636
            aload 3 /* persister */
        35: .line 1637
            aload 10 /* session */
        36: .line 1628
            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/SessionImplementor;)V
        37: .line 1641
            aload 9 /* hydratedObjects */
            aload 12 /* object */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        38: .line 1643
            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.SessionImplementor 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/SessionImplementor;
            7   39    11      instanceClass  Ljava/lang/String;
           16   19    12        cachedEntry  Ljava/lang/Object;
           18   19    13              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 1647
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getEntityEagerPropertyFetches:()[Z
            astore 2 /* array */
        start local 2 // boolean[] array
         1: .line 1648
            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.SessionImplementor);
    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/SessionImplementor;)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.SessionImplementor session
         0: .line 1669
            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 1672
            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 1674
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            ifeq 4
         3: .line 1675
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Initializing object from ResultSet: {0}"
            aload 11 /* persister */
            aload 10 /* id */
            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/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 1677
      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 /* eagerPropertyFetch */
        start local 12 // boolean eagerPropertyFetch
         5: .line 1683
            aload 5 /* key */
         6: .line 1684
            aload 3 /* object */
         7: .line 1685
            aload 11 /* persister */
         8: .line 1686
            aload 7 /* lockMode */
         9: .line 1687
            iload 12 /* eagerPropertyFetch */
            ifeq 10
            iconst_0
            goto 11
      StackMap locals: org.hibernate.loader.Loader 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.SessionImplementor java.io.Serializable org.hibernate.persister.entity.Loadable int
      StackMap stack: org.hibernate.engine.spi.EntityKey java.lang.Object org.hibernate.persister.entity.Loadable org.hibernate.LockMode
        10: iconst_1
        11: .line 1688
      StackMap locals: org.hibernate.loader.Loader 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.SessionImplementor java.io.Serializable org.hibernate.persister.entity.Loadable int
      StackMap stack: org.hibernate.engine.spi.EntityKey java.lang.Object org.hibernate.persister.entity.Loadable org.hibernate.LockMode int
            aload 9 /* session */
        12: .line 1682
            invokestatic org.hibernate.engine.internal.TwoPhaseLoad.addUninitializedEntity:(Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/LockMode;ZLorg/hibernate/engine/spi/SessionImplementor;)V
        13: .line 1692
            aload 11 /* persister */
            aload 8 /* rootPersister */
            if_acmpne 15
        14: .line 1693
            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 16
        15: .line 1694
      StackMap locals:
      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;
        16: .line 1692
      StackMap locals:
      StackMap stack: java.lang.String[][]
            astore 13 /* cols */
        start local 13 // java.lang.String[][] cols
        17: .line 1696
            aload 11 /* persister */
        18: .line 1697
            aload 1 /* rs */
        19: .line 1698
            aload 10 /* id */
        20: .line 1699
            aload 3 /* object */
        21: .line 1700
            aload 8 /* rootPersister */
        22: .line 1701
            aload 13 /* cols */
        23: .line 1702
            iload 12 /* eagerPropertyFetch */
        24: .line 1703
            aload 9 /* session */
        25: .line 1696
            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/SessionImplementor;)[Ljava/lang/Object;
            astore 14 /* values */
        start local 14 // java.lang.Object[] values
        26: .line 1706
            aload 11 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.hasRowId:()Z
            ifeq 27
            aload 1 /* rs */
            aload 6 /* rowIdAlias */
            invokeinterface java.sql.ResultSet.getObject:(Ljava/lang/String;)Ljava/lang/Object;
            goto 28
      StackMap locals: java.lang.String[][] java.lang.Object[]
      StackMap stack:
        27: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
        28: astore 15 /* rowId */
        start local 15 // java.lang.Object rowId
        29: .line 1708
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getOwnerAssociationTypes:()[Lorg/hibernate/type/EntityType;
            astore 16 /* ownerAssociationTypes */
        start local 16 // org.hibernate.type.AssociationType[] ownerAssociationTypes
        30: .line 1709
            aload 16 /* ownerAssociationTypes */
            ifnull 44
            aload 16 /* ownerAssociationTypes */
            iload 2 /* i */
            aaload
            ifnull 44
        31: .line 1710
            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
        32: .line 1711
            aload 17 /* ukName */
            ifnull 44
        33: .line 1712
            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
        34: .line 1713
            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
        35: .line 1720
            new org.hibernate.engine.spi.EntityUniqueKey
            dup
        36: .line 1721
            aload 8 /* rootPersister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityName:()Ljava/lang/String;
        37: .line 1722
            aload 17 /* ukName */
        38: .line 1723
            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/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
        39: .line 1724
            aload 19 /* type */
        40: .line 1725
            aload 11 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityMode:()Lorg/hibernate/EntityMode;
        41: .line 1726
            aload 9 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
        42: .line 1720
            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
        43: .line 1728
            aload 9 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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
        44: .line 1733
      StackMap locals: java.lang.Object org.hibernate.type.AssociationType[]
      StackMap stack:
            aload 11 /* persister */
        45: .line 1734
            aload 10 /* id */
        46: .line 1735
            aload 14 /* values */
        47: .line 1736
            aload 15 /* rowId */
        48: .line 1737
            aload 3 /* object */
        49: .line 1738
            aload 7 /* lockMode */
        50: .line 1739
            iload 12 /* eagerPropertyFetch */
            ifeq 51
            iconst_0
            goto 52
      StackMap locals: org.hibernate.loader.Loader 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.SessionImplementor java.io.Serializable org.hibernate.persister.entity.Loadable int java.lang.String[][] java.lang.Object[] java.lang.Object org.hibernate.type.AssociationType[]
      StackMap stack: org.hibernate.persister.entity.Loadable java.io.Serializable java.lang.Object[] java.lang.Object java.lang.Object org.hibernate.LockMode
        51: iconst_1
        52: .line 1740
      StackMap locals: org.hibernate.loader.Loader 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.SessionImplementor java.io.Serializable org.hibernate.persister.entity.Loadable int java.lang.String[][] java.lang.Object[] java.lang.Object org.hibernate.type.AssociationType[]
      StackMap stack: org.hibernate.persister.entity.Loadable java.io.Serializable java.lang.Object[] java.lang.Object java.lang.Object org.hibernate.LockMode int
            aload 9 /* session */
        53: .line 1732
            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;ZLorg/hibernate/engine/spi/SessionImplementor;)V
        54: .line 1743
            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 eagerPropertyFetch
        end local 11 // org.hibernate.persister.entity.Loadable persister
        end local 10 // java.io.Serializable id
        end local 9 // org.hibernate.engine.spi.SessionImplementor 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   55     0                   this  Lorg/hibernate/loader/Loader;
            0   55     1                     rs  Ljava/sql/ResultSet;
            0   55     2                      i  I
            0   55     3                 object  Ljava/lang/Object;
            0   55     4     instanceEntityName  Ljava/lang/String;
            0   55     5                    key  Lorg/hibernate/engine/spi/EntityKey;
            0   55     6             rowIdAlias  Ljava/lang/String;
            0   55     7               lockMode  Lorg/hibernate/LockMode;
            0   55     8          rootPersister  Lorg/hibernate/persister/entity/Loadable;
            0   55     9                session  Lorg/hibernate/engine/spi/SessionImplementor;
            1   55    10                     id  Ljava/io/Serializable;
            2   55    11              persister  Lorg/hibernate/persister/entity/Loadable;
            5   55    12     eagerPropertyFetch  Z
           17   55    13                   cols  [[Ljava/lang/String;
           26   55    14                 values  [Ljava/lang/Object;
           29   55    15                  rowId  Ljava/lang/Object;
           30   55    16  ownerAssociationTypes  [Lorg/hibernate/type/AssociationType;
           32   44    17                 ukName  Ljava/lang/String;
           34   44    18                  index  I
           35   44    19                   type  Lorg/hibernate/type/Type;
           43   44    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.SessionImplementor);
    descriptor: (Ljava/sql/ResultSet;ILorg/hibernate/persister/entity/Loadable;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1756
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.hasSubclasses:()Z
            ifeq 15
         1: .line 1759
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getDiscriminatorType:()Lorg/hibernate/type/Type;
         2: .line 1760
            aload 1 /* rs */
         3: .line 1761
            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 1762
            aload 5 /* session */
         5: .line 1763
            aconst_null
         6: .line 1759
            invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* discriminatorValue */
        start local 6 // java.lang.Object discriminatorValue
         7: .line 1766
            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 1768
            aload 7 /* result */
            ifnonnull 14
         9: .line 1770
            new org.hibernate.WrongClassException
            dup
        10: .line 1771
            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 1772
            aload 4 /* id */
        12: .line 1773
            aload 3 /* persister */
            invokeinterface org.hibernate.persister.entity.Loadable.getEntityName:()Ljava/lang/String;
        13: .line 1770
            invokespecial org.hibernate.WrongClassException.<init>:(Ljava/lang/String;Ljava/io/Serializable;Ljava/lang/String;)V
            athrow
        14: .line 1777
      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 1781
      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.SessionImplementor 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/SessionImplementor;
            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 1791
            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 1792
            iload 3 /* firstRow */
            ifeq 9
         2: .line 1793
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isScrollableResultSetsEnabled:()Z
            ifeq 5
         3: .line 1795
            aload 1 /* rs */
            iload 3 /* firstRow */
            invokeinterface java.sql.ResultSet.absolute:(I)Z
            pop
         4: .line 1796
            goto 9
         5: .line 1799
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* m */
        start local 4 // int m
         6: goto 8
      StackMap locals: int
      StackMap stack:
         7: aload 1 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
            iinc 4 /* m */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* m */
            iload 3 /* firstRow */
            if_icmplt 7
        end local 4 // int m
         9: .line 1802
      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   10     0       this  Lorg/hibernate/loader/Loader;
            0   10     1         rs  Ljava/sql/ResultSet;
            0   10     2  selection  Lorg/hibernate/engine/spi/RowSelection;
            1   10     3   firstRow  I
            6    9     4          m  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
           Name  Flags
      rs         final
      selection  final

  protected org.hibernate.dialect.pagination.LimitHandler getLimitHandler(java.lang.String, org.hibernate.engine.spi.RowSelection);
    descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/RowSelection;)Lorg/hibernate/dialect/pagination/LimitHandler;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, 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.RowSelection selection
         0: .line 1813
            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;
            aload 1 /* sql */
            aload 2 /* selection */
            invokevirtual org.hibernate.dialect.Dialect.buildLimitHandler:(Ljava/lang/String;Lorg/hibernate/engine/spi/RowSelection;)Lorg/hibernate/dialect/pagination/LimitHandler;
            astore 3 /* limitHandler */
        start local 3 // org.hibernate.dialect.pagination.LimitHandler limitHandler
         1: .line 1814
            aload 3 /* limitHandler */
            aload 2 /* selection */
            invokestatic org.hibernate.dialect.pagination.LimitHelper.useLimit:(Lorg/hibernate/dialect/pagination/LimitHandler;Lorg/hibernate/engine/spi/RowSelection;)Z
            ifeq 2
            aload 3 /* limitHandler */
            goto 3
      StackMap locals: org.hibernate.dialect.pagination.LimitHandler
      StackMap stack:
         2: new org.hibernate.dialect.pagination.NoopLimitHandler
            dup
            aload 1 /* sql */
            aload 2 /* selection */
            invokespecial org.hibernate.dialect.pagination.NoopLimitHandler.<init>:(Ljava/lang/String;Lorg/hibernate/engine/spi/RowSelection;)V
      StackMap locals:
      StackMap stack: org.hibernate.dialect.pagination.LimitHandler
         3: areturn
        end local 3 // org.hibernate.dialect.pagination.LimitHandler limitHandler
        end local 2 // org.hibernate.engine.spi.RowSelection selection
        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     selection  Lorg/hibernate/engine/spi/RowSelection;
            1    4     3  limitHandler  Lorg/hibernate/dialect/pagination/LimitHandler;
    MethodParameters:
           Name  Flags
      sql        
      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 1818
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isScrollableResultSetsEnabled:()Z
            istore 5 /* canScroll */
        start local 5 // boolean canScroll
         1: .line 1819
            iload 5 /* canScroll */
            ifeq 6
         2: .line 1820
            iload 1 /* scroll */
            ifeq 4
         3: .line 1821
            aload 4 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getScrollMode:()Lorg/hibernate/ScrollMode;
            areturn
         4: .line 1823
      StackMap locals: int
      StackMap stack:
            iload 2 /* hasFirstRow */
            ifeq 6
            iload 3 /* useLimitOffSet */
            ifne 6
         5: .line 1824
            getstatic org.hibernate.ScrollMode.SCROLL_INSENSITIVE:Lorg/hibernate/ScrollMode;
            areturn
         6: .line 1827
      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.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1839
            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/SessionImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
            areturn
        end local 4 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor);
    descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=9, 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.SessionImplementor session
         0: .line 1850
            aload 2 /* queryParameters */
            aload 1 /* sqlStatement */
            aload 5 /* session */
            invokevirtual org.hibernate.engine.spi.QueryParameters.processFilters:(Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)V
         1: .line 1853
            aload 0 /* this */
         2: .line 1854
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getFilteredSQL:()Ljava/lang/String;
         3: .line 1855
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getRowSelection:()Lorg/hibernate/engine/spi/RowSelection;
         4: .line 1853
            invokevirtual org.hibernate.loader.Loader.getLimitHandler:(Ljava/lang/String;Lorg/hibernate/engine/spi/RowSelection;)Lorg/hibernate/dialect/pagination/LimitHandler;
            astore 6 /* limitHandler */
        start local 6 // org.hibernate.dialect.pagination.LimitHandler limitHandler
         5: .line 1857
            aload 6 /* limitHandler */
            invokeinterface org.hibernate.dialect.pagination.LimitHandler.getProcessedSql:()Ljava/lang/String;
            astore 7 /* sql */
        start local 7 // java.lang.String sql
         6: .line 1860
            aload 0 /* this */
            aload 7 /* sql */
            aload 2 /* queryParameters */
            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;
            aload 4 /* afterLoadActions */
            invokevirtual org.hibernate.loader.Loader.preprocessSQL:(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/dialect/Dialect;Ljava/util/List;)Ljava/lang/String;
            astore 7 /* sql */
         7: .line 1862
            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/SessionImplementor;)Ljava/sql/PreparedStatement;
            astore 8 /* st */
        start local 8 // java.sql.PreparedStatement st
         8: .line 1863
            new org.hibernate.loader.Loader$SqlStatementWrapper
            dup
            aload 8 /* st */
            aload 0 /* this */
            aload 8 /* st */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getRowSelection:()Lorg/hibernate/engine/spi/RowSelection;
            aload 6 /* limitHandler */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.hasAutoDiscoverScalarTypes:()Z
            aload 5 /* session */
            invokevirtual org.hibernate.loader.Loader.getResultSet:(Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/RowSelection;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SessionImplementor;)Ljava/sql/ResultSet;
            invokespecial org.hibernate.loader.Loader$SqlStatementWrapper.<init>:(Ljava/sql/Statement;Ljava/sql/ResultSet;)V
            areturn
        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.SessionImplementor 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    9     0              this  Lorg/hibernate/loader/Loader;
            0    9     1      sqlStatement  Ljava/lang/String;
            0    9     2   queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    9     3            scroll  Z
            0    9     4  afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            0    9     5           session  Lorg/hibernate/engine/spi/SessionImplementor;
            5    9     6      limitHandler  Lorg/hibernate/dialect/pagination/LimitHandler;
            6    9     7               sql  Ljava/lang/String;
            8    9     8                st  Ljava/sql/PreparedStatement;
    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/SessionImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
    MethodParameters:
                  Name  Flags
      sqlStatement      
      queryParameters   
      scroll            
      afterLoadActions  
      session           

  protected final java.sql.PreparedStatement prepareQueryStatement(java.lang.String, org.hibernate.engine.spi.QueryParameters, org.hibernate.dialect.pagination.LimitHandler, boolean, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1877
            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 1878
            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 1879
            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 1880
            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 1881
            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.SessionImplementor 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 1882
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isCallable:()Z
            istore 11 /* callable */
        start local 11 // boolean callable
         8: .line 1883
            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 1885
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
        10: .line 1886
            aload 1 /* sql */
        11: .line 1887
            iload 11 /* callable */
        12: .line 1888
            aload 12 /* scrollMode */
        13: .line 1885
            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 1893
            iconst_1
            istore 14 /* col */
        start local 14 // int col
        15: .line 1895
            iload 14 /* col */
            aload 3 /* limitHandler */
            aload 13 /* st */
            iload 14 /* col */
            invokeinterface org.hibernate.dialect.pagination.LimitHandler.bindLimitParametersAtStartOfQuery:(Ljava/sql/PreparedStatement;I)I
            iadd
            istore 14 /* col */
        16: .line 1897
            iload 11 /* callable */
            ifeq 18
        17: .line 1898
            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 1901
      StackMap locals: org.hibernate.loader.Loader java.lang.String org.hibernate.engine.spi.QueryParameters org.hibernate.dialect.pagination.LimitHandler int org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;)I
            iadd
            istore 14 /* col */
        19: .line 1903
            iload 14 /* col */
            aload 3 /* limitHandler */
            aload 13 /* st */
            iload 14 /* col */
            invokeinterface org.hibernate.dialect.pagination.LimitHandler.bindLimitParametersAtEndOfQuery:(Ljava/sql/PreparedStatement;I)I
            iadd
            istore 14 /* col */
        20: .line 1905
            aload 3 /* limitHandler */
            aload 13 /* st */
            invokeinterface org.hibernate.dialect.pagination.LimitHandler.setMaxRows:(Ljava/sql/PreparedStatement;)V
        21: .line 1907
            aload 7 /* selection */
            ifnull 26
        22: .line 1908
            aload 7 /* selection */
            invokevirtual org.hibernate.engine.spi.RowSelection.getTimeout:()Ljava/lang/Integer;
            ifnull 24
        23: .line 1909
            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 1911
      StackMap locals:
      StackMap stack:
            aload 7 /* selection */
            invokevirtual org.hibernate.engine.spi.RowSelection.getFetchSize:()Ljava/lang/Integer;
            ifnull 26
        25: .line 1912
            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 1917
      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 1918
            aload 15 /* lockOptions */
            ifnull 38
        28: .line 1919
            aload 15 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getTimeOut:()I
            iconst_m1
            if_icmpeq 38
        29: .line 1920
            aload 6 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.supportsLockTimeouts:()Z
            ifne 36
        30: .line 1921
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 38
        31: .line 1922
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        32: .line 1923
            ldc "Lock timeout [%s] requested but dialect reported to not support lock timeouts"
        33: .line 1924
            aload 15 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getTimeOut:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        34: .line 1922
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        35: .line 1927
            goto 38
        36: .line 1928
      StackMap locals: org.hibernate.LockOptions
      StackMap stack:
            aload 6 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.isLockTimeoutParameterized:()Z
            ifeq 38
        37: .line 1929
            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 1934
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            ifeq 47
        39: .line 1935
            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 1936
            goto 47
        41: .line 1937
      StackMap locals: org.hibernate.loader.Loader java.lang.String org.hibernate.engine.spi.QueryParameters org.hibernate.dialect.pagination.LimitHandler int org.hibernate.engine.spi.SessionImplementor org.hibernate.dialect.Dialect org.hibernate.engine.spi.RowSelection int int int int org.hibernate.ScrollMode java.sql.PreparedStatement
      StackMap stack: java.sql.SQLException
            astore 14 /* sqle */
        start local 14 // java.sql.SQLException sqle
        42: .line 1938
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 13 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        43: .line 1939
            aload 14 /* sqle */
            athrow
        end local 14 // java.sql.SQLException sqle
        44: .line 1941
      StackMap locals:
      StackMap stack: org.hibernate.HibernateException
            astore 14 /* he */
        start local 14 // org.hibernate.HibernateException he
        45: .line 1942
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 13 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        46: .line 1943
            aload 14 /* he */
            athrow
        end local 14 // org.hibernate.HibernateException he
        47: .line 1946
      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.SessionImplementor 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   48     0             this  Lorg/hibernate/loader/Loader;
            0   48     1              sql  Ljava/lang/String;
            0   48     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   48     3     limitHandler  Lorg/hibernate/dialect/pagination/LimitHandler;
            0   48     4           scroll  Z
            0   48     5          session  Lorg/hibernate/engine/spi/SessionImplementor;
            1   48     6          dialect  Lorg/hibernate/dialect/Dialect;
            2   48     7        selection  Lorg/hibernate/engine/spi/RowSelection;
            3   48     8         useLimit  Z
            4   48     9      hasFirstRow  Z
            7   48    10   useLimitOffset  Z
            8   48    11         callable  Z
            9   48    12       scrollMode  Lorg/hibernate/ScrollMode;
           14   48    13               st  Ljava/sql/PreparedStatement;
           15   40    14              col  I
           27   40    15      lockOptions  Lorg/hibernate/LockOptions;
           42   44    14             sqle  Ljava/sql/SQLException;
           45   47    14               he  Lorg/hibernate/HibernateException;
      Exception table:
        from    to  target  type
          14    40      41  Class java.sql.SQLException
          14    40      44  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.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1965
            iconst_0
            istore 5 /* span */
        start local 5 // int span
         1: .line 1966
            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/SessionImplementor;)I
            iadd
            istore 5 /* span */
         2: .line 1967
            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/SessionImplementor;)I
            iadd
            istore 5 /* span */
         3: .line 1968
            iload 5 /* span */
            ireturn
        end local 5 // int span
        end local 4 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1991
            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 1992
            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 1993
            iconst_0
            istore 7 /* span */
        start local 7 // int span
         3: .line 1994
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         4: goto 8
         5: .line 1995
      StackMap locals: org.hibernate.loader.Loader java.sql.PreparedStatement org.hibernate.engine.spi.QueryParameters int org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;)V
         6: .line 1996
            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 1994
            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 1998
            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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/util/Map;ILorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 2024
            iconst_0
            istore 5 /* result */
        start local 5 // int result
         1: .line 2025
            aload 2 /* namedParams */
            invokestatic org.hibernate.internal.util.collections.CollectionHelper.isEmpty:(Ljava/util/Map;)Z
            ifeq 3
         2: .line 2026
            iload 5 /* result */
            ireturn
         3: .line 2029
      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.SessionImplementor 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 2030
            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 2031
            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 2032
            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 2033
            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.SessionImplementor 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 2034
            getstatic org.hibernate.loader.Loader.DEBUG_ENABLED:Z
            ifeq 17
        11: .line 2035
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        12: .line 2036
            ldc "bindNamedParameters() %s -> %s [%s]"
        13: .line 2037
            aload 8 /* typedValue */
            invokevirtual org.hibernate.engine.spi.TypedValue.getValue:()Ljava/lang/Object;
        14: .line 2038
            aload 6 /* name */
        15: .line 2039
            iload 11 /* loc */
            iload 3 /* startIndex */
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        16: .line 2035
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 2042
      StackMap locals: org.hibernate.loader.Loader java.sql.PreparedStatement java.util.Map int org.hibernate.engine.spi.SessionImplementor 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 2043
            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/SessionImplementor;)V
        end local 15 // int start
        end local 11 // int loc
        19: .line 2033
            iinc 12 1
      StackMap locals: org.hibernate.loader.Loader java.sql.PreparedStatement java.util.Map int org.hibernate.engine.spi.SessionImplementor 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 2045
            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 2029
      StackMap locals: org.hibernate.loader.Loader java.sql.PreparedStatement java.util.Map int org.hibernate.engine.spi.SessionImplementor int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        23: .line 2047
            iload 5 /* result */
            ireturn
        end local 5 // int result
        end local 4 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
            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/SessionImplementor;)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 2051
            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.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/RowSelection;Lorg/hibernate/dialect/pagination/LimitHandler;ZLorg/hibernate/engine/spi/SessionImplementor;)Ljava/sql/ResultSet;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, 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.SessionImplementor session
         0: .line 2066
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.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 2067
            aload 0 /* this */
            aload 6 /* rs */
            aload 5 /* session */
            invokevirtual org.hibernate.loader.Loader.wrapResultSetIfEnabled:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/sql/ResultSet;
            astore 6 /* rs */
         2: .line 2069
            aload 3 /* limitHandler */
            invokeinterface org.hibernate.dialect.pagination.LimitHandler.supportsLimitOffset:()Z
            ifeq 3
            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 4
         3: .line 2070
      StackMap locals: java.sql.ResultSet
      StackMap stack:
            aload 0 /* this */
            aload 6 /* rs */
            aload 2 /* selection */
            invokevirtual org.hibernate.loader.Loader.advance:(Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/RowSelection;)V
         4: .line 2073
      StackMap locals:
      StackMap stack:
            iload 4 /* autodiscovertypes */
            ifeq 6
         5: .line 2074
            aload 0 /* this */
            aload 6 /* rs */
            invokevirtual org.hibernate.loader.Loader.autoDiscoverTypes:(Ljava/sql/ResultSet;)V
         6: .line 2076
      StackMap locals:
      StackMap stack:
            aload 6 /* rs */
         7: areturn
        end local 6 // java.sql.ResultSet rs
         8: .line 2078
      StackMap locals: org.hibernate.loader.Loader java.sql.PreparedStatement org.hibernate.engine.spi.RowSelection org.hibernate.dialect.pagination.LimitHandler int org.hibernate.engine.spi.SessionImplementor
      StackMap stack: java.sql.SQLException
            astore 6 /* sqle */
        start local 6 // java.sql.SQLException sqle
         9: .line 2079
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 1 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        10: .line 2080
            aload 6 /* sqle */
            athrow
        end local 6 // java.sql.SQLException sqle
        end local 5 // org.hibernate.engine.spi.SessionImplementor 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   11     0               this  Lorg/hibernate/loader/Loader;
            0   11     1                 st  Ljava/sql/PreparedStatement;
            0   11     2          selection  Lorg/hibernate/engine/spi/RowSelection;
            0   11     3       limitHandler  Lorg/hibernate/dialect/pagination/LimitHandler;
            0   11     4  autodiscovertypes  Z
            0   11     5            session  Lorg/hibernate/engine/spi/SessionImplementor;
            1    8     6                 rs  Ljava/sql/ResultSet;
            9   11     6               sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0     7       8  Class java.sql.SQLException
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
                   Name  Flags
      st                 final
      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 2085
            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.SessionImplementor);
    descriptor: (Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 2090
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isWrapResultSetsEnabled:()Z
            ifeq 9
         1: .line 2092
            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 2093
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         3: .line 2094
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
         4: .line 2095
            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;
         5: .line 2093
            areturn
         6: .line 2097
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 3 /* e */
        start local 3 // java.sql.SQLException e
         7: .line 2098
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 3 /* e */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToWrapResultSet:(Ljava/sql/SQLException;)V
         8: .line 2099
            aload 1 /* rs */
            areturn
        end local 3 // java.sql.SQLException e
         9: .line 2103
      StackMap locals:
      StackMap stack:
            aload 1 /* rs */
            areturn
        end local 2 // org.hibernate.engine.spi.SessionImplementor session
        end local 1 // java.sql.ResultSet rs
        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       rs  Ljava/sql/ResultSet;
            0   10     2  session  Lorg/hibernate/engine/spi/SessionImplementor;
            7    9     3        e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           1     5       6  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 2108
            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 2109
            aload 2 /* cache */
            ifnonnull 5
         2: .line 2112
            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 2113
            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 2114
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.columnNameCache:Lorg/hibernate/engine/jdbc/ColumnNameCache;
            areturn
         5: .line 2117
      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.SessionImplementor, 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/SessionImplementor;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.SessionImplementor 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 2136
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 2
         1: .line 2137
            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 2142
      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 2143
            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 2144
            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 2145
            aload 10 /* qp */
            aload 4 /* optionalObject */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalObject:(Ljava/lang/Object;)V
         6: .line 2146
            aload 10 /* qp */
            aload 5 /* optionalEntityName */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalEntityName:(Ljava/lang/String;)V
         7: .line 2147
            aload 10 /* qp */
            aload 6 /* optionalIdentifier */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalId:(Ljava/io/Serializable;)V
         8: .line 2148
            aload 10 /* qp */
            aload 8 /* lockOptions */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setLockOptions:(Lorg/hibernate/LockOptions;)V
         9: .line 2149
            aload 0 /* this */
            aload 1 /* session */
            aload 10 /* qp */
            iconst_0
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SessionImplementor;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 2150
            goto 20
        end local 9 // java.util.List result
        11: .line 2151
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 10 /* sqle */
        start local 10 // java.sql.SQLException sqle
        12: .line 2152
            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 2153
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        14: .line 2154
            aload 10 /* sqle */
        15: .line 2155
            new java.lang.StringBuilder
            dup
            ldc "could not load an entity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 2156
            aload 11 /* persisters */
            aload 11 /* persisters */
            arraylength
            iconst_1
            isub
            aaload
            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;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 2155
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 2157
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        19: .line 2153
            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
        20: .line 2161
      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
        21: .line 2163
            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.SessionImplementor 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/SessionImplementor;
            0   22     2                  id  Ljava/lang/Object;
            0   22     3      identifierType  Lorg/hibernate/type/Type;
            0   22     4      optionalObject  Ljava/lang/Object;
            0   22     5  optionalEntityName  Ljava/lang/String;
            0   22     6  optionalIdentifier  Ljava/io/Serializable;
            0   22     7           persister  Lorg/hibernate/persister/entity/EntityPersister;
            0   22     8         lockOptions  Lorg/hibernate/LockOptions;
           10   11     9              result  Ljava/util/List;
           20   22     9              result  Ljava/util/List;
            3   10    10                  qp  Lorg/hibernate/engine/spi/QueryParameters;
           12   20    10                sqle  Ljava/sql/SQLException;
           13   20    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.SessionImplementor, java.lang.Object, java.lang.Object, org.hibernate.type.Type, org.hibernate.type.Type, org.hibernate.persister.entity.EntityPersister);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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 2179
            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 2183
            aload 0 /* this */
         2: .line 2184
            aload 1 /* session */
         3: .line 2185
            new org.hibernate.engine.spi.QueryParameters
            dup
         4: .line 2186
            iconst_2
            anewarray org.hibernate.type.Type
            dup
            iconst_0
            aload 4 /* keyType */
            aastore
            dup
            iconst_1
            aload 5 /* indexType */
            aastore
         5: .line 2187
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* key */
            aastore
            dup
            iconst_1
            aload 3 /* index */
            aastore
         6: .line 2185
            invokespecial org.hibernate.engine.spi.QueryParameters.<init>:([Lorg/hibernate/type/Type;[Ljava/lang/Object;)V
         7: .line 2189
            iconst_0
         8: .line 2183
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
            astore 7 /* result */
        start local 7 // java.util.List result
         9: .line 2191
            goto 16
        end local 7 // java.util.List result
        10: .line 2192
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 8 /* sqle */
        start local 8 // java.sql.SQLException sqle
        11: .line 2193
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        12: .line 2194
            aload 8 /* sqle */
        13: .line 2195
            ldc "could not load collection element by index"
        14: .line 2196
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        15: .line 2193
            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 2200
      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 2202
            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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor, 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/SessionImplementor;[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.SessionImplementor 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 2221
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 2
         1: .line 2222
            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 2224
      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 2225
            aload 9 /* types */
            aload 3 /* idType */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 2228
            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 2229
            aload 11 /* qp */
            aload 9 /* types */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterTypes:([Lorg/hibernate/type/Type;)V
         6: .line 2230
            aload 11 /* qp */
            aload 2 /* ids */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterValues:([Ljava/lang/Object;)V
         7: .line 2231
            aload 11 /* qp */
            aload 4 /* optionalObject */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalObject:(Ljava/lang/Object;)V
         8: .line 2232
            aload 11 /* qp */
            aload 5 /* optionalEntityName */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalEntityName:(Ljava/lang/String;)V
         9: .line 2233
            aload 11 /* qp */
            aload 6 /* optionalId */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalId:(Ljava/io/Serializable;)V
        10: .line 2234
            aload 11 /* qp */
            aload 8 /* lockOptions */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setLockOptions:(Lorg/hibernate/LockOptions;)V
        11: .line 2235
            aload 0 /* this */
            aload 1 /* session */
            aload 11 /* qp */
            iconst_0
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SessionImplementor;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 2236
            goto 21
        end local 10 // java.util.List result
        13: .line 2237
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SessionImplementor 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 2238
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        15: .line 2239
            aload 11 /* sqle */
        16: .line 2240
            new java.lang.StringBuilder
            dup
            ldc "could not load an entity batch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 2241
            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 2240
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 2242
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        20: .line 2238
            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 2246
      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 2248
            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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor, java.io.Serializable, org.hibernate.type.Type);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor session
        start local 2 // java.io.Serializable id
        start local 3 // org.hibernate.type.Type type
         0: .line 2260
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 4
         1: .line 2261
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Loading collection: %s"
         2: .line 2262
            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;
         3: .line 2261
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 2264
      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
         5: .line 2266
            aload 0 /* this */
         6: .line 2267
            aload 1 /* session */
         7: .line 2268
            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
         8: .line 2269
            iconst_1
         9: .line 2266
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
            pop
        10: .line 2271
            goto 19
        11: .line 2272
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SessionImplementor 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
        12: .line 2273
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        13: .line 2274
            aload 5 /* sqle */
        14: .line 2275
            new java.lang.StringBuilder
            dup
            ldc "could not initialize a collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 2276
            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;
        16: .line 2275
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 2277
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        18: .line 2273
            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
        19: .line 2281
      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
        20: .line 2283
            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.SessionImplementor 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/SessionImplementor;
            0   21     2       id  Ljava/io/Serializable;
            0   21     3     type  Lorg/hibernate/type/Type;
            5   21     4      ids  [Ljava/io/Serializable;
           12   19     5     sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           5    10      11  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.SessionImplementor, java.io.Serializable[], org.hibernate.type.Type);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;[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.SessionImplementor session
        start local 2 // java.io.Serializable[] ids
        start local 3 // org.hibernate.type.Type type
         0: .line 2293
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 4
         1: .line 2294
            getstatic org.hibernate.loader.Loader.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Batch loading collection: %s"
         2: .line 2295
            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;
         3: .line 2294
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 2297
      StackMap locals:
      StackMap stack:
            aload 2 /* ids */
            arraylength
            anewarray org.hibernate.type.Type
            astore 4 /* idTypes */
        start local 4 // org.hibernate.type.Type[] idTypes
         5: .line 2298
            aload 4 /* idTypes */
            aload 3 /* type */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 2300
            aload 0 /* this */
         7: .line 2301
            aload 1 /* session */
         8: .line 2302
            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
         9: .line 2303
            iconst_1
        10: .line 2300
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
            pop
        11: .line 2305
            goto 20
        12: .line 2306
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SessionImplementor 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
        13: .line 2307
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        14: .line 2308
            aload 5 /* sqle */
        15: .line 2309
            new java.lang.StringBuilder
            dup
            ldc "could not initialize a collection batch: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 2310
            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;
        17: .line 2309
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 2311
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        19: .line 2307
            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 2315
      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
        21: .line 2317
            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.SessionImplementor 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/SessionImplementor;
            0   22     2      ids  [Ljava/io/Serializable;
            0   22     3     type  Lorg/hibernate/type/Type;
            5   22     4  idTypes  [Lorg/hibernate/type/Type;
           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
      ids      final
      type     final

  protected final void loadCollectionSubselect(org.hibernate.engine.spi.SessionImplementor, 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/SessionImplementor;[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.SessionImplementor 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 2330
            aload 2 /* ids */
            arraylength
            anewarray org.hibernate.type.Type
            astore 7 /* idTypes */
        start local 7 // org.hibernate.type.Type[] idTypes
         1: .line 2331
            aload 7 /* idTypes */
            aload 6 /* type */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 2333
            aload 0 /* this */
            aload 1 /* session */
         3: .line 2334
            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
         4: .line 2335
            iconst_1
         5: .line 2333
            invokevirtual org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;Z)Ljava/util/List;
            pop
         6: .line 2337
            goto 15
         7: .line 2338
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.SessionImplementor 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
         8: .line 2339
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
         9: .line 2340
            aload 8 /* sqle */
        10: .line 2341
            new java.lang.StringBuilder
            dup
            ldc "could not load collection by subselect: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 2342
            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;
        12: .line 2341
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 2343
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        14: .line 2339
            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
        15: .line 2346
      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.SessionImplementor session
        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          session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   16     2              ids  [Ljava/io/Serializable;
            0   16     3  parameterValues  [Ljava/lang/Object;
            0   16     4   parameterTypes  [Lorg/hibernate/type/Type;
            0   16     5  namedParameters  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/engine/spi/TypedValue;>;
            0   16     6             type  Lorg/hibernate/type/Type;
            1   16     7          idTypes  [Lorg/hibernate/type/Type;
            8   15     8             sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           2     6       7  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: (Lorg/hibernate/engine/spi/SessionImplementor;[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.SessionImplementor, org.hibernate.engine.spi.QueryParameters, java.util.Set<java.io.Serializable>, org.hibernate.type.Type[]);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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 2358
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isQueryCacheEnabled:()Z
            ifeq 3
         1: .line 2359
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isCacheable:()Z
            ifeq 3
         2: .line 2358
            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 2361
            iload 5 /* cacheable */
            ifeq 7
         6: .line 2362
            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/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;[Lorg/hibernate/type/Type;)Ljava/util/List;
            areturn
         7: .line 2365
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.loader.Loader.listIgnoreQueryCache:(Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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/SessionImplementor;
            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/SessionImplementor;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.SessionImplementor, org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 2370
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.loader.Loader.doList:(Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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/SessionImplementor;
            0    1     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
    MethodParameters:
                 Name  Flags
      session          
      queryParameters  

  private java.util.List listUsingQueryCache(org.hibernate.engine.spi.SessionImplementor, org.hibernate.engine.spi.QueryParameters, java.util.Set<java.io.Serializable>, org.hibernate.type.Type[]);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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 2379
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getCacheRegion:()Ljava/lang/String;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getQueryCache:(Ljava/lang/String;)Lorg/hibernate/cache/spi/QueryCache;
            astore 5 /* queryCache */
        start local 5 // org.hibernate.cache.spi.QueryCache queryCache
         1: .line 2381
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.loader.Loader.generateQueryKey:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Lorg/hibernate/cache/spi/QueryKey;
            astore 6 /* key */
        start local 6 // org.hibernate.cache.spi.QueryKey key
         2: .line 2383
            aload 3 /* querySpaces */
            ifnull 3
            aload 3 /* querySpaces */
            invokeinterface java.util.Set.size:()I
            ifne 6
         3: .line 2384
      StackMap locals: org.hibernate.cache.spi.QueryCache 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.SessionImplementor org.hibernate.engine.spi.QueryParameters java.util.Set org.hibernate.type.Type[] org.hibernate.cache.spi.QueryCache 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.SessionImplementor org.hibernate.engine.spi.QueryParameters java.util.Set org.hibernate.type.Type[] org.hibernate.cache.spi.QueryCache 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
            goto 7
         6: .line 2386
      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
         7: .line 2389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         8: .line 2390
            aload 1 /* session */
         9: .line 2391
            aload 2 /* queryParameters */
        10: .line 2392
            aload 3 /* querySpaces */
        11: .line 2393
            aload 4 /* resultTypes */
        12: .line 2394
            aload 5 /* queryCache */
        13: .line 2395
            aload 6 /* key */
        14: .line 2389
            invokevirtual org.hibernate.loader.Loader.getResultFromQueryCache:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;[Lorg/hibernate/type/Type;Lorg/hibernate/cache/spi/QueryCache;Lorg/hibernate/cache/spi/QueryKey;)Ljava/util/List;
            astore 7 /* result */
        start local 7 // java.util.List result
        15: .line 2398
            aload 7 /* result */
            ifnonnull 25
        16: .line 2399
            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/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            astore 7 /* result */
        17: .line 2401
            aload 0 /* this */
        18: .line 2402
            aload 1 /* session */
        19: .line 2403
            aload 2 /* queryParameters */
        20: .line 2404
            aload 4 /* resultTypes */
        21: .line 2405
            aload 5 /* queryCache */
        22: .line 2406
            aload 6 /* key */
        23: .line 2407
            aload 7 /* result */
        24: .line 2401
            invokevirtual org.hibernate.loader.Loader.putResultInQueryCache:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/type/Type;Lorg/hibernate/cache/spi/QueryCache;Lorg/hibernate/cache/spi/QueryKey;Ljava/util/List;)V
        25: .line 2411
      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
        26: .line 2412
            aload 8 /* resolvedTransformer */
            ifnull 39
        27: .line 2414
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.areResultSetRowsTransformedImmediately:()Z
            ifeq 35
        28: .line 2415
            aload 6 /* key */
            invokevirtual org.hibernate.cache.spi.QueryKey.getResultTransformer:()Lorg/hibernate/transform/CacheableResultTransformer;
        29: .line 2416
            aload 7 /* result */
        30: .line 2417
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getResultRowAliases:()[Ljava/lang/String;
        31: .line 2418
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
        32: .line 2419
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.includeInResultRow:()[Z
        33: .line 2415
            invokevirtual org.hibernate.transform.CacheableResultTransformer.retransformResults:(Ljava/util/List;[Ljava/lang/String;Lorg/hibernate/transform/ResultTransformer;[Z)Ljava/util/List;
        34: .line 2420
            goto 38
        35: .line 2421
      StackMap locals: org.hibernate.transform.ResultTransformer
      StackMap stack:
            aload 6 /* key */
            invokevirtual org.hibernate.cache.spi.QueryKey.getResultTransformer:()Lorg/hibernate/transform/CacheableResultTransformer;
        36: .line 2422
            aload 7 /* result */
        37: .line 2421
            invokevirtual org.hibernate.transform.CacheableResultTransformer.untransformToTuples:(Ljava/util/List;)Ljava/util/List;
        38: .line 2413
      StackMap locals:
      StackMap stack: java.util.List
            astore 7 /* result */
        39: .line 2427
      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.QueryCache 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.SessionImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   40     0                 this  Lorg/hibernate/loader/Loader;
            0   40     1              session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   40     2      queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   40     3          querySpaces  Ljava/util/Set<Ljava/io/Serializable;>;
            0   40     4          resultTypes  [Lorg/hibernate/type/Type;
            1   40     5           queryCache  Lorg/hibernate/cache/spi/QueryCache;
            2   40     6                  key  Lorg/hibernate/cache/spi/QueryKey;
           15   40     7               result  Ljava/util/List;
           26   40     8  resolvedTransformer  Lorg/hibernate/transform/ResultTransformer;
    Signature: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor, org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 2434
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
         1: .line 2435
            aload 2 /* queryParameters */
         2: .line 2436
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 2437
            aload 1 /* session */
         4: .line 2438
            aload 0 /* this */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.loader.Loader.createCacheableResultTransformer:(Lorg/hibernate/engine/spi/QueryParameters;)Lorg/hibernate/transform/CacheableResultTransformer;
         5: .line 2433
            invokestatic org.hibernate.cache.spi.QueryKey.generateQueryKey:(Ljava/lang/String;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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/SessionImplementor;
            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 2444
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
         1: .line 2445
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getResultRowAliases:()[Ljava/lang/String;
         2: .line 2446
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.includeInResultRow:()[Z
         3: .line 2443
            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.SessionImplementor, org.hibernate.engine.spi.QueryParameters, java.util.Set<java.io.Serializable>, org.hibernate.type.Type[], org.hibernate.cache.spi.QueryCache, org.hibernate.cache.spi.QueryKey);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;[Lorg/hibernate/type/Type;Lorg/hibernate/cache/spi/QueryCache;Lorg/hibernate/cache/spi/QueryKey;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=7
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SessionImplementor 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.QueryCache queryCache
        start local 6 // org.hibernate.cache.spi.QueryKey key
         0: .line 2457
            aconst_null
            astore 7 /* result */
        start local 7 // java.util.List result
         1: .line 2459
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getCacheMode:()Lorg/hibernate/CacheMode;
            invokevirtual org.hibernate.CacheMode.isGetEnabled:()Z
            ifeq 36
         2: .line 2461
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isNaturalKeyLookup:()Z
            ifeq 9
         3: .line 2462
            aload 4 /* resultTypes */
            arraylength
            iconst_1
            if_icmpne 9
         4: .line 2463
            aload 4 /* resultTypes */
            iconst_0
            aaload
            invokeinterface org.hibernate.type.Type.isEntityType:()Z
            ifeq 9
         5: .line 2464
            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 2465
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMetamodel:()Lorg/hibernate/tuple/entity/EntityMetamodel;
         7: .line 2466
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.hasImmutableNaturalId:()Z
            ifeq 9
         8: .line 2460
            iconst_1
            goto 10
      StackMap locals: java.util.List
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 8 /* isImmutableNaturalKeyLookup */
        start local 8 // boolean isImmutableNaturalKeyLookup
        11: .line 2468
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            astore 9 /* persistenceContext */
        start local 9 // org.hibernate.engine.spi.PersistenceContext persistenceContext
        12: .line 2469
            aload 9 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.isDefaultReadOnly:()Z
            istore 10 /* defaultReadOnlyOrig */
        start local 10 // boolean defaultReadOnlyOrig
        13: .line 2470
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnlyInitialized:()Z
            ifeq 16
        14: .line 2473
            aload 9 /* persistenceContext */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnly:()Z
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
        15: .line 2474
            goto 17
        16: .line 2478
      StackMap locals: int org.hibernate.engine.spi.PersistenceContext int
      StackMap stack:
            aload 2 /* queryParameters */
            aload 9 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.isDefaultReadOnly:()Z
            invokevirtual org.hibernate.engine.spi.QueryParameters.setReadOnly:(Z)V
        17: .line 2481
      StackMap locals:
      StackMap stack:
            aload 5 /* queryCache */
        18: .line 2482
            aload 6 /* key */
        19: .line 2483
            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;
        20: .line 2484
            iload 8 /* isImmutableNaturalKeyLookup */
        21: .line 2485
            aload 3 /* querySpaces */
        22: .line 2486
            aload 1 /* session */
        23: .line 2481
            invokeinterface org.hibernate.cache.spi.QueryCache.get:(Lorg/hibernate/cache/spi/QueryKey;[Lorg/hibernate/type/Type;ZLjava/util/Set;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/util/List;
            astore 7 /* result */
        24: .line 2488
            goto 28
        25: .line 2489
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        26: .line 2490
            aload 9 /* persistenceContext */
            iload 10 /* defaultReadOnlyOrig */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
        27: .line 2491
            aload 11
            athrow
        28: .line 2490
      StackMap locals:
      StackMap stack:
            aload 9 /* persistenceContext */
            iload 10 /* defaultReadOnlyOrig */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
        29: .line 2493
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/Statistics;
            invokeinterface org.hibernate.stat.Statistics.isStatisticsEnabled:()Z
            ifeq 36
        30: .line 2494
            aload 7 /* result */
            ifnonnull 34
        31: .line 2495
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatisticsImplementor:()Lorg/hibernate/stat/spi/StatisticsImplementor;
        32: .line 2496
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
            aload 5 /* queryCache */
            invokeinterface org.hibernate.cache.spi.QueryCache.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
        33: .line 2497
            goto 36
        34: .line 2499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatisticsImplementor:()Lorg/hibernate/stat/spi/StatisticsImplementor;
        35: .line 2500
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
            aload 5 /* queryCache */
            invokeinterface org.hibernate.cache.spi.QueryCache.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 10 // boolean defaultReadOnlyOrig
        end local 9 // org.hibernate.engine.spi.PersistenceContext persistenceContext
        end local 8 // boolean isImmutableNaturalKeyLookup
        36: .line 2505
      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.QueryCache 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.SessionImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   37     0                         this  Lorg/hibernate/loader/Loader;
            0   37     1                      session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   37     2              queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   37     3                  querySpaces  Ljava/util/Set<Ljava/io/Serializable;>;
            0   37     4                  resultTypes  [Lorg/hibernate/type/Type;
            0   37     5                   queryCache  Lorg/hibernate/cache/spi/QueryCache;
            0   37     6                          key  Lorg/hibernate/cache/spi/QueryKey;
            1   37     7                       result  Ljava/util/List;
           11   36     8  isImmutableNaturalKeyLookup  Z
           12   36     9           persistenceContext  Lorg/hibernate/engine/spi/PersistenceContext;
           13   36    10          defaultReadOnlyOrig  Z
      Exception table:
        from    to  target  type
          17    25      25  any
    Signature: (Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set<Ljava/io/Serializable;>;[Lorg/hibernate/type/Type;Lorg/hibernate/cache/spi/QueryCache;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 2509
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 1 /* entityType */
            invokevirtual org.hibernate.type.EntityType.getAssociatedEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(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.SessionImplementor, org.hibernate.engine.spi.QueryParameters, org.hibernate.type.Type[], org.hibernate.cache.spi.QueryCache, org.hibernate.cache.spi.QueryKey, java.util.List);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/type/Type;Lorg/hibernate/cache/spi/QueryCache;Lorg/hibernate/cache/spi/QueryKey;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=7
        start local 0 // org.hibernate.loader.Loader this
        start local 1 // org.hibernate.engine.spi.SessionImplementor 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.QueryCache queryCache
        start local 5 // org.hibernate.cache.spi.QueryKey key
        start local 6 // java.util.List result
         0: .line 2519
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getCacheMode:()Lorg/hibernate/CacheMode;
            invokevirtual org.hibernate.CacheMode.isPutEnabled:()Z
            ifeq 11
         1: .line 2520
            aload 4 /* queryCache */
         2: .line 2521
            aload 5 /* key */
         3: .line 2522
            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;
         4: .line 2523
            aload 6 /* result */
         5: .line 2524
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isNaturalKeyLookup:()Z
         6: .line 2525
            aload 1 /* session */
         7: .line 2520
            invokeinterface org.hibernate.cache.spi.QueryCache.put:(Lorg/hibernate/cache/spi/QueryKey;[Lorg/hibernate/type/Type;Ljava/util/List;ZLorg/hibernate/engine/spi/SessionImplementor;)Z
            istore 7 /* put */
        start local 7 // boolean put
         8: .line 2527
            iload 7 /* put */
            ifeq 11
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/Statistics;
            invokeinterface org.hibernate.stat.Statistics.isStatisticsEnabled:()Z
            ifeq 11
         9: .line 2528
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatisticsImplementor:()Lorg/hibernate/stat/spi/StatisticsImplementor;
        10: .line 2529
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
            aload 4 /* queryCache */
            invokeinterface org.hibernate.cache.spi.QueryCache.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
        11: .line 2532
      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.QueryCache 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.SessionImplementor session
        end local 0 // org.hibernate.loader.Loader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lorg/hibernate/loader/Loader;
            0   12     1          session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   12     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   12     3      resultTypes  [Lorg/hibernate/type/Type;
            0   12     4       queryCache  Lorg/hibernate/cache/spi/QueryCache;
            0   12     5              key  Lorg/hibernate/cache/spi/QueryKey;
            0   12     6           result  Ljava/util/List;
            8   11     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.SessionImplementor, org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 2540
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            aconst_null
            invokevirtual org.hibernate.loader.Loader.doList:(Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor, org.hibernate.engine.spi.QueryParameters, org.hibernate.transform.ResultTransformer);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;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.SessionImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // org.hibernate.transform.ResultTransformer forcedResultTransformer
         0: .line 2548
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/Statistics;
            invokeinterface org.hibernate.stat.Statistics.isStatisticsEnabled:()Z
            istore 4 /* stats */
        start local 4 // boolean stats
         1: .line 2549
            lconst_0
            lstore 5 /* startTime */
        start local 5 // long startTime
         2: .line 2550
            iload 4 /* stats */
            ifeq 3
            invokestatic java.lang.System.nanoTime:()J
            lstore 5 /* startTime */
         3: .line 2554
      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/SessionImplementor;Lorg/hibernate/engine/spi/QueryParameters;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            astore 7 /* result */
        start local 7 // java.util.List result
         4: .line 2555
            goto 11
        end local 7 // java.util.List result
         5: .line 2556
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 8 /* sqle */
        start local 8 // java.sql.SQLException sqle
         6: .line 2557
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
         7: .line 2558
            aload 8 /* sqle */
         8: .line 2559
            ldc "could not execute query"
         9: .line 2560
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        10: .line 2557
            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
        11: .line 2564
      StackMap locals: java.util.List
      StackMap stack:
            iload 4 /* stats */
            ifeq 19
        12: .line 2565
            invokestatic java.lang.System.nanoTime:()J
            lstore 8 /* endTime */
        start local 8 // long endTime
        13: .line 2566
            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
        14: .line 2567
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatisticsImplementor:()Lorg/hibernate/stat/spi/StatisticsImplementor;
        15: .line 2568
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
        16: .line 2569
            aload 7 /* result */
            invokeinterface java.util.List.size:()I
        17: .line 2570
            lload 10 /* milliseconds */
        18: .line 2567
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.queryExecuted:(Ljava/lang/String;IJ)V
        end local 10 // long milliseconds
        end local 8 // long endTime
        19: .line 2574
      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.SessionImplementor 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/SessionImplementor;
            0   20     2          queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   20     3  forcedResultTransformer  Lorg/hibernate/transform/ResultTransformer;
            1   20     4                    stats  Z
            2   20     5                startTime  J
            4    5     7                   result  Ljava/util/List;
           11   20     7                   result  Ljava/util/List;
            6   11     8                     sqle  Ljava/sql/SQLException;
           13   19     8                  endTime  J
           14   19    10             milliseconds  J
      Exception table:
        from    to  target  type
           3     4       5  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 2587
            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 2596
            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.ScrollableResults scroll(org.hibernate.engine.spi.QueryParameters, org.hibernate.type.Type[], org.hibernate.hql.internal.HolderInstantiator, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/type/Type;Lorg/hibernate/hql/internal/HolderInstantiator;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/ScrollableResults;
    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.SessionImplementor session
         0: .line 2617
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.checkScrollability:()V
         1: .line 2619
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
            ifnull 4
         2: .line 2620
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/Statistics;
            invokeinterface org.hibernate.stat.Statistics.isStatisticsEnabled:()Z
            ifeq 4
         3: .line 2619
            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 2621
            lconst_0
            lstore 6 /* startTime */
        start local 6 // long startTime
         7: .line 2622
            iload 5 /* stats */
            ifeq 8
            invokestatic java.lang.System.nanoTime:()J
            lstore 6 /* startTime */
         8: .line 2627
      StackMap locals: int long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* queryParameters */
            iconst_1
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            aload 4 /* session */
            invokevirtual org.hibernate.loader.Loader.executeQueryStatement:(Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
            astore 8 /* wrapper */
        start local 8 // org.hibernate.loader.Loader$SqlStatementWrapper wrapper
         9: .line 2628
            aload 8 /* wrapper */
            invokevirtual org.hibernate.loader.Loader$SqlStatementWrapper.getResultSet:()Ljava/sql/ResultSet;
            astore 9 /* rs */
        start local 9 // java.sql.ResultSet rs
        10: .line 2629
            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
        11: .line 2631
            iload 5 /* stats */
            ifeq 19
        12: .line 2632
            invokestatic java.lang.System.nanoTime:()J
            lstore 11 /* endTime */
        start local 11 // long endTime
        13: .line 2633
            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
        14: .line 2634
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatisticsImplementor:()Lorg/hibernate/stat/spi/StatisticsImplementor;
        15: .line 2635
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getQueryIdentifier:()Ljava/lang/String;
        16: .line 2636
            iconst_0
        17: .line 2637
            lload 13 /* milliseconds */
        18: .line 2634
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.queryExecuted:(Ljava/lang/String;IJ)V
        end local 13 // long milliseconds
        end local 11 // long endTime
        19: .line 2641
      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 30
        20: .line 2642
            new org.hibernate.internal.FetchingScrollableResultsImpl
            dup
        21: .line 2643
            aload 9 /* rs */
        22: .line 2644
            aload 10 /* st */
        23: .line 2645
            aload 4 /* session */
        24: .line 2646
            aload 0 /* this */
        25: .line 2647
            aload 1 /* queryParameters */
        26: .line 2648
            aload 2 /* returnTypes */
        27: .line 2649
            aload 3 /* holderInstantiator */
        28: .line 2642
            invokespecial org.hibernate.internal.FetchingScrollableResultsImpl.<init>:(Ljava/sql/ResultSet;Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/loader/Loader;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/type/Type;Lorg/hibernate/hql/internal/HolderInstantiator;)V
        29: areturn
        30: .line 2653
      StackMap locals:
      StackMap stack:
            new org.hibernate.internal.ScrollableResultsImpl
            dup
        31: .line 2654
            aload 9 /* rs */
        32: .line 2655
            aload 10 /* st */
        33: .line 2656
            aload 4 /* session */
        34: .line 2657
            aload 0 /* this */
        35: .line 2658
            aload 1 /* queryParameters */
        36: .line 2659
            aload 2 /* returnTypes */
        37: .line 2660
            aload 3 /* holderInstantiator */
        38: .line 2653
            invokespecial org.hibernate.internal.ScrollableResultsImpl.<init>:(Ljava/sql/ResultSet;Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/loader/Loader;Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/type/Type;Lorg/hibernate/hql/internal/HolderInstantiator;)V
        39: areturn
        end local 10 // java.sql.PreparedStatement st
        end local 9 // java.sql.ResultSet rs
        end local 8 // org.hibernate.loader.Loader$SqlStatementWrapper wrapper
        40: .line 2665
      StackMap locals: org.hibernate.loader.Loader org.hibernate.engine.spi.QueryParameters org.hibernate.type.Type[] org.hibernate.hql.internal.HolderInstantiator org.hibernate.engine.spi.SessionImplementor int long
      StackMap stack: java.sql.SQLException
            astore 8 /* sqle */
        start local 8 // java.sql.SQLException sqle
        41: .line 2666
            aload 0 /* this */
            getfield org.hibernate.loader.Loader.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        42: .line 2667
            aload 8 /* sqle */
        43: .line 2668
            ldc "could not execute query using scroll"
        44: .line 2669
            aload 0 /* this */
            invokevirtual org.hibernate.loader.Loader.getSQLString:()Ljava/lang/String;
        45: .line 2666
            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.SessionImplementor 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   46     0                this  Lorg/hibernate/loader/Loader;
            0   46     1     queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   46     2         returnTypes  [Lorg/hibernate/type/Type;
            0   46     3  holderInstantiator  Lorg/hibernate/hql/internal/HolderInstantiator;
            0   46     4             session  Lorg/hibernate/engine/spi/SessionImplementor;
            6   46     5               stats  Z
            7   46     6           startTime  J
            9   40     8             wrapper  Lorg/hibernate/loader/Loader$SqlStatementWrapper;
           10   40     9                  rs  Ljava/sql/ResultSet;
           11   40    10                  st  Ljava/sql/PreparedStatement;
           13   19    11             endTime  J
           14   19    13        milliseconds  J
           41   46     8                sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           8    29      40  Class java.sql.SQLException
          30    39      40  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 2679
            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 2693
            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 2697
            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 2702
            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;
}
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