public abstract class org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer extends org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader implements org.hibernate.loader.collection.CollectionInitializer
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer
  super_class: org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader
{
  private static final org.hibernate.internal.CoreMessageLogger log;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.hibernate.persister.collection.QueryableCollection collectionPersister;
    descriptor: Lorg/hibernate/persister/collection/QueryableCollection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.loader.plan.exec.spi.LoadQueryDetails staticLoadQuery;
    descriptor: Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.LockOptions lockOptions;
    descriptor: Lorg/hibernate/LockOptions;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 39
            ldc Lorg/hibernate/loader/collection/plan/AbstractLoadPlanBasedCollectionInitializer;
            invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
            putstatic org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.log:Lorg/hibernate/internal/CoreMessageLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.persister.collection.QueryableCollection, org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters);
    descriptor: (Lorg/hibernate/persister/collection/QueryableCollection;Lorg/hibernate/loader/plan/exec/query/spi/QueryBuildingParameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer this
        start local 1 // org.hibernate.persister.collection.QueryableCollection collectionPersister
        start local 2 // org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters buildingParameters
         0: .line 48
            aload 0 /* this */
            aload 1 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.QueryableCollection.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokespecial org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
         1: .line 49
            aload 0 /* this */
            aload 1 /* collectionPersister */
            putfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
         2: .line 50
            aload 0 /* this */
            aload 2 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getLockMode:()Lorg/hibernate/LockMode;
            ifnull 4
         3: .line 51
            new org.hibernate.LockOptions
            dup
            aload 2 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getLockMode:()Lorg/hibernate/LockMode;
            invokespecial org.hibernate.LockOptions.<init>:(Lorg/hibernate/LockMode;)V
            goto 5
         4: .line 52
      StackMap locals: org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer org.hibernate.persister.collection.QueryableCollection org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters
      StackMap stack: org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer
            aload 2 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getLockOptions:()Lorg/hibernate/LockOptions;
         5: .line 50
      StackMap locals: org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer org.hibernate.persister.collection.QueryableCollection org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters
      StackMap stack: org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer org.hibernate.LockOptions
            putfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.lockOptions:Lorg/hibernate/LockOptions;
         6: .line 55
            new org.hibernate.loader.plan.build.internal.FetchStyleLoadPlanBuildingAssociationVisitationStrategy
            dup
         7: .line 56
            aload 1 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.QueryableCollection.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         8: .line 57
            aload 2 /* buildingParameters */
            invokeinterface org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters.getQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
         9: .line 58
            aload 0 /* this */
            getfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.lockOptions:Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.LockOptions.getLockMode:()Lorg/hibernate/LockMode;
        10: .line 55
            invokespecial org.hibernate.loader.plan.build.internal.FetchStyleLoadPlanBuildingAssociationVisitationStrategy.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;Lorg/hibernate/LockMode;)V
        11: .line 54
            astore 3 /* strategy */
        start local 3 // org.hibernate.loader.plan.build.internal.FetchStyleLoadPlanBuildingAssociationVisitationStrategy strategy
        12: .line 61
            aload 3 /* strategy */
            aload 1 /* collectionPersister */
            invokestatic org.hibernate.loader.plan.build.spi.MetamodelDrivenLoadPlanBuilder.buildRootCollectionLoadPlan:(Lorg/hibernate/loader/plan/build/spi/LoadPlanBuildingAssociationVisitationStrategy;Lorg/hibernate/persister/collection/CollectionPersister;)Lorg/hibernate/loader/plan/spi/LoadPlan;
            astore 4 /* plan */
        start local 4 // org.hibernate.loader.plan.spi.LoadPlan plan
        13: .line 62
            aload 0 /* this */
            getstatic org.hibernate.loader.plan.exec.internal.BatchingLoadQueryDetailsFactory.INSTANCE:Lorg/hibernate/loader/plan/exec/internal/BatchingLoadQueryDetailsFactory;
        14: .line 63
            aload 1 /* collectionPersister */
        15: .line 64
            aload 4 /* plan */
        16: .line 65
            aload 2 /* buildingParameters */
        17: .line 62
            invokevirtual org.hibernate.loader.plan.exec.internal.BatchingLoadQueryDetailsFactory.makeCollectionLoadQueryDetails:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/loader/plan/spi/LoadPlan;Lorg/hibernate/loader/plan/exec/query/spi/QueryBuildingParameters;)Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
            putfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.staticLoadQuery:Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
        18: .line 67
            return
        end local 4 // org.hibernate.loader.plan.spi.LoadPlan plan
        end local 3 // org.hibernate.loader.plan.build.internal.FetchStyleLoadPlanBuildingAssociationVisitationStrategy strategy
        end local 2 // org.hibernate.loader.plan.exec.query.spi.QueryBuildingParameters buildingParameters
        end local 1 // org.hibernate.persister.collection.QueryableCollection collectionPersister
        end local 0 // org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   19     0                 this  Lorg/hibernate/loader/collection/plan/AbstractLoadPlanBasedCollectionInitializer;
            0   19     1  collectionPersister  Lorg/hibernate/persister/collection/QueryableCollection;
            0   19     2   buildingParameters  Lorg/hibernate/loader/plan/exec/query/spi/QueryBuildingParameters;
           12   19     3             strategy  Lorg/hibernate/loader/plan/build/internal/FetchStyleLoadPlanBuildingAssociationVisitationStrategy;
           13   19     4                 plan  Lorg/hibernate/loader/plan/spi/LoadPlan;
    MethodParameters:
                     Name  Flags
      collectionPersister  
      buildingParameters   

  public void initialize(java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer this
        start local 1 // java.io.Serializable id
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 72
            getstatic org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.log:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 4
         1: .line 73
            getstatic org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.log:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Loading collection: %s"
         2: .line 74
            aload 0 /* this */
            getfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
            aload 1 /* id */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
         3: .line 73
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 78
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.io.Serializable
            dup
            iconst_0
            aload 1 /* id */
            aastore
            astore 3 /* ids */
        start local 3 // java.io.Serializable[] ids
         5: .line 80
            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
         6: .line 81
            aload 4 /* qp */
            iconst_1
            anewarray org.hibernate.type.Type
            dup
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
            invokeinterface org.hibernate.persister.collection.QueryableCollection.getKeyType:()Lorg/hibernate/type/Type;
            aastore
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterTypes:([Lorg/hibernate/type/Type;)V
         7: .line 82
            aload 4 /* qp */
            aload 3 /* ids */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setPositionalParameterValues:([Ljava/lang/Object;)V
         8: .line 83
            aload 4 /* qp */
            aload 3 /* ids */
            invokevirtual org.hibernate.engine.spi.QueryParameters.setCollectionKeys:([Ljava/io/Serializable;)V
         9: .line 85
            aload 4 /* qp */
            aload 0 /* this */
            getfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.lockOptions:Lorg/hibernate/LockOptions;
            invokevirtual org.hibernate.engine.spi.QueryParameters.setLockOptions:(Lorg/hibernate/LockOptions;)V
        10: .line 87
            aload 0 /* this */
        11: .line 88
            aload 2 /* session */
        12: .line 89
            aload 4 /* qp */
        13: .line 90
            aload 0 /* this */
            getfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.staticLoadQuery:Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
        14: .line 91
            iconst_1
        15: .line 92
            aconst_null
        16: .line 87
            invokevirtual org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.executeLoad:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/engine/spi/QueryParameters;Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;ZLorg/hibernate/transform/ResultTransformer;)Ljava/util/List;
            pop
        end local 4 // org.hibernate.engine.spi.QueryParameters qp
        17: .line 95
            goto 26
        18: .line 96
      StackMap locals: org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor java.io.Serializable[]
      StackMap stack: java.sql.SQLException
            astore 4 /* sqle */
        start local 4 // java.sql.SQLException sqle
        19: .line 97
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcServices:()Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getSqlExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        20: .line 98
            aload 4 /* sqle */
        21: .line 99
            new java.lang.StringBuilder
            dup
            ldc "could not initialize a collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 100
            aload 0 /* this */
            getfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
            aload 1 /* id */
            aload 0 /* this */
            invokevirtual org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 99
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 101
            aload 0 /* this */
            getfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.staticLoadQuery:Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
            invokeinterface org.hibernate.loader.plan.exec.spi.LoadQueryDetails.getSqlStatement:()Ljava/lang/String;
        25: .line 97
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 4 // java.sql.SQLException sqle
        26: .line 105
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.log:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done loading collection"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        27: .line 106
            return
        end local 3 // java.io.Serializable[] ids
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   28     0     this  Lorg/hibernate/loader/collection/plan/AbstractLoadPlanBasedCollectionInitializer;
            0   28     1       id  Ljava/io/Serializable;
            0   28     2  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            5   28     3      ids  [Ljava/io/Serializable;
            6   17     4       qp  Lorg/hibernate/engine/spi/QueryParameters;
           19   26     4     sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           5    17      18  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      id       
      session  

  protected org.hibernate.persister.collection.QueryableCollection collectionPersister();
    descriptor: ()Lorg/hibernate/persister/collection/QueryableCollection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer this
         0: .line 109
            aload 0 /* this */
            getfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.collectionPersister:Lorg/hibernate/persister/collection/QueryableCollection;
            areturn
        end local 0 // org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/collection/plan/AbstractLoadPlanBasedCollectionInitializer;

  protected org.hibernate.loader.plan.exec.spi.LoadQueryDetails getStaticLoadQuery();
    descriptor: ()Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer this
         0: .line 114
            aload 0 /* this */
            getfield org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer.staticLoadQuery:Lorg/hibernate/loader/plan/exec/spi/LoadQueryDetails;
            areturn
        end local 0 // org.hibernate.loader.collection.plan.AbstractLoadPlanBasedCollectionInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/collection/plan/AbstractLoadPlanBasedCollectionInitializer;

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

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