public class org.hibernate.loader.hql.QueryLoader extends org.hibernate.loader.BasicLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.loader.hql.QueryLoader
  super_class: org.hibernate.loader.BasicLoader
{
  private org.hibernate.hql.internal.ast.QueryTranslatorImpl queryTranslator;
    descriptor: Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.persister.entity.Queryable[] entityPersisters;
    descriptor: [Lorg/hibernate/persister/entity/Queryable;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] entityAliases;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] sqlAliases;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] sqlAliasSuffixes;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean[] includeInSelect;
    descriptor: [Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] collectionSuffixes;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  private java.lang.String[][] scalarColumnNames;
    descriptor: [[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.type.Type[] queryReturnTypes;
    descriptor: [Lorg/hibernate/type/Type;
    flags: (0x0002) ACC_PRIVATE

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

  private org.hibernate.type.EntityType[] ownerAssociationTypes;
    descriptor: [Lorg/hibernate/type/EntityType;
    flags: (0x0002) ACC_PRIVATE

  private int[] owners;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private boolean[] entityEagerPropertyFetches;
    descriptor: [Z
    flags: (0x0002) ACC_PRIVATE

  private int[] collectionOwners;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.persister.collection.QueryableCollection[] collectionPersisters;
    descriptor: [Lorg/hibernate/persister/collection/QueryableCollection;
    flags: (0x0002) ACC_PRIVATE

  private int selectLength;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.hql.internal.ast.tree.AggregatedSelectExpression aggregatedSelectExpression;
    descriptor: Lorg/hibernate/hql/internal/ast/tree/AggregatedSelectExpression;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] queryReturnAliases;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.LockMode[] defaultLockModes;
    descriptor: [Lorg/hibernate/LockMode;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.hibernate.hql.internal.ast.QueryTranslatorImpl, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.hql.internal.ast.tree.SelectClause);
    descriptor: (Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/hql/internal/ast/tree/SelectClause;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // org.hibernate.hql.internal.ast.QueryTranslatorImpl queryTranslator
        start local 2 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        start local 3 // org.hibernate.hql.internal.ast.tree.SelectClause selectClause
         0: .line 105
            aload 0 /* this */
            aload 2 /* factory */
            invokespecial org.hibernate.loader.BasicLoader.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
         1: .line 77
            aload 0 /* this */
            new java.util.HashMap
            dup
            bipush 8
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.hibernate.loader.hql.QueryLoader.sqlAliasByEntityAlias:Ljava/util/Map;
         2: .line 106
            aload 0 /* this */
            aload 1 /* queryTranslator */
            putfield org.hibernate.loader.hql.QueryLoader.queryTranslator:Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
         3: .line 107
            aload 0 /* this */
            aload 3 /* selectClause */
            invokevirtual org.hibernate.loader.hql.QueryLoader.initialize:(Lorg/hibernate/hql/internal/ast/tree/SelectClause;)V
         4: .line 108
            aload 0 /* this */
            invokevirtual org.hibernate.loader.hql.QueryLoader.postInstantiate:()V
         5: .line 109
            return
        end local 3 // org.hibernate.hql.internal.ast.tree.SelectClause selectClause
        end local 2 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 1 // org.hibernate.hql.internal.ast.QueryTranslatorImpl queryTranslator
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/hibernate/loader/hql/QueryLoader;
            0    6     1  queryTranslator  Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
            0    6     2          factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0    6     3     selectClause  Lorg/hibernate/hql/internal/ast/tree/SelectClause;
    MethodParameters:
                 Name  Flags
      queryTranslator  final
      factory          final
      selectClause     final

  private void initialize(org.hibernate.hql.internal.ast.tree.SelectClause);
    descriptor: (Lorg/hibernate/hql/internal/ast/tree/SelectClause;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // org.hibernate.hql.internal.ast.tree.SelectClause selectClause
         0: .line 113
            aload 1 /* selectClause */
            invokevirtual org.hibernate.hql.internal.ast.tree.SelectClause.getFromElementsForLoad:()Ljava/util/List;
            astore 2 /* fromElementList */
        start local 2 // java.util.List fromElementList
         1: .line 115
            aload 0 /* this */
            aload 1 /* selectClause */
            invokevirtual org.hibernate.hql.internal.ast.tree.SelectClause.isScalarSelect:()Z
            putfield org.hibernate.loader.hql.QueryLoader.hasScalars:Z
         2: .line 116
            aload 0 /* this */
            aload 1 /* selectClause */
            invokevirtual org.hibernate.hql.internal.ast.tree.SelectClause.getColumnNames:()[[Ljava/lang/String;
            putfield org.hibernate.loader.hql.QueryLoader.scalarColumnNames:[[Ljava/lang/String;
         3: .line 118
            aload 0 /* this */
            aload 1 /* selectClause */
            invokevirtual org.hibernate.hql.internal.ast.tree.SelectClause.getQueryReturnTypes:()[Lorg/hibernate/type/Type;
            putfield org.hibernate.loader.hql.QueryLoader.queryReturnTypes:[Lorg/hibernate/type/Type;
         4: .line 120
            aload 0 /* this */
            aload 1 /* selectClause */
            invokevirtual org.hibernate.hql.internal.ast.tree.SelectClause.getAggregatedSelectExpression:()Lorg/hibernate/hql/internal/ast/tree/AggregatedSelectExpression;
            putfield org.hibernate.loader.hql.QueryLoader.aggregatedSelectExpression:Lorg/hibernate/hql/internal/ast/tree/AggregatedSelectExpression;
         5: .line 121
            aload 0 /* this */
            aload 1 /* selectClause */
            invokevirtual org.hibernate.hql.internal.ast.tree.SelectClause.getQueryReturnAliases:()[Ljava/lang/String;
            putfield org.hibernate.loader.hql.QueryLoader.queryReturnAliases:[Ljava/lang/String;
         6: .line 123
            aload 1 /* selectClause */
            invokevirtual org.hibernate.hql.internal.ast.tree.SelectClause.getCollectionFromElements:()Ljava/util/List;
            astore 3 /* collectionFromElements */
        start local 3 // java.util.List collectionFromElements
         7: .line 124
            aload 3 /* collectionFromElements */
            ifnull 20
            aload 3 /* collectionFromElements */
            invokeinterface java.util.List.size:()I
            ifeq 20
         8: .line 125
            aload 3 /* collectionFromElements */
            invokeinterface java.util.List.size:()I
            istore 4 /* length */
        start local 4 // int length
         9: .line 126
            aload 0 /* this */
            iload 4 /* length */
            anewarray org.hibernate.persister.collection.QueryableCollection
            putfield org.hibernate.loader.hql.QueryLoader.collectionPersisters:[Lorg/hibernate/persister/collection/QueryableCollection;
        10: .line 127
            aload 0 /* this */
            iload 4 /* length */
            newarray 10
            putfield org.hibernate.loader.hql.QueryLoader.collectionOwners:[I
        11: .line 128
            aload 0 /* this */
            iload 4 /* length */
            anewarray java.lang.String
            putfield org.hibernate.loader.hql.QueryLoader.collectionSuffixes:[Ljava/lang/String;
        12: .line 129
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        13: goto 19
        14: .line 130
      StackMap locals: org.hibernate.loader.hql.QueryLoader org.hibernate.hql.internal.ast.tree.SelectClause java.util.List java.util.List int int
      StackMap stack:
            aload 3 /* collectionFromElements */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.hql.internal.ast.tree.FromElement
            astore 6 /* collectionFromElement */
        start local 6 // org.hibernate.hql.internal.ast.tree.FromElement collectionFromElement
        15: .line 131
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.collectionPersisters:[Lorg/hibernate/persister/collection/QueryableCollection;
            iload 5 /* i */
            aload 6 /* collectionFromElement */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getQueryableCollection:()Lorg/hibernate/persister/collection/QueryableCollection;
            aastore
        16: .line 132
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.collectionOwners:[I
            iload 5 /* i */
            aload 2 /* fromElementList */
            aload 6 /* collectionFromElement */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getOrigin:()Lorg/hibernate/hql/internal/ast/tree/FromElement;
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            iastore
        17: .line 135
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.collectionSuffixes:[Ljava/lang/String;
            iload 5 /* i */
            aload 6 /* collectionFromElement */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getCollectionSuffix:()Ljava/lang/String;
            aastore
        end local 6 // org.hibernate.hql.internal.ast.tree.FromElement collectionFromElement
        18: .line 129
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            iload 4 /* length */
            if_icmplt 14
        end local 5 // int i
        end local 4 // int length
        20: .line 139
      StackMap locals:
      StackMap stack:
            aload 2 /* fromElementList */
            invokeinterface java.util.List.size:()I
            istore 4 /* size */
        start local 4 // int size
        21: .line 140
            aload 0 /* this */
            iload 4 /* size */
            anewarray org.hibernate.persister.entity.Queryable
            putfield org.hibernate.loader.hql.QueryLoader.entityPersisters:[Lorg/hibernate/persister/entity/Queryable;
        22: .line 141
            aload 0 /* this */
            iload 4 /* size */
            newarray 4
            putfield org.hibernate.loader.hql.QueryLoader.entityEagerPropertyFetches:[Z
        23: .line 142
            aload 0 /* this */
            iload 4 /* size */
            anewarray java.lang.String
            putfield org.hibernate.loader.hql.QueryLoader.entityAliases:[Ljava/lang/String;
        24: .line 143
            aload 0 /* this */
            iload 4 /* size */
            anewarray java.lang.String
            putfield org.hibernate.loader.hql.QueryLoader.sqlAliases:[Ljava/lang/String;
        25: .line 144
            aload 0 /* this */
            iload 4 /* size */
            anewarray java.lang.String
            putfield org.hibernate.loader.hql.QueryLoader.sqlAliasSuffixes:[Ljava/lang/String;
        26: .line 145
            aload 0 /* this */
            iload 4 /* size */
            newarray 4
            putfield org.hibernate.loader.hql.QueryLoader.includeInSelect:[Z
        27: .line 146
            aload 0 /* this */
            iload 4 /* size */
            newarray 10
            putfield org.hibernate.loader.hql.QueryLoader.owners:[I
        28: .line 147
            aload 0 /* this */
            iload 4 /* size */
            anewarray org.hibernate.type.EntityType
            putfield org.hibernate.loader.hql.QueryLoader.ownerAssociationTypes:[Lorg/hibernate/type/EntityType;
        29: .line 149
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        30: goto 56
        31: .line 150
      StackMap locals: int int
      StackMap stack:
            aload 2 /* fromElementList */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.hql.internal.ast.tree.FromElement
            astore 6 /* element */
        start local 6 // org.hibernate.hql.internal.ast.tree.FromElement element
        32: .line 151
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.entityPersisters:[Lorg/hibernate/persister/entity/Queryable;
            iload 5 /* i */
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            checkcast org.hibernate.persister.entity.Queryable
            aastore
        33: .line 153
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.entityPersisters:[Lorg/hibernate/persister/entity/Queryable;
            iload 5 /* i */
            aaload
            ifnonnull 35
        34: .line 154
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No entity persister for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 157
      StackMap locals: org.hibernate.hql.internal.ast.tree.FromElement
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.entityEagerPropertyFetches:[Z
            iload 5 /* i */
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.isAllPropertyFetch:()Z
            bastore
        36: .line 158
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.sqlAliases:[Ljava/lang/String;
            iload 5 /* i */
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getTableAlias:()Ljava/lang/String;
            aastore
        37: .line 159
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.entityAliases:[Ljava/lang/String;
            iload 5 /* i */
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getClassAlias:()Ljava/lang/String;
            aastore
        38: .line 160
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.sqlAliasByEntityAlias:Ljava/util/Map;
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.entityAliases:[Ljava/lang/String;
            iload 5 /* i */
            aaload
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.sqlAliases:[Ljava/lang/String;
            iload 5 /* i */
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 162
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.sqlAliasSuffixes:[Ljava/lang/String;
            iload 5 /* i */
            iload 4 /* size */
            iconst_1
            if_icmpne 40
            ldc ""
            goto 41
      StackMap locals: org.hibernate.loader.hql.QueryLoader org.hibernate.hql.internal.ast.tree.SelectClause java.util.List java.util.List int int org.hibernate.hql.internal.ast.tree.FromElement
      StackMap stack: java.lang.String[] int
        40: new java.lang.StringBuilder
            dup
            iload 5 /* i */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
      StackMap locals: org.hibernate.loader.hql.QueryLoader org.hibernate.hql.internal.ast.tree.SelectClause java.util.List java.util.List int int org.hibernate.hql.internal.ast.tree.FromElement
      StackMap stack: java.lang.String[] int java.lang.String
        41: aastore
        42: .line 164
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.includeInSelect:[Z
            iload 5 /* i */
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.isFetch:()Z
            ifeq 43
            iconst_0
            goto 44
      StackMap locals: org.hibernate.loader.hql.QueryLoader org.hibernate.hql.internal.ast.tree.SelectClause java.util.List java.util.List int int org.hibernate.hql.internal.ast.tree.FromElement
      StackMap stack: boolean[] int
        43: iconst_1
      StackMap locals: org.hibernate.loader.hql.QueryLoader org.hibernate.hql.internal.ast.tree.SelectClause java.util.List java.util.List int int org.hibernate.hql.internal.ast.tree.FromElement
      StackMap stack: boolean[] int int
        44: bastore
        45: .line 165
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.includeInSelect:[Z
            iload 5 /* i */
            baload
            ifeq 47
        46: .line 166
            aload 0 /* this */
            dup
            getfield org.hibernate.loader.hql.QueryLoader.selectLength:I
            iconst_1
            iadd
            putfield org.hibernate.loader.hql.QueryLoader.selectLength:I
        47: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.owners:[I
            iload 5 /* i */
            iconst_m1
            iastore
        48: .line 170
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.isFetch:()Z
            ifeq 55
        49: .line 172
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.isCollectionJoin:()Z
            ifne 55
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getQueryableCollection:()Lorg/hibernate/persister/collection/QueryableCollection;
            ifnonnull 55
        50: .line 175
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getDataType:()Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.isEntityType:()Z
            ifeq 55
        51: .line 176
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getDataType:()Lorg/hibernate/type/Type;
            checkcast org.hibernate.type.EntityType
            astore 7 /* entityType */
        start local 7 // org.hibernate.type.EntityType entityType
        52: .line 177
            aload 7 /* entityType */
            invokevirtual org.hibernate.type.EntityType.isOneToOne:()Z
            ifeq 54
        53: .line 178
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.owners:[I
            iload 5 /* i */
            aload 2 /* fromElementList */
            aload 6 /* element */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getOrigin:()Lorg/hibernate/hql/internal/ast/tree/FromElement;
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            iastore
        54: .line 180
      StackMap locals: org.hibernate.type.EntityType
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.ownerAssociationTypes:[Lorg/hibernate/type/EntityType;
            iload 5 /* i */
            aload 7 /* entityType */
            aastore
        end local 7 // org.hibernate.type.EntityType entityType
        end local 6 // org.hibernate.hql.internal.ast.tree.FromElement element
        55: .line 149
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 5 /* i */
            iload 4 /* size */
            if_icmplt 31
        end local 5 // int i
        57: .line 186
            aload 0 /* this */
            getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
            iload 4 /* size */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.fillArray:(Lorg/hibernate/LockMode;I)[Lorg/hibernate/LockMode;
            putfield org.hibernate.loader.hql.QueryLoader.defaultLockModes:[Lorg/hibernate/LockMode;
        58: .line 187
            return
        end local 4 // int size
        end local 3 // java.util.List collectionFromElements
        end local 2 // java.util.List fromElementList
        end local 1 // org.hibernate.hql.internal.ast.tree.SelectClause selectClause
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   59     0                    this  Lorg/hibernate/loader/hql/QueryLoader;
            0   59     1            selectClause  Lorg/hibernate/hql/internal/ast/tree/SelectClause;
            1   59     2         fromElementList  Ljava/util/List;
            7   59     3  collectionFromElements  Ljava/util/List;
            9   20     4                  length  I
           13   20     5                       i  I
           15   18     6   collectionFromElement  Lorg/hibernate/hql/internal/ast/tree/FromElement;
           21   59     4                    size  I
           30   57     5                       i  I
           32   55     6                 element  Lorg/hibernate/hql/internal/ast/tree/FromElement;
           52   55     7              entityType  Lorg/hibernate/type/EntityType;
    MethodParameters:
              Name  Flags
      selectClause  

  public org.hibernate.hql.internal.ast.tree.AggregatedSelectExpression getAggregatedSelectExpression();
    descriptor: ()Lorg/hibernate/hql/internal/ast/tree/AggregatedSelectExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.hql.QueryLoader this
         0: .line 190
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.aggregatedSelectExpression:Lorg/hibernate/hql/internal/ast/tree/AggregatedSelectExpression;
            areturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  public final void validateScrollability();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.hql.QueryLoader this
         0: .line 197
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryTranslator:Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
            invokevirtual org.hibernate.hql.internal.ast.QueryTranslatorImpl.validateScrollability:()V
         1: .line 198
            return
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/loader/hql/QueryLoader;
    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.hql.QueryLoader this
         0: .line 202
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryTranslator:Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
            invokevirtual org.hibernate.hql.internal.ast.QueryTranslatorImpl.containsCollectionFetches:()Z
            ireturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  public org.hibernate.persister.entity.Loadable[] getEntityPersisters();
    descriptor: ()[Lorg/hibernate/persister/entity/Loadable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.hql.QueryLoader this
         0: .line 207
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.entityPersisters:[Lorg/hibernate/persister/entity/Queryable;
            areturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  public java.lang.String[] getAliases();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.hql.QueryLoader this
         0: .line 212
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.sqlAliases:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  public java.lang.String[] getSqlAliasSuffixes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.hql.QueryLoader this
         0: .line 216
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.sqlAliasSuffixes:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  public java.lang.String[] getSuffixes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.hql.QueryLoader this
         0: .line 221
            aload 0 /* this */
            invokevirtual org.hibernate.loader.hql.QueryLoader.getSqlAliasSuffixes:()[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  public java.lang.String[] getCollectionSuffixes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.hql.QueryLoader this
         0: .line 226
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.collectionSuffixes:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  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.hql.QueryLoader this
         0: .line 231
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryTranslator:Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
            invokevirtual org.hibernate.hql.internal.ast.QueryTranslatorImpl.getQueryIdentifier:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  public java.lang.String getSQLString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.hql.QueryLoader this
         0: .line 239
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryTranslator:Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
            invokevirtual org.hibernate.hql.internal.ast.QueryTranslatorImpl.getSQLString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  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.hql.QueryLoader this
         0: .line 248
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.collectionPersisters:[Lorg/hibernate/persister/collection/QueryableCollection;
            areturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

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

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

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

  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.hql.QueryLoader this
         0: .line 272
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.ownerAssociationTypes:[Lorg/hibernate/type/EntityType;
            areturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  protected boolean isSubselectLoadingEnabled();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.hql.QueryLoader this
         0: .line 278
            aload 0 /* this */
            invokevirtual org.hibernate.loader.hql.QueryLoader.hasSubselectLoadableCollections:()Z
            ireturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  protected org.hibernate.LockMode[] getLockModes(org.hibernate.LockOptions);
    descriptor: (Lorg/hibernate/LockOptions;)[Lorg/hibernate/LockMode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // org.hibernate.LockOptions lockOptions
         0: .line 286
            aload 1 /* lockOptions */
            ifnonnull 2
         1: .line 287
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.defaultLockModes:[Lorg/hibernate/LockMode;
            areturn
         2: .line 290
      StackMap locals:
      StackMap stack:
            aload 1 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getAliasLockCount:()I
            ifne 5
         3: .line 291
            aload 1 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getLockMode:()Lorg/hibernate/LockMode;
            ifnull 4
            getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
            aload 1 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getLockMode:()Lorg/hibernate/LockMode;
            invokevirtual org.hibernate.LockMode.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.defaultLockModes:[Lorg/hibernate/LockMode;
            areturn
         5: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.entityAliases:[Ljava/lang/String;
            arraylength
            anewarray org.hibernate.LockMode
            astore 2 /* lockModesArray */
        start local 2 // org.hibernate.LockMode[] lockModesArray
         6: .line 300
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 13
         8: .line 301
      StackMap locals: org.hibernate.LockMode[] int
      StackMap stack:
            aload 1 /* lockOptions */
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.entityAliases:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            invokevirtual org.hibernate.LockOptions.getEffectiveLockMode:(Ljava/lang/String;)Lorg/hibernate/LockMode;
            astore 4 /* lockMode */
        start local 4 // org.hibernate.LockMode lockMode
         9: .line 302
            aload 4 /* lockMode */
            ifnonnull 11
        10: .line 304
            getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
            astore 4 /* lockMode */
        11: .line 306
      StackMap locals: org.hibernate.LockMode
      StackMap stack:
            aload 2 /* lockModesArray */
            iload 3 /* i */
            aload 4 /* lockMode */
            aastore
        end local 4 // org.hibernate.LockMode lockMode
        12: .line 300
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.entityAliases:[Ljava/lang/String;
            arraylength
            if_icmplt 8
        end local 3 // int i
        14: .line 309
            aload 2 /* lockModesArray */
            areturn
        end local 2 // org.hibernate.LockMode[] lockModesArray
        end local 1 // org.hibernate.LockOptions lockOptions
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lorg/hibernate/loader/hql/QueryLoader;
            0   15     1     lockOptions  Lorg/hibernate/LockOptions;
            6   15     2  lockModesArray  [Lorg/hibernate/LockMode;
            7   14     3               i  I
            9   12     4        lockMode  Lorg/hibernate/LockMode;
    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=5, locals=16, args_size=5
        start local 0 // org.hibernate.loader.hql.QueryLoader 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 322
            aload 2 /* parameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getLockOptions:()Lorg/hibernate/LockOptions;
            astore 5 /* lockOptions */
        start local 5 // org.hibernate.LockOptions lockOptions
         1: .line 324
            aload 5 /* lockOptions */
            ifnull 3
         2: .line 325
            aload 5 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getLockMode:()Lorg/hibernate/LockMode;
            getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
            if_acmpne 4
            aload 5 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getAliasLockCount:()I
            ifne 4
         3: .line 326
      StackMap locals: org.hibernate.LockOptions
      StackMap stack:
            aload 1 /* sql */
            areturn
         4: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* parameters */
            aload 3 /* dialect */
            aload 4 /* afterLoadActions */
            invokevirtual org.hibernate.loader.hql.QueryLoader.shouldUseFollowOnLocking:(Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/dialect/Dialect;Ljava/util/List;)Z
            ifeq 6
         5: .line 334
            aload 1 /* sql */
            areturn
         6: .line 343
      StackMap locals:
      StackMap stack:
            new org.hibernate.LockOptions
            dup
            aload 5 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getLockMode:()Lorg/hibernate/LockMode;
            invokespecial org.hibernate.LockOptions.<init>:(Lorg/hibernate/LockMode;)V
            astore 6 /* locks */
        start local 6 // org.hibernate.LockOptions locks
         7: .line 344
            aload 3 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.forUpdateOfColumns:()Z
            ifeq 9
         8: .line 345
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            goto 10
         9: .line 346
      StackMap locals: org.hibernate.LockOptions
      StackMap stack:
            aconst_null
        10: .line 344
      StackMap locals:
      StackMap stack: java.util.HashMap
            astore 7 /* keyColumnNames */
        start local 7 // java.util.Map keyColumnNames
        11: .line 348
            aload 6 /* locks */
            aload 5 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getScope:()Z
            invokevirtual org.hibernate.LockOptions.setScope:(Z)Lorg/hibernate/LockOptions;
            pop
        12: .line 349
            aload 6 /* locks */
            aload 5 /* lockOptions */
            invokevirtual org.hibernate.LockOptions.getTimeOut:()I
            invokevirtual org.hibernate.LockOptions.setTimeOut:(I)Lorg/hibernate/LockOptions;
            pop
        13: .line 351
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.sqlAliasByEntityAlias:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 29
      StackMap locals: org.hibernate.loader.hql.QueryLoader java.lang.String org.hibernate.engine.spi.QueryParameters org.hibernate.dialect.Dialect java.util.List org.hibernate.LockOptions org.hibernate.LockOptions java.util.Map top java.util.Iterator
      StackMap stack:
        14: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 8 /* entry */
        start local 8 // java.util.Map$Entry entry
        15: .line 352
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* userAlias */
        start local 10 // java.lang.String userAlias
        16: .line 353
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* drivingSqlAlias */
        start local 11 // java.lang.String drivingSqlAlias
        17: .line 354
            aload 11 /* drivingSqlAlias */
            ifnonnull 19
        18: .line 355
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "could not locate alias to apply lock mode : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* userAlias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 363
      StackMap locals: org.hibernate.loader.hql.QueryLoader java.lang.String org.hibernate.engine.spi.QueryParameters org.hibernate.dialect.Dialect java.util.List org.hibernate.LockOptions org.hibernate.LockOptions java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryTranslator:Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
            invokevirtual org.hibernate.hql.internal.ast.QueryTranslatorImpl.getSqlAST:()Lorg/hibernate/hql/internal/ast/tree/Statement;
            checkcast org.hibernate.hql.internal.ast.tree.QueryNode
            astore 12 /* select */
        start local 12 // org.hibernate.hql.internal.ast.tree.QueryNode select
        20: .line 364
            aload 12 /* select */
            invokevirtual org.hibernate.hql.internal.ast.tree.QueryNode.getFromClause:()Lorg/hibernate/hql/internal/ast/tree/FromClause;
        21: .line 365
            aload 10 /* userAlias */
            aload 11 /* drivingSqlAlias */
            invokevirtual org.hibernate.hql.internal.ast.tree.FromClause.findFromElementByUserOrSqlAlias:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/hql/internal/ast/tree/FromElement;
        22: .line 366
            invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getQueryable:()Lorg/hibernate/persister/entity/Queryable;
        23: .line 364
            checkcast org.hibernate.persister.entity.Lockable
            astore 13 /* drivingPersister */
        start local 13 // org.hibernate.persister.entity.Lockable drivingPersister
        24: .line 367
            aload 13 /* drivingPersister */
            aload 11 /* drivingSqlAlias */
            invokeinterface org.hibernate.persister.entity.Lockable.getRootTableAlias:(Ljava/lang/String;)Ljava/lang/String;
            astore 14 /* sqlAlias */
        start local 14 // java.lang.String sqlAlias
        25: .line 369
            aload 5 /* lockOptions */
            aload 10 /* userAlias */
            invokevirtual org.hibernate.LockOptions.getEffectiveLockMode:(Ljava/lang/String;)Lorg/hibernate/LockMode;
            astore 15 /* effectiveLockMode */
        start local 15 // org.hibernate.LockMode effectiveLockMode
        26: .line 370
            aload 6 /* locks */
            aload 14 /* sqlAlias */
            aload 15 /* effectiveLockMode */
            invokevirtual org.hibernate.LockOptions.setAliasSpecificLockMode:(Ljava/lang/String;Lorg/hibernate/LockMode;)Lorg/hibernate/LockOptions;
            pop
        27: .line 372
            aload 7 /* keyColumnNames */
            ifnull 29
        28: .line 373
            aload 7 /* keyColumnNames */
            aload 14 /* sqlAlias */
            aload 13 /* drivingPersister */
            invokeinterface org.hibernate.persister.entity.Lockable.getRootTableIdentifierColumnNames:()[Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // org.hibernate.LockMode effectiveLockMode
        end local 14 // java.lang.String sqlAlias
        end local 13 // org.hibernate.persister.entity.Lockable drivingPersister
        end local 12 // org.hibernate.hql.internal.ast.tree.QueryNode select
        end local 11 // java.lang.String drivingSqlAlias
        end local 10 // java.lang.String userAlias
        end local 8 // java.util.Map$Entry entry
        29: .line 351
      StackMap locals: org.hibernate.loader.hql.QueryLoader java.lang.String org.hibernate.engine.spi.QueryParameters org.hibernate.dialect.Dialect java.util.List org.hibernate.LockOptions org.hibernate.LockOptions java.util.Map top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        30: .line 378
            aload 3 /* dialect */
            aload 1 /* sql */
            aload 6 /* locks */
            aload 7 /* keyColumnNames */
            invokevirtual org.hibernate.dialect.Dialect.applyLocksToSql:(Ljava/lang/String;Lorg/hibernate/LockOptions;Ljava/util/Map;)Ljava/lang/String;
            areturn
        end local 7 // java.util.Map keyColumnNames
        end local 6 // org.hibernate.LockOptions locks
        end local 5 // org.hibernate.LockOptions lockOptions
        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.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   31     0               this  Lorg/hibernate/loader/hql/QueryLoader;
            0   31     1                sql  Ljava/lang/String;
            0   31     2         parameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   31     3            dialect  Lorg/hibernate/dialect/Dialect;
            0   31     4   afterLoadActions  Ljava/util/List<Lorg/hibernate/loader/spi/AfterLoadAction;>;
            1   31     5        lockOptions  Lorg/hibernate/LockOptions;
            7   31     6              locks  Lorg/hibernate/LockOptions;
           11   31     7     keyColumnNames  Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;
           15   29     8              entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           16   29    10          userAlias  Ljava/lang/String;
           17   29    11    drivingSqlAlias  Ljava/lang/String;
           20   29    12             select  Lorg/hibernate/hql/internal/ast/tree/QueryNode;
           24   29    13   drivingPersister  Lorg/hibernate/persister/entity/Lockable;
           25   29    14           sqlAlias  Ljava/lang/String;
           26   29    15  effectiveLockMode  Lorg/hibernate/LockMode;
    Exceptions:
      throws org.hibernate.QueryException
    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 void applyPostLoadLocks(java.lang.Object[], org.hibernate.LockMode[], org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: ([Ljava/lang/Object;[Lorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // java.lang.Object[] row
        start local 2 // org.hibernate.LockMode[] lockModesArray
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 396
            return
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // org.hibernate.LockMode[] lockModesArray
        end local 1 // java.lang.Object[] row
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/hibernate/loader/hql/QueryLoader;
            0    1     1             row  [Ljava/lang/Object;
            0    1     2  lockModesArray  [Lorg/hibernate/LockMode;
            0    1     3         session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    MethodParameters:
                Name  Flags
      row             
      lockModesArray  
      session         

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

  private boolean hasSelectNew();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.hql.QueryLoader this
         0: .line 404
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.aggregatedSelectExpression:Lorg/hibernate/hql/internal/ast/tree/AggregatedSelectExpression;
            ifnull 1
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.aggregatedSelectExpression:Lorg/hibernate/hql/internal/ast/tree/AggregatedSelectExpression;
            invokeinterface org.hibernate.hql.internal.ast.tree.AggregatedSelectExpression.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  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.hql.QueryLoader this
         0: .line 409
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryReturnAliases:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/hql/QueryLoader;

  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=2, locals=3, args_size=2
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // org.hibernate.transform.ResultTransformer resultTransformer
         0: .line 414
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.aggregatedSelectExpression:Lorg/hibernate/hql/internal/ast/tree/AggregatedSelectExpression;
            ifnonnull 2
         1: .line 415
            aconst_null
            goto 3
         2: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.aggregatedSelectExpression:Lorg/hibernate/hql/internal/ast/tree/AggregatedSelectExpression;
            invokeinterface org.hibernate.hql.internal.ast.tree.AggregatedSelectExpression.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
         3: .line 414
      StackMap locals:
      StackMap stack: org.hibernate.transform.ResultTransformer
            astore 2 /* implicitResultTransformer */
        start local 2 // org.hibernate.transform.ResultTransformer implicitResultTransformer
         4: .line 417
            aload 2 /* implicitResultTransformer */
            aload 1 /* resultTransformer */
            invokestatic org.hibernate.hql.internal.HolderInstantiator.resolveResultTransformer:(Lorg/hibernate/transform/ResultTransformer;Lorg/hibernate/transform/ResultTransformer;)Lorg/hibernate/transform/ResultTransformer;
            areturn
        end local 2 // org.hibernate.transform.ResultTransformer implicitResultTransformer
        end local 1 // org.hibernate.transform.ResultTransformer resultTransformer
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    5     0                       this  Lorg/hibernate/loader/hql/QueryLoader;
            0    5     1          resultTransformer  Lorg/hibernate/transform/ResultTransformer;
            4    5     2  implicitResultTransformer  Lorg/hibernate/transform/ResultTransformer;
    MethodParameters:
                   Name  Flags
      resultTransformer  

  protected boolean[] includeInResultRow();
    descriptor: ()[Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.loader.hql.QueryLoader this
         0: .line 422
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.includeInSelect:[Z
            astore 1 /* includeInResultTuple */
        start local 1 // boolean[] includeInResultTuple
         1: .line 423
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.hasScalars:Z
            ifeq 4
         2: .line 424
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryReturnTypes:[Lorg/hibernate/type/Type;
            arraylength
            newarray 4
            astore 1 /* includeInResultTuple */
         3: .line 425
            aload 1 /* includeInResultTuple */
            iconst_1
            invokestatic java.util.Arrays.fill:([ZZ)V
         4: .line 427
      StackMap locals: boolean[]
      StackMap stack:
            aload 1 /* includeInResultTuple */
            areturn
        end local 1 // boolean[] includeInResultTuple
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lorg/hibernate/loader/hql/QueryLoader;
            1    5     1  includeInResultTuple  [Z

  protected java.lang.Object getResultColumnOrRow(java.lang.Object[], org.hibernate.transform.ResultTransformer, java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: ([Ljava/lang/Object;Lorg/hibernate/transform/ResultTransformer;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // java.lang.Object[] row
        start local 2 // org.hibernate.transform.ResultTransformer transformer
        start local 3 // java.sql.ResultSet rs
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 438
            aload 0 /* this */
            aload 1 /* row */
            aload 3 /* rs */
            aload 4 /* session */
            invokevirtual org.hibernate.loader.hql.QueryLoader.getResultRow:([Ljava/lang/Object;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)[Ljava/lang/Object;
            astore 5 /* resultRow */
        start local 5 // java.lang.Object[] resultRow
         1: .line 439
            aload 0 /* this */
            invokevirtual org.hibernate.loader.hql.QueryLoader.hasSelectNew:()Z
            ifne 2
            aload 2 /* transformer */
            ifnonnull 2
            iconst_0
            goto 3
      StackMap locals: java.lang.Object[]
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 6 /* hasTransform */
        start local 6 // boolean hasTransform
         4: .line 440
            iload 6 /* hasTransform */
            ifne 6
            aload 5 /* resultRow */
            arraylength
            iconst_1
            if_icmpne 6
         5: .line 441
            aload 5 /* resultRow */
            iconst_0
            aaload
            goto 7
         6: .line 442
      StackMap locals: int
      StackMap stack:
            aload 5 /* resultRow */
         7: .line 440
      StackMap locals:
      StackMap stack: java.lang.Object
            areturn
        end local 6 // boolean hasTransform
        end local 5 // java.lang.Object[] resultRow
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // java.sql.ResultSet rs
        end local 2 // org.hibernate.transform.ResultTransformer transformer
        end local 1 // java.lang.Object[] row
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/hibernate/loader/hql/QueryLoader;
            0    8     1           row  [Ljava/lang/Object;
            0    8     2   transformer  Lorg/hibernate/transform/ResultTransformer;
            0    8     3            rs  Ljava/sql/ResultSet;
            0    8     4       session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1    8     5     resultRow  [Ljava/lang/Object;
            4    8     6  hasTransform  Z
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
             Name  Flags
      row          
      transformer  
      rs           
      session      

  protected java.lang.Object[] getResultRow(java.lang.Object[], java.sql.ResultSet, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: ([Ljava/lang/Object;Ljava/sql/ResultSet;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)[Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // java.lang.Object[] row
        start local 2 // java.sql.ResultSet rs
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 450
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.hasScalars:Z
            ifeq 10
         1: .line 451
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.scalarColumnNames:[[Ljava/lang/String;
            astore 5 /* scalarColumns */
        start local 5 // java.lang.String[][] scalarColumns
         2: .line 452
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryReturnTypes:[Lorg/hibernate/type/Type;
            arraylength
            istore 6 /* queryCols */
        start local 6 // int queryCols
         3: .line 453
            iload 6 /* queryCols */
            anewarray java.lang.Object
            astore 4 /* resultRow */
        start local 4 // java.lang.Object[] resultRow
         4: .line 454
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 8
         6: .line 455
      StackMap locals: org.hibernate.loader.hql.QueryLoader java.lang.Object[] java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor java.lang.Object[] java.lang.String[][] int int
      StackMap stack:
            aload 4 /* resultRow */
            iload 7 /* i */
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryReturnTypes:[Lorg/hibernate/type/Type;
            iload 7 /* i */
            aaload
            aload 2 /* rs */
            aload 5 /* scalarColumns */
            iload 7 /* i */
            aaload
            aload 3 /* session */
            aconst_null
            invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            aastore
         7: .line 454
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 7 /* i */
            iload 6 /* queryCols */
            if_icmplt 6
        end local 7 // int i
        end local 6 // int queryCols
        end local 5 // java.lang.String[][] scalarColumns
         9: .line 457
            goto 11
        end local 4 // java.lang.Object[] resultRow
        10: .line 459
      StackMap locals: org.hibernate.loader.hql.QueryLoader java.lang.Object[] java.sql.ResultSet org.hibernate.engine.spi.SharedSessionContractImplementor
      StackMap stack:
            aload 0 /* this */
            aload 1 /* row */
            invokevirtual org.hibernate.loader.hql.QueryLoader.toResultRow:([Ljava/lang/Object;)[Ljava/lang/Object;
            astore 4 /* resultRow */
        start local 4 // java.lang.Object[] resultRow
        11: .line 461
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 4 /* resultRow */
            areturn
        end local 4 // java.lang.Object[] resultRow
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.sql.ResultSet rs
        end local 1 // java.lang.Object[] row
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/hibernate/loader/hql/QueryLoader;
            0   12     1            row  [Ljava/lang/Object;
            0   12     2             rs  Ljava/sql/ResultSet;
            0   12     3        session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            4   10     4      resultRow  [Ljava/lang/Object;
           11   12     4      resultRow  [Ljava/lang/Object;
            2    9     5  scalarColumns  [[Ljava/lang/String;
            3    9     6      queryCols  I
            5    9     7              i  I
    Exceptions:
      throws java.sql.SQLException, org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      row      
      rs       
      session  

  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=3, locals=7, args_size=3
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // java.util.List results
        start local 2 // org.hibernate.transform.ResultTransformer resultTransformer
         0: .line 468
            aload 0 /* this */
            aload 2 /* resultTransformer */
            invokevirtual org.hibernate.loader.hql.QueryLoader.buildHolderInstantiator:(Lorg/hibernate/transform/ResultTransformer;)Lorg/hibernate/hql/internal/HolderInstantiator;
            astore 3 /* holderInstantiator */
        start local 3 // org.hibernate.hql.internal.HolderInstantiator holderInstantiator
         1: .line 469
            aload 3 /* holderInstantiator */
            invokevirtual org.hibernate.hql.internal.HolderInstantiator.isRequired:()Z
            ifeq 12
         2: .line 470
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 471
      StackMap locals: org.hibernate.hql.internal.HolderInstantiator int
      StackMap stack:
            aload 1 /* results */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 5 /* row */
        start local 5 // java.lang.Object[] row
         5: .line 472
            aload 3 /* holderInstantiator */
            aload 5 /* row */
            invokevirtual org.hibernate.hql.internal.HolderInstantiator.instantiate:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* result */
        start local 6 // java.lang.Object result
         6: .line 473
            aload 1 /* results */
            iload 4 /* i */
            aload 6 /* result */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.Object result
        end local 5 // java.lang.Object[] row
         7: .line 470
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 1 /* results */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 4 // int i
         9: .line 476
            aload 0 /* this */
            invokevirtual org.hibernate.loader.hql.QueryLoader.hasSelectNew:()Z
            ifne 11
            aload 2 /* resultTransformer */
            ifnull 11
        10: .line 477
            aload 2 /* resultTransformer */
            aload 1 /* results */
            invokeinterface org.hibernate.transform.ResultTransformer.transformList:(Ljava/util/List;)Ljava/util/List;
            areturn
        11: .line 480
      StackMap locals:
      StackMap stack:
            aload 1 /* results */
            areturn
        12: .line 484
      StackMap locals:
      StackMap stack:
            aload 1 /* results */
            areturn
        end local 3 // org.hibernate.hql.internal.HolderInstantiator holderInstantiator
        end local 2 // org.hibernate.transform.ResultTransformer resultTransformer
        end local 1 // java.util.List results
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lorg/hibernate/loader/hql/QueryLoader;
            0   13     1             results  Ljava/util/List;
            0   13     2   resultTransformer  Lorg/hibernate/transform/ResultTransformer;
            1   13     3  holderInstantiator  Lorg/hibernate/hql/internal/HolderInstantiator;
            3    9     4                   i  I
            5    7     5                 row  [Ljava/lang/Object;
            6    7     6              result  Ljava/lang/Object;
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
                   Name  Flags
      results            
      resultTransformer  

  private org.hibernate.hql.internal.HolderInstantiator buildHolderInstantiator(org.hibernate.transform.ResultTransformer);
    descriptor: (Lorg/hibernate/transform/ResultTransformer;)Lorg/hibernate/hql/internal/HolderInstantiator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // org.hibernate.transform.ResultTransformer queryLocalResultTransformer
         0: .line 489
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.aggregatedSelectExpression:Lorg/hibernate/hql/internal/ast/tree/AggregatedSelectExpression;
            ifnonnull 2
         1: .line 490
            aconst_null
            goto 3
         2: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.aggregatedSelectExpression:Lorg/hibernate/hql/internal/ast/tree/AggregatedSelectExpression;
            invokeinterface org.hibernate.hql.internal.ast.tree.AggregatedSelectExpression.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
         3: .line 489
      StackMap locals:
      StackMap stack: org.hibernate.transform.ResultTransformer
            astore 2 /* implicitResultTransformer */
        start local 2 // org.hibernate.transform.ResultTransformer implicitResultTransformer
         4: .line 493
            aload 2 /* implicitResultTransformer */
         5: .line 494
            aload 1 /* queryLocalResultTransformer */
         6: .line 495
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryReturnAliases:[Ljava/lang/String;
         7: .line 492
            invokestatic org.hibernate.hql.internal.HolderInstantiator.getHolderInstantiator:(Lorg/hibernate/transform/ResultTransformer;Lorg/hibernate/transform/ResultTransformer;[Ljava/lang/String;)Lorg/hibernate/hql/internal/HolderInstantiator;
            areturn
        end local 2 // org.hibernate.transform.ResultTransformer implicitResultTransformer
        end local 1 // org.hibernate.transform.ResultTransformer queryLocalResultTransformer
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    8     0                         this  Lorg/hibernate/loader/hql/QueryLoader;
            0    8     1  queryLocalResultTransformer  Lorg/hibernate/transform/ResultTransformer;
            4    8     2    implicitResultTransformer  Lorg/hibernate/transform/ResultTransformer;
    MethodParameters:
                             Name  Flags
      queryLocalResultTransformer  

  public java.util.List list(org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 503
            aload 0 /* this */
            aload 2 /* queryParameters */
            invokevirtual org.hibernate.loader.hql.QueryLoader.checkQuery:(Lorg/hibernate/engine/spi/QueryParameters;)V
         1: .line 504
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* queryParameters */
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryTranslator:Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
            invokevirtual org.hibernate.hql.internal.ast.QueryTranslatorImpl.getQuerySpaces:()Ljava/util/Set;
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryReturnTypes:[Lorg/hibernate/type/Type;
            invokevirtual org.hibernate.loader.hql.QueryLoader.list:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Set;[Lorg/hibernate/type/Type;)Ljava/util/List;
            areturn
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/loader/hql/QueryLoader;
            0    2     1          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0    2     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      session          
      queryParameters  

  private void checkQuery(org.hibernate.engine.spi.QueryParameters);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
         0: .line 508
            aload 0 /* this */
            invokevirtual org.hibernate.loader.hql.QueryLoader.hasSelectNew:()Z
            ifeq 2
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
            ifnull 2
         1: .line 509
            new org.hibernate.QueryException
            dup
            ldc "ResultTransformer is not allowed for 'select new' queries."
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 511
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/hibernate/loader/hql/QueryLoader;
            0    3     1  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
    MethodParameters:
                 Name  Flags
      queryParameters  

  public java.util.Iterator iterate(org.hibernate.engine.spi.QueryParameters, org.hibernate.event.spi.EventSource);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/event/spi/EventSource;)Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=14, args_size=3
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 2 // org.hibernate.event.spi.EventSource session
         0: .line 516
            aload 0 /* this */
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.loader.hql.QueryLoader.checkQuery:(Lorg/hibernate/engine/spi/QueryParameters;)V
         1: .line 517
            aload 2 /* session */
            invokeinterface org.hibernate.event.spi.EventSource.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.isStatisticsEnabled:()Z
            istore 3 /* stats */
        start local 3 // boolean stats
         2: .line 518
            lconst_0
            lstore 4 /* startTime */
        start local 4 // long startTime
         3: .line 519
            iload 3 /* stats */
            ifeq 5
         4: .line 520
            invokestatic java.lang.System.nanoTime:()J
            lstore 4 /* startTime */
         5: .line 524
      StackMap locals: int long
      StackMap stack:
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isCallable:()Z
            ifeq 7
         6: .line 525
            new org.hibernate.QueryException
            dup
            ldc "iterate() not supported for callable statements"
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         8: .line 528
            aload 1 /* queryParameters */
         9: .line 529
            iconst_0
        10: .line 530
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
        11: .line 531
            aload 2 /* session */
        12: .line 527
            invokevirtual org.hibernate.loader.hql.QueryLoader.executeQueryStatement:(Lorg/hibernate/engine/spi/QueryParameters;ZLjava/util/List;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/loader/Loader$SqlStatementWrapper;
            astore 6 /* wrapper */
        start local 6 // org.hibernate.loader.Loader$SqlStatementWrapper wrapper
        13: .line 533
            aload 6 /* wrapper */
            invokevirtual org.hibernate.loader.Loader$SqlStatementWrapper.getResultSet:()Ljava/sql/ResultSet;
            astore 7 /* rs */
        start local 7 // java.sql.ResultSet rs
        14: .line 534
            aload 6 /* wrapper */
            invokevirtual org.hibernate.loader.Loader$SqlStatementWrapper.getStatement:()Ljava/sql/Statement;
            checkcast java.sql.PreparedStatement
            astore 8 /* st */
        start local 8 // java.sql.PreparedStatement st
        15: .line 535
            new org.hibernate.internal.IteratorImpl
            dup
        16: .line 536
            aload 7 /* rs */
        17: .line 537
            aload 8 /* st */
        18: .line 538
            aload 2 /* session */
        19: .line 539
            aload 1 /* queryParameters */
            aload 2 /* session */
            invokevirtual org.hibernate.engine.spi.QueryParameters.isReadOnly:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
        20: .line 540
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryReturnTypes:[Lorg/hibernate/type/Type;
        21: .line 541
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryTranslator:Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
            invokevirtual org.hibernate.hql.internal.ast.QueryTranslatorImpl.getColumnNames:()[[Ljava/lang/String;
        22: .line 542
            aload 0 /* this */
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
            invokevirtual org.hibernate.loader.hql.QueryLoader.buildHolderInstantiator:(Lorg/hibernate/transform/ResultTransformer;)Lorg/hibernate/hql/internal/HolderInstantiator;
        23: .line 535
            invokespecial org.hibernate.internal.IteratorImpl.<init>:(Ljava/sql/ResultSet;Ljava/sql/PreparedStatement;Lorg/hibernate/event/spi/EventSource;Z[Lorg/hibernate/type/Type;[[Ljava/lang/String;Lorg/hibernate/hql/internal/HolderInstantiator;)V
            astore 9 /* result */
        start local 9 // java.util.Iterator result
        24: .line 545
            iload 3 /* stats */
            ifeq 32
        25: .line 546
            invokestatic java.lang.System.nanoTime:()J
            lstore 10 /* endTime */
        start local 10 // long endTime
        26: .line 547
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            lload 10 /* endTime */
            lload 4 /* startTime */
            lsub
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lstore 12 /* milliseconds */
        start local 12 // long milliseconds
        27: .line 548
            aload 2 /* session */
            invokeinterface org.hibernate.event.spi.EventSource.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getStatistics:()Lorg/hibernate/stat/spi/StatisticsImplementor;
        28: .line 550
            aload 0 /* this */
            invokevirtual org.hibernate.loader.hql.QueryLoader.getQueryIdentifier:()Ljava/lang/String;
        29: .line 551
            iconst_0
        30: .line 552
            lload 12 /* milliseconds */
        31: .line 548
            invokeinterface org.hibernate.stat.spi.StatisticsImplementor.queryExecuted:(Ljava/lang/String;IJ)V
        end local 12 // long milliseconds
        end local 10 // long endTime
        32: .line 556
      StackMap locals: org.hibernate.loader.hql.QueryLoader org.hibernate.engine.spi.QueryParameters org.hibernate.event.spi.EventSource int long org.hibernate.loader.Loader$SqlStatementWrapper java.sql.ResultSet java.sql.PreparedStatement java.util.Iterator
      StackMap stack:
            aload 9 /* result */
        33: areturn
        end local 9 // java.util.Iterator result
        end local 8 // java.sql.PreparedStatement st
        end local 7 // java.sql.ResultSet rs
        end local 6 // org.hibernate.loader.Loader$SqlStatementWrapper wrapper
        34: .line 559
      StackMap locals: org.hibernate.loader.hql.QueryLoader org.hibernate.engine.spi.QueryParameters org.hibernate.event.spi.EventSource int long
      StackMap stack: java.sql.SQLException
            astore 6 /* sqle */
        start local 6 // java.sql.SQLException sqle
        35: .line 560
            aload 2 /* session */
            invokeinterface org.hibernate.event.spi.EventSource.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        36: .line 561
            aload 6 /* sqle */
        37: .line 562
            ldc "could not execute query using iterate"
        38: .line 563
            aload 0 /* this */
            invokevirtual org.hibernate.loader.hql.QueryLoader.getSQLString:()Ljava/lang/String;
        39: .line 560
            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 4 // long startTime
        end local 3 // boolean stats
        end local 2 // org.hibernate.event.spi.EventSource session
        end local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   40     0             this  Lorg/hibernate/loader/hql/QueryLoader;
            0   40     1  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0   40     2          session  Lorg/hibernate/event/spi/EventSource;
            2   40     3            stats  Z
            3   40     4        startTime  J
           13   34     6          wrapper  Lorg/hibernate/loader/Loader$SqlStatementWrapper;
           14   34     7               rs  Ljava/sql/ResultSet;
           15   34     8               st  Ljava/sql/PreparedStatement;
           24   34     9           result  Ljava/util/Iterator;
           26   32    10          endTime  J
           27   32    12     milliseconds  J
           35   40     6             sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           5    33      34  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      queryParameters  
      session          

  public org.hibernate.query.spi.ScrollableResultsImplementor scroll(org.hibernate.engine.spi.QueryParameters, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/query/spi/ScrollableResultsImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 572
            aload 0 /* this */
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.loader.hql.QueryLoader.checkQuery:(Lorg/hibernate/engine/spi/QueryParameters;)V
         1: .line 573
            aload 0 /* this */
         2: .line 574
            aload 1 /* queryParameters */
         3: .line 575
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryReturnTypes:[Lorg/hibernate/type/Type;
         4: .line 576
            aload 0 /* this */
            aload 1 /* queryParameters */
            invokevirtual org.hibernate.engine.spi.QueryParameters.getResultTransformer:()Lorg/hibernate/transform/ResultTransformer;
            invokevirtual org.hibernate.loader.hql.QueryLoader.buildHolderInstantiator:(Lorg/hibernate/transform/ResultTransformer;)Lorg/hibernate/hql/internal/HolderInstantiator;
         5: .line 577
            aload 2 /* session */
         6: .line 573
            invokevirtual org.hibernate.loader.hql.QueryLoader.scroll:(Lorg/hibernate/engine/spi/QueryParameters;[Lorg/hibernate/type/Type;Lorg/hibernate/hql/internal/HolderInstantiator;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/query/spi/ScrollableResultsImplementor;
            areturn
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/hibernate/loader/hql/QueryLoader;
            0    7     1  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    7     2          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      queryParameters  final
      session          final

  private java.lang.Object[] toResultRow(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // java.lang.Object[] row
         0: .line 584
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.selectLength:I
            aload 1 /* row */
            arraylength
            if_icmpne 2
         1: .line 585
            aload 1 /* row */
            areturn
         2: .line 588
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.selectLength:I
            anewarray java.lang.Object
            astore 2 /* result */
        start local 2 // java.lang.Object[] result
         3: .line 589
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         4: .line 590
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 591
      StackMap locals: java.lang.Object[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.includeInSelect:[Z
            iload 4 /* i */
            baload
            ifeq 8
         7: .line 592
            aload 2 /* result */
            iload 3 /* j */
            iinc 3 /* j */ 1
            aload 1 /* row */
            iload 4 /* i */
            aaload
            aastore
         8: .line 590
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 1 /* row */
            arraylength
            if_icmplt 6
        end local 4 // int i
        10: .line 595
            aload 2 /* result */
            areturn
        end local 3 // int j
        end local 2 // java.lang.Object[] result
        end local 1 // java.lang.Object[] row
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/hibernate/loader/hql/QueryLoader;
            0   11     1     row  [Ljava/lang/Object;
            3   11     2  result  [Ljava/lang/Object;
            4   11     3       j  I
            5   10     4       i  I
    MethodParameters:
      Name  Flags
      row   

  public int[] getNamedParameterLocs(java.lang.String);
    descriptor: (Ljava/lang/String;)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // java.lang.String name
         0: .line 604
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryTranslator:Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
            invokevirtual org.hibernate.hql.internal.ast.QueryTranslatorImpl.getParameterTranslations:()Lorg/hibernate/hql/spi/ParameterTranslations;
            aload 1 /* name */
            invokeinterface org.hibernate.hql.spi.ParameterTranslations.getNamedParameterInformation:(Ljava/lang/String;)Lorg/hibernate/hql/spi/NamedParameterInformation;
            astore 2 /* info */
        start local 2 // org.hibernate.hql.spi.ParameterInformation info
         1: .line 605
            aload 2 /* info */
            ifnonnull 7
         2: .line 607
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryTranslator:Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
            invokevirtual org.hibernate.hql.internal.ast.QueryTranslatorImpl.getParameterTranslations:()Lorg/hibernate/hql/spi/ParameterTranslations;
         3: .line 608
            aload 1 /* name */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
         4: .line 607
            invokeinterface org.hibernate.hql.spi.ParameterTranslations.getPositionalParameterInformation:(I)Lorg/hibernate/hql/spi/PositionalParameterInformation;
            astore 2 /* info */
         5: .line 610
            goto 7
         6: .line 611
      StackMap locals: org.hibernate.loader.hql.QueryLoader java.lang.String org.hibernate.hql.spi.ParameterInformation
      StackMap stack: java.lang.Exception
            pop
         7: .line 615
      StackMap locals:
      StackMap stack:
            aload 2 /* info */
            ifnonnull 9
         8: .line 616
            new org.hibernate.QueryException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized parameter label : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 619
      StackMap locals:
      StackMap stack:
            aload 2 /* info */
            invokeinterface org.hibernate.hql.spi.ParameterInformation.getSourceLocations:()[I
            areturn
        end local 2 // org.hibernate.hql.spi.ParameterInformation info
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/hibernate/loader/hql/QueryLoader;
            0   10     1  name  Ljava/lang/String;
            1   10     2  info  Lorg/hibernate/hql/spi/ParameterInformation;
      Exception table:
        from    to  target  type
           2     5       6  Class java.lang.Exception
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
      Name  Flags
      name  

  protected int bindParameterValues(java.sql.PreparedStatement, org.hibernate.engine.spi.QueryParameters, int, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.hibernate.loader.hql.QueryLoader this
        start local 1 // java.sql.PreparedStatement statement
        start local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        start local 3 // int startIndex
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 642
            iload 3 /* startIndex */
            istore 5 /* position */
        start local 5 // int position
         1: .line 643
            aload 0 /* this */
            getfield org.hibernate.loader.hql.QueryLoader.queryTranslator:Lorg/hibernate/hql/internal/ast/QueryTranslatorImpl;
            invokevirtual org.hibernate.hql.internal.ast.QueryTranslatorImpl.getCollectedParameterSpecifications:()Ljava/util/List;
            astore 6 /* parameterSpecs */
        start local 6 // java.util.List parameterSpecs
         2: .line 644
            aload 6 /* parameterSpecs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 5
      StackMap locals: org.hibernate.loader.hql.QueryLoader java.sql.PreparedStatement org.hibernate.engine.spi.QueryParameters int org.hibernate.engine.spi.SharedSessionContractImplementor int java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.param.ParameterSpecification
            astore 7 /* spec */
        start local 7 // org.hibernate.param.ParameterSpecification spec
         4: .line 645
            iload 5 /* position */
            aload 7 /* spec */
            aload 1 /* statement */
            aload 2 /* queryParameters */
            aload 4 /* session */
            iload 5 /* position */
            invokeinterface org.hibernate.param.ParameterSpecification.bind:(Ljava/sql/PreparedStatement;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;I)I
            iadd
            istore 5 /* position */
        end local 7 // org.hibernate.param.ParameterSpecification spec
         5: .line 644
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 647
            iload 5 /* position */
            iload 3 /* startIndex */
            isub
            ireturn
        end local 6 // java.util.List parameterSpecs
        end local 5 // int position
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // int startIndex
        end local 2 // org.hibernate.engine.spi.QueryParameters queryParameters
        end local 1 // java.sql.PreparedStatement statement
        end local 0 // org.hibernate.loader.hql.QueryLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/hibernate/loader/hql/QueryLoader;
            0    7     1        statement  Ljava/sql/PreparedStatement;
            0    7     2  queryParameters  Lorg/hibernate/engine/spi/QueryParameters;
            0    7     3       startIndex  I
            0    7     4          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1    7     5         position  I
            2    7     6   parameterSpecs  Ljava/util/List<Lorg/hibernate/param/ParameterSpecification;>;
            4    5     7             spec  Lorg/hibernate/param/ParameterSpecification;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                 Name  Flags
      statement        final
      queryParameters  final
      startIndex       final
      session          final
}
SourceFile: "QueryLoader.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  protected SqlStatementWrapper = org.hibernate.loader.Loader$SqlStatementWrapper of org.hibernate.loader.Loader