public class org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder extends org.hibernate.loader.entity.BatchingEntityLoaderBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder
  super_class: org.hibernate.loader.entity.BatchingEntityLoaderBuilder
{
  private static final org.jboss.logging.Logger log;
    descriptor: Lorg/jboss/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder INSTANCE;
    descriptor: Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 48
            ldc Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.$assertionsDisabled:Z
         3: .line 49
            ldc Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
            invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
            putstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.log:Lorg/jboss/logging/Logger;
         4: .line 51
            new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder
            dup
            invokespecial org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.<init>:()V
            putstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.INSTANCE:Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
         0: .line 48
            aload 0 /* this */
            invokespecial org.hibernate.loader.entity.BatchingEntityLoaderBuilder.<init>:()V
            return
        end local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;

  public java.util.List multiLoad(org.hibernate.persister.entity.OuterJoinLoadable, java.io.Serializable[], org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.persister.entity.MultiLoadOptions);
    descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/entity/MultiLoadOptions;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
        start local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        start local 2 // java.io.Serializable[] ids
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 4 // org.hibernate.persister.entity.MultiLoadOptions loadOptions
         0: .line 58
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isOrderReturnEnabled:()Z
            ifeq 2
         1: .line 59
            aload 0 /* this */
            aload 1 /* persister */
            aload 2 /* ids */
            aload 3 /* session */
            aload 4 /* loadOptions */
            invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.performOrderedMultiLoad:(Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/entity/MultiLoadOptions;)Ljava/util/List;
            areturn
         2: .line 62
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* persister */
            aload 2 /* ids */
            aload 3 /* session */
            aload 4 /* loadOptions */
            invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.performUnorderedMultiLoad:(Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/entity/MultiLoadOptions;)Ljava/util/List;
            areturn
        end local 4 // org.hibernate.persister.entity.MultiLoadOptions loadOptions
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.io.Serializable[] ids
        end local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        end local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
            0    3     1    persister  Lorg/hibernate/persister/entity/OuterJoinLoadable;
            0    3     2          ids  [Ljava/io/Serializable;
            0    3     3      session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0    3     4  loadOptions  Lorg/hibernate/persister/entity/MultiLoadOptions;
    MethodParameters:
             Name  Flags
      persister    
      ids          
      session      
      loadOptions  

  private java.util.List performOrderedMultiLoad(org.hibernate.persister.entity.OuterJoinLoadable, java.io.Serializable[], org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.persister.entity.MultiLoadOptions);
    descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/entity/MultiLoadOptions;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=5
        start local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
        start local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        start local 2 // java.io.Serializable[] ids
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 4 // org.hibernate.persister.entity.MultiLoadOptions loadOptions
         0: .line 72
            getstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.$assertionsDisabled:Z
            ifne 1
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isOrderReturnEnabled:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 74
      StackMap locals:
      StackMap stack:
            aload 2 /* ids */
            arraylength
            invokestatic org.hibernate.internal.util.collections.CollectionHelper.arrayList:(I)Ljava/util/ArrayList;
            astore 5 /* result */
        start local 5 // java.util.List result
         2: .line 76
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getLockOptions:()Lorg/hibernate/LockOptions;
            ifnonnull 4
         3: .line 77
            new org.hibernate.LockOptions
            dup
            getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
            invokespecial org.hibernate.LockOptions.<init>:(Lorg/hibernate/LockMode;)V
            goto 5
         4: .line 78
      StackMap locals: java.util.List
      StackMap stack:
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getLockOptions:()Lorg/hibernate/LockOptions;
         5: .line 76
      StackMap locals:
      StackMap stack: org.hibernate.LockOptions
            astore 6 /* lockOptions */
        start local 6 // org.hibernate.LockOptions lockOptions
         6: .line 81
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
            ifnull 9
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            ifle 9
         7: .line 82
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 7 /* maxBatchSize */
        start local 7 // int maxBatchSize
         8: .line 83
            goto 13
        end local 7 // int maxBatchSize
         9: .line 85
      StackMap locals: org.hibernate.LockOptions
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.dialect.Dialect.getDefaultBatchLoadSizingStrategy:()Lorg/hibernate/loader/BatchLoadSizingStrategy;
        10: .line 86
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getIdentifierType:()Lorg/hibernate/type/Type;
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
        11: .line 87
            aload 2 /* ids */
            arraylength
        12: .line 85
            invokeinterface org.hibernate.loader.BatchLoadSizingStrategy.determineOptimalBatchLoadSize:(II)I
            istore 7 /* maxBatchSize */
        start local 7 // int maxBatchSize
        13: .line 91
      StackMap locals: int
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* idsInBatch */
        start local 8 // java.util.List idsInBatch
        14: .line 92
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* elementPositionsLoadedByBatch */
        start local 9 // java.util.List elementPositionsLoadedByBatch
        15: .line 94
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        16: goto 35
        17: .line 95
      StackMap locals: java.util.List java.util.List int
      StackMap stack:
            aload 2 /* ids */
            iload 10 /* i */
            aaload
            astore 11 /* id */
        start local 11 // java.io.Serializable id
        18: .line 96
            new org.hibernate.engine.spi.EntityKey
            dup
            aload 11 /* id */
            aload 1 /* persister */
            invokespecial org.hibernate.engine.spi.EntityKey.<init>:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)V
            astore 12 /* entityKey */
        start local 12 // org.hibernate.engine.spi.EntityKey entityKey
        19: .line 98
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isSessionCheckingEnabled:()Z
            ifeq 29
        20: .line 100
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 12 /* entityKey */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            astore 13 /* managedEntity */
        start local 13 // java.lang.Object managedEntity
        21: .line 101
            aload 13 /* managedEntity */
            ifnull 29
        22: .line 102
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isReturnOfDeletedEntitiesEnabled:()Z
            ifne 27
        23: .line 103
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 13 /* managedEntity */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 14 /* entry */
        start local 14 // org.hibernate.engine.spi.EntityEntry entry
        24: .line 104
            aload 14 /* entry */
            invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
            getstatic org.hibernate.engine.spi.Status.DELETED:Lorg/hibernate/engine/spi/Status;
            if_acmpeq 25
            aload 14 /* entry */
            invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
            getstatic org.hibernate.engine.spi.Status.GONE:Lorg/hibernate/engine/spi/Status;
            if_acmpne 27
        25: .line 106
      StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List org.hibernate.LockOptions int java.util.List java.util.List int java.io.Serializable org.hibernate.engine.spi.EntityKey java.lang.Object org.hibernate.engine.spi.EntityEntry
      StackMap stack:
            aload 5 /* result */
            iload 10 /* i */
            aconst_null
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        26: .line 107
            goto 34
        end local 14 // org.hibernate.engine.spi.EntityEntry entry
        27: .line 112
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            iload 10 /* i */
            aload 13 /* managedEntity */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        28: .line 113
            goto 34
        end local 13 // java.lang.Object managedEntity
        29: .line 119
      StackMap locals:
      StackMap stack:
            aload 8 /* idsInBatch */
            aload 2 /* ids */
            iload 10 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 121
            aload 8 /* idsInBatch */
            invokeinterface java.util.List.size:()I
            iload 7 /* maxBatchSize */
            if_icmplt 32
        31: .line 122
            aload 0 /* this */
            aload 8 /* idsInBatch */
            aload 6 /* lockOptions */
            aload 1 /* persister */
            aload 3 /* session */
            invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.performOrderedBatchLoad:(Ljava/util/List;Lorg/hibernate/LockOptions;Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        32: .line 126
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            iload 10 /* i */
            aload 12 /* entityKey */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        33: .line 127
            aload 9 /* elementPositionsLoadedByBatch */
            iload 10 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.hibernate.engine.spi.EntityKey entityKey
        end local 11 // java.io.Serializable id
        34: .line 94
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 10 /* i */
            aload 2 /* ids */
            arraylength
            if_icmplt 17
        end local 10 // int i
        36: .line 130
            aload 8 /* idsInBatch */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 38
        37: .line 131
            aload 0 /* this */
            aload 8 /* idsInBatch */
            aload 6 /* lockOptions */
            aload 1 /* persister */
            aload 3 /* session */
            invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.performOrderedBatchLoad:(Ljava/util/List;Lorg/hibernate/LockOptions;Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
        38: .line 134
      StackMap locals:
      StackMap stack:
            aload 9 /* elementPositionsLoadedByBatch */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 47
      StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List org.hibernate.LockOptions int java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        39: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 10 /* position */
        start local 10 // java.lang.Integer position
        40: .line 137
            aload 5 /* result */
            aload 10 /* position */
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.EntityKey
            astore 12 /* entityKey */
        start local 12 // org.hibernate.engine.spi.EntityKey entityKey
        41: .line 138
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 12 /* entityKey */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            astore 13 /* entity */
        start local 13 // java.lang.Object entity
        42: .line 139
            aload 13 /* entity */
            ifnull 46
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isReturnOfDeletedEntitiesEnabled:()Z
            ifne 46
        43: .line 141
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 13 /* entity */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 14 /* entry */
        start local 14 // org.hibernate.engine.spi.EntityEntry entry
        44: .line 142
            aload 14 /* entry */
            invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
            getstatic org.hibernate.engine.spi.Status.DELETED:Lorg/hibernate/engine/spi/Status;
            if_acmpeq 45
            aload 14 /* entry */
            invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
            getstatic org.hibernate.engine.spi.Status.GONE:Lorg/hibernate/engine/spi/Status;
            if_acmpne 46
        45: .line 144
      StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List org.hibernate.LockOptions int java.util.List java.util.List java.lang.Integer java.util.Iterator org.hibernate.engine.spi.EntityKey java.lang.Object org.hibernate.engine.spi.EntityEntry
      StackMap stack:
            aconst_null
            astore 13 /* entity */
        end local 14 // org.hibernate.engine.spi.EntityEntry entry
        46: .line 147
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            aload 10 /* position */
            invokevirtual java.lang.Integer.intValue:()I
            aload 13 /* entity */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 13 // java.lang.Object entity
        end local 12 // org.hibernate.engine.spi.EntityKey entityKey
        end local 10 // java.lang.Integer position
        47: .line 134
      StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List org.hibernate.LockOptions int java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 39
        48: .line 150
            aload 5 /* result */
            areturn
        end local 9 // java.util.List elementPositionsLoadedByBatch
        end local 8 // java.util.List idsInBatch
        end local 7 // int maxBatchSize
        end local 6 // org.hibernate.LockOptions lockOptions
        end local 5 // java.util.List result
        end local 4 // org.hibernate.persister.entity.MultiLoadOptions loadOptions
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.io.Serializable[] ids
        end local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        end local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   49     0                           this  Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
            0   49     1                      persister  Lorg/hibernate/persister/entity/OuterJoinLoadable;
            0   49     2                            ids  [Ljava/io/Serializable;
            0   49     3                        session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   49     4                    loadOptions  Lorg/hibernate/persister/entity/MultiLoadOptions;
            2   49     5                         result  Ljava/util/List;
            6   49     6                    lockOptions  Lorg/hibernate/LockOptions;
            8    9     7                   maxBatchSize  I
           13   49     7                   maxBatchSize  I
           14   49     8                     idsInBatch  Ljava/util/List<Ljava/io/Serializable;>;
           15   49     9  elementPositionsLoadedByBatch  Ljava/util/List<Ljava/lang/Integer;>;
           16   36    10                              i  I
           18   34    11                             id  Ljava/io/Serializable;
           19   34    12                      entityKey  Lorg/hibernate/engine/spi/EntityKey;
           21   29    13                  managedEntity  Ljava/lang/Object;
           24   27    14                          entry  Lorg/hibernate/engine/spi/EntityEntry;
           40   47    10                       position  Ljava/lang/Integer;
           41   47    12                      entityKey  Lorg/hibernate/engine/spi/EntityKey;
           42   47    13                         entity  Ljava/lang/Object;
           44   46    14                          entry  Lorg/hibernate/engine/spi/EntityEntry;
    MethodParameters:
             Name  Flags
      persister    
      ids          
      session      
      loadOptions  

  private void performOrderedBatchLoad(java.util.List<java.io.Serializable>, org.hibernate.LockOptions, org.hibernate.persister.entity.OuterJoinLoadable, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/util/List;Lorg/hibernate/LockOptions;Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
        start local 1 // java.util.List idsInBatch
        start local 2 // org.hibernate.LockOptions lockOptions
        start local 3 // org.hibernate.persister.entity.OuterJoinLoadable persister
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 158
            aload 1 /* idsInBatch */
            invokeinterface java.util.List.size:()I
            istore 5 /* batchSize */
        start local 5 // int batchSize
         1: .line 159
            new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader
            dup
         2: .line 160
            aload 3 /* persister */
         3: .line 161
            iload 5 /* batchSize */
         4: .line 162
            aload 2 /* lockOptions */
         5: .line 163
            aload 4 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         6: .line 164
            aload 4 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
         7: .line 159
            invokespecial org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockOptions;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
            astore 6 /* batchingLoader */
        start local 6 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader batchingLoader
         8: .line 167
            aload 1 /* idsInBatch */
            aload 1 /* idsInBatch */
            invokeinterface java.util.List.size:()I
            anewarray java.io.Serializable
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.io.Serializable[]
            astore 7 /* idsInBatchArray */
        start local 7 // java.io.Serializable[] idsInBatchArray
         9: .line 169
            aload 3 /* persister */
            aload 7 /* idsInBatchArray */
            aload 2 /* lockOptions */
            invokestatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.buildMultiLoadQueryParameters:(Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/LockOptions;)Lorg/hibernate/engine/spi/QueryParameters;
            astore 8 /* qp */
        start local 8 // org.hibernate.engine.spi.QueryParameters qp
        10: .line 170
            aload 6 /* batchingLoader */
            aload 4 /* session */
            aload 8 /* qp */
            aload 7 /* idsInBatchArray */
            invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader.doEntityBatchFetch:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Ljava/io/Serializable;)Ljava/util/List;
            pop
        11: .line 172
            aload 1 /* idsInBatch */
            invokeinterface java.util.List.clear:()V
        12: .line 173
            return
        end local 8 // org.hibernate.engine.spi.QueryParameters qp
        end local 7 // java.io.Serializable[] idsInBatchArray
        end local 6 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader batchingLoader
        end local 5 // int batchSize
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // org.hibernate.persister.entity.OuterJoinLoadable persister
        end local 2 // org.hibernate.LockOptions lockOptions
        end local 1 // java.util.List idsInBatch
        end local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
            0   13     1       idsInBatch  Ljava/util/List<Ljava/io/Serializable;>;
            0   13     2      lockOptions  Lorg/hibernate/LockOptions;
            0   13     3        persister  Lorg/hibernate/persister/entity/OuterJoinLoadable;
            0   13     4          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   13     5        batchSize  I
            8   13     6   batchingLoader  Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader;
            9   13     7  idsInBatchArray  [Ljava/io/Serializable;
           10   13     8               qp  Lorg/hibernate/engine/spi/QueryParameters;
    Signature: (Ljava/util/List<Ljava/io/Serializable;>;Lorg/hibernate/LockOptions;Lorg/hibernate/persister/entity/OuterJoinLoadable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    MethodParameters:
             Name  Flags
      idsInBatch   
      lockOptions  
      persister    
      session      

  protected java.util.List performUnorderedMultiLoad(org.hibernate.persister.entity.OuterJoinLoadable, java.io.Serializable[], org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.persister.entity.MultiLoadOptions);
    descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/persister/entity/MultiLoadOptions;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=15, args_size=5
        start local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
        start local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        start local 2 // java.io.Serializable[] ids
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 4 // org.hibernate.persister.entity.MultiLoadOptions loadOptions
         0: .line 181
            getstatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.$assertionsDisabled:Z
            ifne 1
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isOrderReturnEnabled:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 183
      StackMap locals:
      StackMap stack:
            aload 2 /* ids */
            arraylength
            invokestatic org.hibernate.internal.util.collections.CollectionHelper.arrayList:(I)Ljava/util/ArrayList;
            astore 5 /* result */
        start local 5 // java.util.List result
         2: .line 185
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isSessionCheckingEnabled:()Z
            ifeq 28
         3: .line 191
            iconst_0
            istore 6 /* foundAnyManagedEntities */
        start local 6 // boolean foundAnyManagedEntities
         4: .line 192
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* nonManagedIds */
        start local 7 // java.util.List nonManagedIds
         5: .line 193
            aload 2 /* ids */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 19
      StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List int java.util.List top int int java.io.Serializable[]
      StackMap stack:
         6: aload 11
            iload 9
            aaload
            astore 8 /* id */
        start local 8 // java.io.Serializable id
         7: .line 194
            new org.hibernate.engine.spi.EntityKey
            dup
            aload 8 /* id */
            aload 1 /* persister */
            invokespecial org.hibernate.engine.spi.EntityKey.<init>:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)V
            astore 12 /* entityKey */
        start local 12 // org.hibernate.engine.spi.EntityKey entityKey
         8: .line 195
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 12 /* entityKey */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            astore 13 /* managedEntity */
        start local 13 // java.lang.Object managedEntity
         9: .line 196
            aload 13 /* managedEntity */
            ifnull 17
        10: .line 197
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.isReturnOfDeletedEntitiesEnabled:()Z
            ifne 14
        11: .line 198
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 13 /* managedEntity */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 14 /* entry */
        start local 14 // org.hibernate.engine.spi.EntityEntry entry
        12: .line 199
            aload 14 /* entry */
            invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
            getstatic org.hibernate.engine.spi.Status.DELETED:Lorg/hibernate/engine/spi/Status;
            if_acmpeq 18
            aload 14 /* entry */
            invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
            getstatic org.hibernate.engine.spi.Status.GONE:Lorg/hibernate/engine/spi/Status;
            if_acmpne 14
        13: .line 200
            goto 18
        end local 14 // org.hibernate.engine.spi.EntityEntry entry
        14: .line 203
      StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List int java.util.List java.io.Serializable int int java.io.Serializable[] org.hibernate.engine.spi.EntityKey java.lang.Object
      StackMap stack:
            iconst_1
            istore 6 /* foundAnyManagedEntities */
        15: .line 204
            aload 5 /* result */
            aload 13 /* managedEntity */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 205
            goto 18
        17: .line 207
      StackMap locals:
      StackMap stack:
            aload 7 /* nonManagedIds */
            aload 8 /* id */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // java.lang.Object managedEntity
        end local 12 // org.hibernate.engine.spi.EntityKey entityKey
        end local 8 // java.io.Serializable id
        18: .line 193
      StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List int java.util.List top int int java.io.Serializable[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        19: iload 9
            iload 10
            if_icmplt 6
        20: .line 211
            iload 6 /* foundAnyManagedEntities */
            ifeq 28
        21: .line 212
            aload 7 /* nonManagedIds */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 23
        22: .line 214
            aload 5 /* result */
            areturn
        23: .line 219
      StackMap locals: org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder org.hibernate.persister.entity.OuterJoinLoadable java.io.Serializable[] org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.MultiLoadOptions java.util.List int java.util.List
      StackMap stack:
            aload 7 /* nonManagedIds */
        24: .line 221
            aload 2 /* ids */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
        25: .line 222
            aload 7 /* nonManagedIds */
            invokeinterface java.util.List.size:()I
        26: .line 220
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.io.Serializable[]
        27: .line 219
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.io.Serializable[]
            astore 2 /* ids */
        end local 7 // java.util.List nonManagedIds
        end local 6 // boolean foundAnyManagedEntities
        28: .line 229
      StackMap locals:
      StackMap stack:
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getLockOptions:()Lorg/hibernate/LockOptions;
            ifnonnull 30
        29: .line 230
            new org.hibernate.LockOptions
            dup
            getstatic org.hibernate.LockMode.NONE:Lorg/hibernate/LockMode;
            invokespecial org.hibernate.LockOptions.<init>:(Lorg/hibernate/LockMode;)V
            goto 31
        30: .line 231
      StackMap locals:
      StackMap stack:
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getLockOptions:()Lorg/hibernate/LockOptions;
        31: .line 229
      StackMap locals:
      StackMap stack: org.hibernate.LockOptions
            astore 6 /* lockOptions */
        start local 6 // org.hibernate.LockOptions lockOptions
        32: .line 233
            aload 2 /* ids */
            arraylength
            istore 7 /* numberOfIdsLeft */
        start local 7 // int numberOfIdsLeft
        33: .line 235
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
            ifnull 36
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            ifle 36
        34: .line 236
            aload 4 /* loadOptions */
            invokeinterface org.hibernate.persister.entity.MultiLoadOptions.getBatchSize:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 8 /* maxBatchSize */
        start local 8 // int maxBatchSize
        35: .line 237
            goto 40
        end local 8 // int maxBatchSize
        36: .line 239
      StackMap locals: org.hibernate.LockOptions int
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.dialect.Dialect.getDefaultBatchLoadSizingStrategy:()Lorg/hibernate/loader/BatchLoadSizingStrategy;
        37: .line 240
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getIdentifierType:()Lorg/hibernate/type/Type;
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
        38: .line 241
            iload 7 /* numberOfIdsLeft */
        39: .line 239
            invokeinterface org.hibernate.loader.BatchLoadSizingStrategy.determineOptimalBatchLoadSize:(II)I
            istore 8 /* maxBatchSize */
        start local 8 // int maxBatchSize
        40: .line 245
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 9 /* idPosition */
        start local 9 // int idPosition
        41: .line 246
            goto 56
        42: .line 247
      StackMap locals: int
      StackMap stack:
            iload 7 /* numberOfIdsLeft */
            iload 8 /* maxBatchSize */
            invokestatic java.lang.Math.min:(II)I
            istore 10 /* batchSize */
        start local 10 // int batchSize
        43: .line 248
            new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader
            dup
        44: .line 249
            aload 1 /* persister */
        45: .line 250
            iload 10 /* batchSize */
        46: .line 251
            aload 6 /* lockOptions */
        47: .line 252
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
        48: .line 253
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
        49: .line 248
            invokespecial org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockOptions;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
            astore 11 /* batchingLoader */
        start local 11 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader batchingLoader
        50: .line 256
            iload 10 /* batchSize */
            anewarray java.io.Serializable
            astore 12 /* idsInBatch */
        start local 12 // java.io.Serializable[] idsInBatch
        51: .line 257
            aload 2 /* ids */
            iload 9 /* idPosition */
            aload 12 /* idsInBatch */
            iconst_0
            iload 10 /* batchSize */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        52: .line 259
            aload 1 /* persister */
            aload 12 /* idsInBatch */
            aload 6 /* lockOptions */
            invokestatic org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder.buildMultiLoadQueryParameters:(Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/LockOptions;)Lorg/hibernate/engine/spi/QueryParameters;
            astore 13 /* qp */
        start local 13 // org.hibernate.engine.spi.QueryParameters qp
        53: .line 260
            aload 5 /* result */
            aload 11 /* batchingLoader */
            aload 3 /* session */
            aload 13 /* qp */
            aload 12 /* idsInBatch */
            invokevirtual org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader.doEntityBatchFetch:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;[Ljava/io/Serializable;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        54: .line 262
            iload 7 /* numberOfIdsLeft */
            iload 10 /* batchSize */
            isub
            istore 7 /* numberOfIdsLeft */
        55: .line 263
            iload 9 /* idPosition */
            iload 10 /* batchSize */
            iadd
            istore 9 /* idPosition */
        end local 13 // org.hibernate.engine.spi.QueryParameters qp
        end local 12 // java.io.Serializable[] idsInBatch
        end local 11 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader batchingLoader
        end local 10 // int batchSize
        56: .line 246
      StackMap locals:
      StackMap stack:
            iload 7 /* numberOfIdsLeft */
            ifgt 42
        57: .line 266
            aload 5 /* result */
            areturn
        end local 9 // int idPosition
        end local 8 // int maxBatchSize
        end local 7 // int numberOfIdsLeft
        end local 6 // org.hibernate.LockOptions lockOptions
        end local 5 // java.util.List result
        end local 4 // org.hibernate.persister.entity.MultiLoadOptions loadOptions
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.io.Serializable[] ids
        end local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        end local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   58     0                     this  Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
            0   58     1                persister  Lorg/hibernate/persister/entity/OuterJoinLoadable;
            0   58     2                      ids  [Ljava/io/Serializable;
            0   58     3                  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   58     4              loadOptions  Lorg/hibernate/persister/entity/MultiLoadOptions;
            2   58     5                   result  Ljava/util/List;
            4   28     6  foundAnyManagedEntities  Z
            5   28     7            nonManagedIds  Ljava/util/List<Ljava/io/Serializable;>;
            7   18     8                       id  Ljava/io/Serializable;
            8   18    12                entityKey  Lorg/hibernate/engine/spi/EntityKey;
            9   18    13            managedEntity  Ljava/lang/Object;
           12   14    14                    entry  Lorg/hibernate/engine/spi/EntityEntry;
           32   58     6              lockOptions  Lorg/hibernate/LockOptions;
           33   58     7          numberOfIdsLeft  I
           35   36     8             maxBatchSize  I
           40   58     8             maxBatchSize  I
           41   58     9               idPosition  I
           43   56    10                batchSize  I
           50   56    11           batchingLoader  Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader;
           51   56    12               idsInBatch  [Ljava/io/Serializable;
           53   56    13                       qp  Lorg/hibernate/engine/spi/QueryParameters;
    MethodParameters:
             Name  Flags
      persister    
      ids          
      session      
      loadOptions  

  public static org.hibernate.engine.spi.QueryParameters buildMultiLoadQueryParameters(org.hibernate.persister.entity.OuterJoinLoadable, java.io.Serializable[], org.hibernate.LockOptions);
    descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;[Ljava/io/Serializable;Lorg/hibernate/LockOptions;)Lorg/hibernate/engine/spi/QueryParameters;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.hibernate.persister.entity.OuterJoinLoadable persister
        start local 1 // java.io.Serializable[] ids
        start local 2 // org.hibernate.LockOptions lockOptions
         0: .line 273
            aload 1 /* ids */
            arraylength
            anewarray org.hibernate.type.Type
            astore 3 /* types */
        start local 3 // org.hibernate.type.Type[] types
         1: .line 274
            aload 3 /* types */
            aload 0 /* persister */
            invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getIdentifierType:()Lorg/hibernate/type/Type;
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 276
            new org.hibernate.engine.spi.QueryParameters
            dup
            invokespecial org.hibernate.engine.spi.QueryParameters.<init>:()V
            astore 4 /* qp */
        start local 4 // org.hibernate.engine.spi.QueryParameters qp
         3: .line 277
            aload 4 /* qp */
            aload 0 /* persister */
            invokeinterface org.hibernate.persister.entity.OuterJoinLoadable.getEntityName:()Ljava/lang/String;
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalEntityName:(Ljava/lang/String;)V
         4: .line 278
            aload 4 /* qp */
            aload 3 /* types */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterTypes:([Lorg/hibernate/type/Type;)V
         5: .line 279
            aload 4 /* qp */
            aload 1 /* ids */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterValues:([Ljava/lang/Object;)V
         6: .line 280
            aload 4 /* qp */
            aload 2 /* lockOptions */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setLockOptions:(Lorg/hibernate/LockOptions;)V
         7: .line 281
            aload 4 /* qp */
            aconst_null
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalObject:(Ljava/lang/Object;)V
         8: .line 282
            aload 4 /* qp */
            aconst_null
            invokevirtual org.hibernate.engine.spi.QueryParameters.setOptionalId:(Ljava/io/Serializable;)V
         9: .line 283
            aload 4 /* qp */
            areturn
        end local 4 // org.hibernate.engine.spi.QueryParameters qp
        end local 3 // org.hibernate.type.Type[] types
        end local 2 // org.hibernate.LockOptions lockOptions
        end local 1 // java.io.Serializable[] ids
        end local 0 // org.hibernate.persister.entity.OuterJoinLoadable persister
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0    persister  Lorg/hibernate/persister/entity/OuterJoinLoadable;
            0   10     1          ids  [Ljava/io/Serializable;
            0   10     2  lockOptions  Lorg/hibernate/LockOptions;
            1   10     3        types  [Lorg/hibernate/type/Type;
            3   10     4           qp  Lorg/hibernate/engine/spi/QueryParameters;
    MethodParameters:
             Name  Flags
      persister    
      ids          
      lockOptions  

  protected org.hibernate.loader.entity.UniqueEntityLoader buildBatchingLoader(org.hibernate.persister.entity.OuterJoinLoadable, int, org.hibernate.LockMode, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.engine.spi.LoadQueryInfluencers);
    descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)Lorg/hibernate/loader/entity/UniqueEntityLoader;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
        start local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        start local 2 // int batchSize
        start local 3 // org.hibernate.LockMode lockMode
        start local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        start local 5 // org.hibernate.engine.spi.LoadQueryInfluencers influencers
         0: .line 294
            new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader
            dup
            aload 1 /* persister */
            iload 2 /* batchSize */
            aload 3 /* lockMode */
            aload 4 /* factory */
            aload 5 /* influencers */
            invokespecial org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockMode;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
            areturn
        end local 5 // org.hibernate.engine.spi.LoadQueryInfluencers influencers
        end local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 3 // org.hibernate.LockMode lockMode
        end local 2 // int batchSize
        end local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        end local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
            0    1     1    persister  Lorg/hibernate/persister/entity/OuterJoinLoadable;
            0    1     2    batchSize  I
            0    1     3     lockMode  Lorg/hibernate/LockMode;
            0    1     4      factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0    1     5  influencers  Lorg/hibernate/engine/spi/LoadQueryInfluencers;
    MethodParameters:
             Name  Flags
      persister    
      batchSize    
      lockMode     
      factory      
      influencers  

  protected org.hibernate.loader.entity.UniqueEntityLoader buildBatchingLoader(org.hibernate.persister.entity.OuterJoinLoadable, int, org.hibernate.LockOptions, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.engine.spi.LoadQueryInfluencers);
    descriptor: (Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockOptions;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)Lorg/hibernate/loader/entity/UniqueEntityLoader;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
        start local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        start local 2 // int batchSize
        start local 3 // org.hibernate.LockOptions lockOptions
        start local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        start local 5 // org.hibernate.engine.spi.LoadQueryInfluencers influencers
         0: .line 304
            new org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader
            dup
            aload 1 /* persister */
            iload 2 /* batchSize */
            aload 3 /* lockOptions */
            aload 4 /* factory */
            aload 5 /* influencers */
            invokespecial org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.<init>:(Lorg/hibernate/persister/entity/OuterJoinLoadable;ILorg/hibernate/LockOptions;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
            areturn
        end local 5 // org.hibernate.engine.spi.LoadQueryInfluencers influencers
        end local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 3 // org.hibernate.LockOptions lockOptions
        end local 2 // int batchSize
        end local 1 // org.hibernate.persister.entity.OuterJoinLoadable persister
        end local 0 // org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/hibernate/loader/entity/DynamicBatchingEntityLoaderBuilder;
            0    1     1    persister  Lorg/hibernate/persister/entity/OuterJoinLoadable;
            0    1     2    batchSize  I
            0    1     3  lockOptions  Lorg/hibernate/LockOptions;
            0    1     4      factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0    1     5  influencers  Lorg/hibernate/engine/spi/LoadQueryInfluencers;
    MethodParameters:
             Name  Flags
      persister    
      batchSize    
      lockOptions  
      factory      
      influencers  
}
SourceFile: "DynamicBatchingEntityLoaderBuilder.java"
NestMembers:
  org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader  org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader  org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader$1
InnerClasses:
  public DynamicBatchingEntityLoader = org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader of org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder
  private DynamicEntityLoader = org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder$DynamicEntityLoader of org.hibernate.loader.entity.DynamicBatchingEntityLoaderBuilder