public class org.hibernate.persister.collection.BasicCollectionPersister extends org.hibernate.persister.collection.AbstractCollectionPersister
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.persister.collection.BasicCollectionPersister
  super_class: org.hibernate.persister.collection.AbstractCollectionPersister
{
  private org.hibernate.engine.jdbc.batch.internal.BasicBatchKey updateBatchKey;
    descriptor: Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
    flags: (0x0002) ACC_PRIVATE

  public boolean isCascadeDeleteEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
         0: .line 52
            iconst_0
            ireturn
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/BasicCollectionPersister;

  public void <init>(org.hibernate.mapping.Collection, org.hibernate.cache.spi.access.CollectionDataAccess, org.hibernate.persister.spi.PersisterCreationContext);
    descriptor: (Lorg/hibernate/mapping/Collection;Lorg/hibernate/cache/spi/access/CollectionDataAccess;Lorg/hibernate/persister/spi/PersisterCreationContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // org.hibernate.mapping.Collection collectionBinding
        start local 2 // org.hibernate.cache.spi.access.CollectionDataAccess cacheAccessStrategy
        start local 3 // org.hibernate.persister.spi.PersisterCreationContext creationContext
         0: .line 59
            aload 0 /* this */
            aload 1 /* collectionBinding */
            aload 2 /* cacheAccessStrategy */
            aload 3 /* creationContext */
            invokespecial org.hibernate.persister.collection.AbstractCollectionPersister.<init>:(Lorg/hibernate/mapping/Collection;Lorg/hibernate/cache/spi/access/CollectionDataAccess;Lorg/hibernate/persister/spi/PersisterCreationContext;)V
         1: .line 60
            return
        end local 3 // org.hibernate.persister.spi.PersisterCreationContext creationContext
        end local 2 // org.hibernate.cache.spi.access.CollectionDataAccess cacheAccessStrategy
        end local 1 // org.hibernate.mapping.Collection collectionBinding
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0    2     1    collectionBinding  Lorg/hibernate/mapping/Collection;
            0    2     2  cacheAccessStrategy  Lorg/hibernate/cache/spi/access/CollectionDataAccess;
            0    2     3      creationContext  Lorg/hibernate/persister/spi/PersisterCreationContext;
    Exceptions:
      throws org.hibernate.MappingException, org.hibernate.cache.CacheException
    MethodParameters:
                     Name  Flags
      collectionBinding    
      cacheAccessStrategy  
      creationContext      

  protected java.lang.String generateDeleteString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
         0: .line 67
            new org.hibernate.sql.Delete
            dup
            invokespecial org.hibernate.sql.Delete.<init>:()V
         1: .line 68
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.qualifiedTableName:Ljava/lang/String;
            invokevirtual org.hibernate.sql.Delete.setTableName:(Ljava/lang/String;)Lorg/hibernate/sql/Delete;
         2: .line 69
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.keyColumnNames:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Delete.addPrimaryKeyColumns:([Ljava/lang/String;)Lorg/hibernate/sql/Delete;
         3: .line 67
            astore 1 /* delete */
        start local 1 // org.hibernate.sql.Delete delete
         4: .line 71
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.hasWhere:Z
            ifeq 6
         5: .line 72
            aload 1 /* delete */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.sqlWhereString:Ljava/lang/String;
            invokevirtual org.hibernate.sql.Delete.setWhere:(Ljava/lang/String;)Lorg/hibernate/sql/Delete;
            pop
         6: .line 75
      StackMap locals: org.hibernate.sql.Delete
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isCommentsEnabled:()Z
            ifeq 8
         7: .line 76
            aload 1 /* delete */
            new java.lang.StringBuilder
            dup
            ldc "delete collection "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getRole:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.Delete.setComment:(Ljava/lang/String;)Lorg/hibernate/sql/Delete;
            pop
         8: .line 79
      StackMap locals:
      StackMap stack:
            aload 1 /* delete */
            invokevirtual org.hibernate.sql.Delete.toStatementString:()Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.sql.Delete delete
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            4    9     1  delete  Lorg/hibernate/sql/Delete;

  protected java.lang.String generateInsertRowString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
         0: .line 87
            new org.hibernate.sql.Insert
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokespecial org.hibernate.sql.Insert.<init>:(Lorg/hibernate/dialect/Dialect;)V
         1: .line 88
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.qualifiedTableName:Ljava/lang/String;
            invokevirtual org.hibernate.sql.Insert.setTableName:(Ljava/lang/String;)Lorg/hibernate/sql/Insert;
         2: .line 89
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.keyColumnNames:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Insert.addColumns:([Ljava/lang/String;)Lorg/hibernate/sql/Insert;
         3: .line 87
            astore 1 /* insert */
        start local 1 // org.hibernate.sql.Insert insert
         4: .line 91
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.hasIdentifier:Z
            ifeq 6
         5: .line 92
            aload 1 /* insert */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.identifierColumnName:Ljava/lang/String;
            invokevirtual org.hibernate.sql.Insert.addColumn:(Ljava/lang/String;)Lorg/hibernate/sql/Insert;
            pop
         6: .line 95
      StackMap locals: org.hibernate.sql.Insert
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.hasIndex:Z
            ifeq 8
         7: .line 96
            aload 1 /* insert */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.indexColumnNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.indexColumnIsSettable:[Z
            invokevirtual org.hibernate.sql.Insert.addColumns:([Ljava/lang/String;[Z)Lorg/hibernate/sql/Insert;
            pop
         8: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isCommentsEnabled:()Z
            ifeq 10
         9: .line 100
            aload 1 /* insert */
            new java.lang.StringBuilder
            dup
            ldc "insert collection row "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getRole:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.Insert.setComment:(Ljava/lang/String;)Lorg/hibernate/sql/Insert;
            pop
        10: .line 104
      StackMap locals:
      StackMap stack:
            aload 1 /* insert */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnIsSettable:[Z
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnWriters:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Insert.addColumns:([Ljava/lang/String;[Z[Ljava/lang/String;)Lorg/hibernate/sql/Insert;
            pop
        11: .line 107
            aload 1 /* insert */
            invokevirtual org.hibernate.sql.Insert.toStatementString:()Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.sql.Insert insert
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            4   12     1  insert  Lorg/hibernate/sql/Insert;

  protected java.lang.String generateUpdateRowString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
         0: .line 115
            new org.hibernate.sql.Update
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokespecial org.hibernate.sql.Update.<init>:(Lorg/hibernate/dialect/Dialect;)V
         1: .line 116
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.qualifiedTableName:Ljava/lang/String;
            invokevirtual org.hibernate.sql.Update.setTableName:(Ljava/lang/String;)Lorg/hibernate/sql/Update;
         2: .line 115
            astore 1 /* update */
        start local 1 // org.hibernate.sql.Update update
         3: .line 119
            aload 1 /* update */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnIsSettable:[Z
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnWriters:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Update.addColumns:([Ljava/lang/String;[Z[Ljava/lang/String;)Lorg/hibernate/sql/Update;
            pop
         4: .line 122
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.hasIdentifier:Z
            ifeq 7
         5: .line 123
            aload 1 /* update */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.identifierColumnName:Ljava/lang/String;
            aastore
            invokevirtual org.hibernate.sql.Update.addPrimaryKeyColumns:([Ljava/lang/String;)Lorg/hibernate/sql/Update;
            pop
         6: .line 124
            goto 12
         7: .line 125
      StackMap locals: org.hibernate.sql.Update
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.hasIndex:Z
            ifeq 10
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.indexContainsFormula:Z
            ifne 10
         8: .line 126
            aload 1 /* update */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.keyColumnNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.indexColumnNames:[Ljava/lang/String;
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.join:([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Update.addPrimaryKeyColumns:([Ljava/lang/String;)Lorg/hibernate/sql/Update;
            pop
         9: .line 127
            goto 12
        10: .line 129
      StackMap locals:
      StackMap stack:
            aload 1 /* update */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.keyColumnNames:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Update.addPrimaryKeyColumns:([Ljava/lang/String;)Lorg/hibernate/sql/Update;
            pop
        11: .line 130
            aload 1 /* update */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnIsInPrimaryKey:[Z
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnWriters:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Update.addPrimaryKeyColumns:([Ljava/lang/String;[Z[Ljava/lang/String;)Lorg/hibernate/sql/Update;
            pop
        12: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isCommentsEnabled:()Z
            ifeq 14
        13: .line 134
            aload 1 /* update */
            new java.lang.StringBuilder
            dup
            ldc "update collection row "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getRole:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.Update.setComment:(Ljava/lang/String;)Lorg/hibernate/sql/Update;
            pop
        14: .line 137
      StackMap locals:
      StackMap stack:
            aload 1 /* update */
            invokevirtual org.hibernate.sql.Update.toStatementString:()Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.sql.Update update
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            3   15     1  update  Lorg/hibernate/sql/Update;

  protected void doProcessQueuedOps(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
        start local 2 // java.io.Serializable id
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 143
            return
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0    1     1  collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0    1     2          id  Ljava/io/Serializable;
            0    1     3     session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    MethodParameters:
            Name  Flags
      collection  
      id          
      session     

  protected java.lang.String generateDeleteRowString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
         0: .line 150
            new org.hibernate.sql.Delete
            dup
            invokespecial org.hibernate.sql.Delete.<init>:()V
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.qualifiedTableName:Ljava/lang/String;
            invokevirtual org.hibernate.sql.Delete.setTableName:(Ljava/lang/String;)Lorg/hibernate/sql/Delete;
            astore 1 /* delete */
        start local 1 // org.hibernate.sql.Delete delete
         1: .line 152
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.hasIdentifier:Z
            ifeq 4
         2: .line 153
            aload 1 /* delete */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.identifierColumnName:Ljava/lang/String;
            aastore
            invokevirtual org.hibernate.sql.Delete.addPrimaryKeyColumns:([Ljava/lang/String;)Lorg/hibernate/sql/Delete;
            pop
         3: .line 154
            goto 9
         4: .line 155
      StackMap locals: org.hibernate.sql.Delete
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.hasIndex:Z
            ifeq 7
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.indexContainsFormula:Z
            ifne 7
         5: .line 156
            aload 1 /* delete */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.keyColumnNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.indexColumnNames:[Ljava/lang/String;
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.join:([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Delete.addPrimaryKeyColumns:([Ljava/lang/String;)Lorg/hibernate/sql/Delete;
            pop
         6: .line 157
            goto 9
         7: .line 159
      StackMap locals:
      StackMap stack:
            aload 1 /* delete */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.keyColumnNames:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Delete.addPrimaryKeyColumns:([Ljava/lang/String;)Lorg/hibernate/sql/Delete;
            pop
         8: .line 160
            aload 1 /* delete */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnIsInPrimaryKey:[Z
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnWriters:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Delete.addPrimaryKeyColumns:([Ljava/lang/String;[Z[Ljava/lang/String;)Lorg/hibernate/sql/Delete;
            pop
         9: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isCommentsEnabled:()Z
            ifeq 11
        10: .line 164
            aload 1 /* delete */
            new java.lang.StringBuilder
            dup
            ldc "delete collection row "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getRole:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.Delete.setComment:(Ljava/lang/String;)Lorg/hibernate/sql/Delete;
            pop
        11: .line 167
      StackMap locals:
      StackMap stack:
            aload 1 /* delete */
            invokevirtual org.hibernate.sql.Delete.toStatementString:()Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.sql.Delete delete
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            1   12     1  delete  Lorg/hibernate/sql/Delete;

  public boolean consumesEntityAlias();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
         0: .line 171
            iconst_0
            ireturn
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/BasicCollectionPersister;

  public boolean consumesCollectionAlias();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
         0: .line 176
            iconst_1
            ireturn
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/BasicCollectionPersister;

  public boolean isOneToMany();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
         0: .line 180
            iconst_0
            ireturn
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/BasicCollectionPersister;

  public boolean isManyToMany();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
         0: .line 185
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementType:Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.isEntityType:()Z
            ireturn
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/BasicCollectionPersister;

  protected int doUpdateRows(java.io.Serializable, org.hibernate.collection.spi.PersistentCollection, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=11, locals=13, args_size=4
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // java.io.Serializable id
        start local 2 // org.hibernate.collection.spi.PersistentCollection collection
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 193
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnIsSettable:[Z
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.isAllFalse:([Z)Z
            ifeq 2
         1: .line 194
            iconst_0
            ireturn
         2: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getUpdateCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            invokestatic org.hibernate.jdbc.Expectations.appropriateExpectation:(Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)Lorg/hibernate/jdbc/Expectation;
            astore 4 /* expectation */
        start local 4 // org.hibernate.jdbc.Expectation expectation
         3: .line 199
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.isUpdateCallable:()Z
            istore 5 /* callable */
        start local 5 // boolean callable
         4: .line 200
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getConfiguredJdbcBatchSize:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 6 /* jdbcBatchSizeToUse */
        start local 6 // int jdbcBatchSizeToUse
         5: .line 201
            aload 4 /* expectation */
            invokeinterface org.hibernate.jdbc.Expectation.canBeBatched:()Z
            ifeq 6
            iload 6 /* jdbcBatchSizeToUse */
            iconst_1
            if_icmple 6
            iconst_1
            goto 7
      StackMap locals: org.hibernate.jdbc.Expectation int int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 7 /* useBatch */
        start local 7 // boolean useBatch
         8: .line 202
            aload 2 /* collection */
            aload 0 /* this */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.entries:(Lorg/hibernate/persister/collection/CollectionPersister;)Ljava/util/Iterator;
            astore 8 /* entries */
        start local 8 // java.util.Iterator entries
         9: .line 204
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* elements */
        start local 9 // java.util.List elements
        10: .line 205
            goto 12
        11: .line 206
      StackMap locals: int java.util.Iterator java.util.List
      StackMap stack:
            aload 9 /* elements */
            aload 8 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 205
      StackMap locals:
      StackMap stack:
            aload 8 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        13: .line 209
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getSQLUpdateRowString:()Ljava/lang/String;
            astore 10 /* sql */
        start local 10 // java.lang.String sql
        14: .line 210
            iconst_0
            istore 11 /* count */
        start local 11 // int count
        15: .line 211
            aload 2 /* collection */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.isElementRemoved:()Z
            ifeq 33
        16: .line 213
            aload 9 /* elements */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 12 /* i */
        start local 12 // int i
        17: goto 31
        18: .line 214
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 0 /* this */
        19: .line 215
            aload 1 /* id */
        20: .line 216
            aload 2 /* collection */
        21: .line 217
            aload 3 /* session */
        22: .line 218
            aload 4 /* expectation */
        23: .line 219
            iload 5 /* callable */
        24: .line 220
            iload 7 /* useBatch */
        25: .line 221
            aload 9 /* elements */
        26: .line 222
            aload 10 /* sql */
        27: .line 223
            iload 11 /* count */
        28: .line 224
            iload 12 /* i */
        29: .line 214
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.doUpdateRow:(Ljava/io/Serializable;Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/jdbc/Expectation;ZZLjava/util/List;Ljava/lang/String;II)I
            istore 11 /* count */
        30: .line 213
            iinc 12 /* i */ -1
      StackMap locals:
      StackMap stack:
        31: iload 12 /* i */
            ifge 18
        end local 12 // int i
        32: .line 227
            goto 49
        33: .line 229
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        34: goto 48
        35: .line 230
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
        36: .line 231
            aload 1 /* id */
        37: .line 232
            aload 2 /* collection */
        38: .line 233
            aload 3 /* session */
        39: .line 234
            aload 4 /* expectation */
        40: .line 235
            iload 5 /* callable */
        41: .line 236
            iload 7 /* useBatch */
        42: .line 237
            aload 9 /* elements */
        43: .line 238
            aload 10 /* sql */
        44: .line 239
            iload 11 /* count */
        45: .line 240
            iload 12 /* i */
        46: .line 230
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.doUpdateRow:(Ljava/io/Serializable;Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/jdbc/Expectation;ZZLjava/util/List;Ljava/lang/String;II)I
            istore 11 /* count */
        47: .line 229
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 12 /* i */
            aload 9 /* elements */
            invokeinterface java.util.List.size:()I
            if_icmplt 35
        end local 12 // int i
        49: .line 244
      StackMap locals:
      StackMap stack:
            iload 11 /* count */
        50: ireturn
        end local 11 // int count
        end local 10 // java.lang.String sql
        end local 9 // java.util.List elements
        end local 8 // java.util.Iterator entries
        end local 7 // boolean useBatch
        end local 6 // int jdbcBatchSizeToUse
        end local 5 // boolean callable
        end local 4 // org.hibernate.jdbc.Expectation expectation
        51: .line 246
      StackMap locals: org.hibernate.persister.collection.BasicCollectionPersister java.io.Serializable org.hibernate.collection.spi.PersistentCollection org.hibernate.engine.spi.SharedSessionContractImplementor
      StackMap stack: java.sql.SQLException
            astore 4 /* sqle */
        start local 4 // java.sql.SQLException sqle
        52: .line 247
            aload 3 /* 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;
        53: .line 248
            aload 4 /* sqle */
        54: .line 249
            new java.lang.StringBuilder
            dup
            ldc "could not update collection rows: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        55: .line 250
            aload 0 /* this */
        56: .line 251
            aload 2 /* collection */
        57: .line 252
            aload 1 /* id */
        58: .line 253
            aload 3 /* session */
        59: .line 249
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        60: .line 255
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getSQLUpdateRowString:()Ljava/lang/String;
        61: .line 247
            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
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // org.hibernate.collection.spi.PersistentCollection collection
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   62     0                this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0   62     1                  id  Ljava/io/Serializable;
            0   62     2          collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0   62     3             session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            3   51     4         expectation  Lorg/hibernate/jdbc/Expectation;
            4   51     5            callable  Z
            5   51     6  jdbcBatchSizeToUse  I
            8   51     7            useBatch  Z
            9   51     8             entries  Ljava/util/Iterator;
           10   51     9            elements  Ljava/util/List;
           14   51    10                 sql  Ljava/lang/String;
           15   51    11               count  I
           17   32    12                   i  I
           34   49    12                   i  I
           52   62     4                sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           2    50      51  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      id          
      collection  
      session     

  private int doUpdateRow(java.io.Serializable, org.hibernate.collection.spi.PersistentCollection, org.hibernate.engine.spi.SharedSessionContractImplementor, org.hibernate.jdbc.Expectation, boolean, boolean, java.util.List, java.lang.String, int, int);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Lorg/hibernate/jdbc/Expectation;ZZLjava/util/List;Ljava/lang/String;II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=16, args_size=11
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // java.io.Serializable id
        start local 2 // org.hibernate.collection.spi.PersistentCollection collection
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        start local 4 // org.hibernate.jdbc.Expectation expectation
        start local 5 // boolean callable
        start local 6 // boolean useBatch
        start local 7 // java.util.List elements
        start local 8 // java.lang.String sql
        start local 9 // int count
        start local 10 // int i
         0: .line 267
            aload 7 /* elements */
            iload 10 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 12 /* entry */
        start local 12 // java.lang.Object entry
         1: .line 268
            aload 2 /* collection */
            aload 12 /* entry */
            iload 10 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementType:Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.collection.spi.PersistentCollection.needsUpdating:(Ljava/lang/Object;ILorg/hibernate/type/Type;)Z
            ifeq 55
         2: .line 269
            iconst_1
            istore 13 /* offset */
        start local 13 // int offset
         3: .line 271
            iload 6 /* useBatch */
            ifeq 15
         4: .line 272
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.updateBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
            ifnonnull 9
         5: .line 273
            aload 0 /* this */
            new org.hibernate.engine.jdbc.batch.internal.BasicBatchKey
            dup
         6: .line 274
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getRole:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "#UPDATE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 275
            aload 4 /* expectation */
            invokespecial org.hibernate.engine.jdbc.batch.internal.BasicBatchKey.<init>:(Ljava/lang/String;Lorg/hibernate/jdbc/Expectation;)V
         8: .line 273
            putfield org.hibernate.persister.collection.BasicCollectionPersister.updateBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
         9: .line 278
      StackMap locals: org.hibernate.persister.collection.BasicCollectionPersister java.io.Serializable org.hibernate.collection.spi.PersistentCollection org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.jdbc.Expectation int int java.util.List java.lang.String int int top java.lang.Object int
      StackMap stack:
            aload 3 /* session */
        10: .line 279
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        11: .line 280
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.updateBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getBatch:(Lorg/hibernate/engine/jdbc/batch/spi/BatchKey;)Lorg/hibernate/engine/jdbc/batch/spi/Batch;
        12: .line 281
            aload 8 /* sql */
            iload 5 /* callable */
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.getBatchStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        13: .line 278
            astore 11 /* st */
        start local 11 // java.sql.PreparedStatement st
        14: .line 282
            goto 20
        end local 11 // java.sql.PreparedStatement st
        15: .line 284
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
        16: .line 285
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        17: .line 286
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
        18: .line 287
            aload 8 /* sql */
            iload 5 /* callable */
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        19: .line 284
            astore 11 /* st */
        start local 11 // java.sql.PreparedStatement st
        20: .line 291
      StackMap locals: org.hibernate.persister.collection.BasicCollectionPersister java.io.Serializable org.hibernate.collection.spi.PersistentCollection org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.jdbc.Expectation int int java.util.List java.lang.String int int java.sql.PreparedStatement java.lang.Object int
      StackMap stack:
            iload 13 /* offset */
            aload 4 /* expectation */
            aload 11 /* st */
            invokeinterface org.hibernate.jdbc.Expectation.prepare:(Ljava/sql/PreparedStatement;)I
            iadd
            istore 13 /* offset */
        21: .line 292
            aload 0 /* this */
            aload 11 /* st */
            aload 2 /* collection */
            aload 12 /* entry */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getElement:(Ljava/lang/Object;)Ljava/lang/Object;
            iload 13 /* offset */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.writeElement:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
            istore 14 /* loc */
        start local 14 // int loc
        22: .line 293
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.hasIdentifier:Z
            ifeq 25
        23: .line 294
            aload 0 /* this */
            aload 11 /* st */
            aload 2 /* collection */
            aload 12 /* entry */
            iload 10 /* i */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getIdentifier:(Ljava/lang/Object;I)Ljava/lang/Object;
            iload 14 /* loc */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.writeIdentifier:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
            pop
        24: .line 295
            goto 30
        25: .line 297
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 11 /* st */
            aload 1 /* id */
            iload 14 /* loc */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.writeKey:(Ljava/sql/PreparedStatement;Ljava/io/Serializable;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
            istore 14 /* loc */
        26: .line 298
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.hasIndex:Z
            ifeq 29
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.indexContainsFormula:Z
            ifne 29
        27: .line 299
            aload 0 /* this */
            aload 11 /* st */
            aload 2 /* collection */
            aload 12 /* entry */
            iload 10 /* i */
            aload 0 /* this */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getIndex:(Ljava/lang/Object;ILorg/hibernate/persister/collection/CollectionPersister;)Ljava/lang/Object;
            iload 14 /* loc */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.writeIndexToWhere:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
            pop
        28: .line 300
            goto 30
        29: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* st */
            aload 2 /* collection */
            aload 12 /* entry */
            iload 10 /* i */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getSnapshotElement:(Ljava/lang/Object;I)Ljava/lang/Object;
            iload 14 /* loc */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.writeElementToWhere:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)I
            pop
        30: .line 306
      StackMap locals:
      StackMap stack:
            iload 6 /* useBatch */
            ifeq 35
        31: .line 307
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        32: .line 308
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.updateBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getBatch:(Lorg/hibernate/engine/jdbc/batch/spi/BatchKey;)Lorg/hibernate/engine/jdbc/batch/spi/Batch;
        33: .line 309
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.addToBatch:()V
        34: .line 310
            goto 51
        35: .line 312
      StackMap locals:
      StackMap stack:
            aload 4 /* expectation */
        36: .line 313
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
        37: .line 314
            aload 11 /* st */
        38: .line 313
            invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.executeUpdate:(Ljava/sql/PreparedStatement;)I
        39: .line 315
            aload 11 /* st */
            iconst_m1
        40: .line 312
            invokeinterface org.hibernate.jdbc.Expectation.verifyOutcome:(ILjava/sql/PreparedStatement;I)V
        end local 14 // int loc
        41: .line 318
            goto 51
        42: .line 319
      StackMap locals: org.hibernate.persister.collection.BasicCollectionPersister java.io.Serializable org.hibernate.collection.spi.PersistentCollection org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.jdbc.Expectation int int java.util.List java.lang.String int int java.sql.PreparedStatement java.lang.Object int
      StackMap stack: java.sql.SQLException
            astore 14 /* sqle */
        start local 14 // java.sql.SQLException sqle
        43: .line 320
            iload 6 /* useBatch */
            ifeq 45
        44: .line 321
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.abortBatch:()V
        45: .line 323
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 14 /* sqle */
            athrow
        end local 14 // java.sql.SQLException sqle
        46: .line 325
      StackMap locals: org.hibernate.persister.collection.BasicCollectionPersister java.io.Serializable org.hibernate.collection.spi.PersistentCollection org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.jdbc.Expectation int int java.util.List java.lang.String int int java.sql.PreparedStatement java.lang.Object int
      StackMap stack: java.lang.Throwable
            astore 15
        47: .line 326
            iload 6 /* useBatch */
            ifne 50
        48: .line 327
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getLogicalConnection:()Lorg/hibernate/resource/jdbc/spi/LogicalConnectionImplementor;
            invokeinterface org.hibernate.resource.jdbc.spi.LogicalConnectionImplementor.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 11 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        49: .line 328
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        50: .line 330
      StackMap locals: org.hibernate.persister.collection.BasicCollectionPersister java.io.Serializable org.hibernate.collection.spi.PersistentCollection org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.jdbc.Expectation int int java.util.List java.lang.String int int java.sql.PreparedStatement java.lang.Object int top java.lang.Throwable
      StackMap stack:
            aload 15
            athrow
        51: .line 326
      StackMap locals: org.hibernate.persister.collection.BasicCollectionPersister java.io.Serializable org.hibernate.collection.spi.PersistentCollection org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.jdbc.Expectation int int java.util.List java.lang.String int int java.sql.PreparedStatement java.lang.Object int
      StackMap stack:
            iload 6 /* useBatch */
            ifne 54
        52: .line 327
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getLogicalConnection:()Lorg/hibernate/resource/jdbc/spi/LogicalConnectionImplementor;
            invokeinterface org.hibernate.resource.jdbc.spi.LogicalConnectionImplementor.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 11 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        53: .line 328
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        54: .line 331
      StackMap locals:
      StackMap stack:
            iinc 9 /* count */ 1
        end local 13 // int offset
        end local 11 // java.sql.PreparedStatement st
        55: .line 333
      StackMap locals: org.hibernate.persister.collection.BasicCollectionPersister java.io.Serializable org.hibernate.collection.spi.PersistentCollection org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.jdbc.Expectation int int java.util.List java.lang.String int int top java.lang.Object
      StackMap stack:
            iload 9 /* count */
            ireturn
        end local 12 // java.lang.Object entry
        end local 10 // int i
        end local 9 // int count
        end local 8 // java.lang.String sql
        end local 7 // java.util.List elements
        end local 6 // boolean useBatch
        end local 5 // boolean callable
        end local 4 // org.hibernate.jdbc.Expectation expectation
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // org.hibernate.collection.spi.PersistentCollection collection
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   56     0         this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0   56     1           id  Ljava/io/Serializable;
            0   56     2   collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0   56     3      session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   56     4  expectation  Lorg/hibernate/jdbc/Expectation;
            0   56     5     callable  Z
            0   56     6     useBatch  Z
            0   56     7     elements  Ljava/util/List;
            0   56     8          sql  Ljava/lang/String;
            0   56     9        count  I
            0   56    10            i  I
           14   15    11           st  Ljava/sql/PreparedStatement;
           20   55    11           st  Ljava/sql/PreparedStatement;
            1   56    12        entry  Ljava/lang/Object;
            3   55    13       offset  I
           22   41    14          loc  I
           43   46    14         sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          20    41      42  Class java.sql.SQLException
          20    46      46  any
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
             Name  Flags
      id           
      collection   
      session      
      expectation  
      callable     
      useBatch     
      elements     
      sql          
      count        
      i            

  public java.lang.String selectFragment(org.hibernate.persister.entity.Joinable, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean);
    descriptor: (Lorg/hibernate/persister/entity/Joinable;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // org.hibernate.persister.entity.Joinable rhs
        start local 2 // java.lang.String rhsAlias
        start local 3 // java.lang.String lhsAlias
        start local 4 // java.lang.String entitySuffix
        start local 5 // java.lang.String collectionSuffix
        start local 6 // boolean includeCollectionColumns
         0: .line 345
            aload 1 /* rhs */
            ifnull 4
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.isManyToMany:()Z
            ifeq 4
            aload 1 /* rhs */
            invokeinterface org.hibernate.persister.entity.Joinable.isCollection:()Z
            ifne 4
         1: .line 346
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            checkcast org.hibernate.type.AssociationType
            astore 7 /* elementType */
        start local 7 // org.hibernate.type.AssociationType elementType
         2: .line 347
            aload 1 /* rhs */
            aload 7 /* elementType */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.AssociationType.getAssociatedJoinable:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/persister/entity/Joinable;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 348
            aload 0 /* this */
            aload 1 /* rhs */
            aload 2 /* rhsAlias */
            aload 3 /* lhsAlias */
            aload 5 /* collectionSuffix */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.manyToManySelectFragment:(Lorg/hibernate/persister/entity/Joinable;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 7 // org.hibernate.type.AssociationType elementType
         4: .line 351
      StackMap locals:
      StackMap stack:
            iload 6 /* includeCollectionColumns */
            ifeq 5
            aload 0 /* this */
            aload 3 /* lhsAlias */
            aload 5 /* collectionSuffix */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.selectFragment:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            goto 6
      StackMap locals:
      StackMap stack:
         5: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         6: areturn
        end local 6 // boolean includeCollectionColumns
        end local 5 // java.lang.String collectionSuffix
        end local 4 // java.lang.String entitySuffix
        end local 3 // java.lang.String lhsAlias
        end local 2 // java.lang.String rhsAlias
        end local 1 // org.hibernate.persister.entity.Joinable rhs
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    7     0                      this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0    7     1                       rhs  Lorg/hibernate/persister/entity/Joinable;
            0    7     2                  rhsAlias  Ljava/lang/String;
            0    7     3                  lhsAlias  Ljava/lang/String;
            0    7     4              entitySuffix  Ljava/lang/String;
            0    7     5          collectionSuffix  Ljava/lang/String;
            0    7     6  includeCollectionColumns  Z
            2    4     7               elementType  Lorg/hibernate/type/AssociationType;
    MethodParameters:
                          Name  Flags
      rhs                       
      rhsAlias                  
      lhsAlias                  
      entitySuffix              
      collectionSuffix          
      includeCollectionColumns  

  private java.lang.String manyToManySelectFragment(org.hibernate.persister.entity.Joinable, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lorg/hibernate/persister/entity/Joinable;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // org.hibernate.persister.entity.Joinable rhs
        start local 2 // java.lang.String rhsAlias
        start local 3 // java.lang.String lhsAlias
        start local 4 // java.lang.String collectionSuffix
         0: .line 359
            aload 0 /* this */
            aload 3 /* lhsAlias */
            aload 4 /* collectionSuffix */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.generateSelectFragment:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
            astore 5 /* frag */
        start local 5 // org.hibernate.sql.SelectFragment frag
         1: .line 361
            aload 1 /* rhs */
            invokeinterface org.hibernate.persister.entity.Joinable.getKeyColumnNames:()[Ljava/lang/String;
            astore 6 /* elementColumnNames */
        start local 6 // java.lang.String[] elementColumnNames
         2: .line 362
            aload 5 /* frag */
            aload 2 /* rhsAlias */
            aload 6 /* elementColumnNames */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.elementColumnAliases:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.SelectFragment.addColumns:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
            pop
         3: .line 363
            aload 0 /* this */
            aload 5 /* frag */
            aload 3 /* lhsAlias */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.appendIndexColumns:(Lorg/hibernate/sql/SelectFragment;Ljava/lang/String;)V
         4: .line 364
            aload 0 /* this */
            aload 5 /* frag */
            aload 3 /* lhsAlias */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.appendIdentifierColumns:(Lorg/hibernate/sql/SelectFragment;Ljava/lang/String;)V
         5: .line 366
            aload 5 /* frag */
            invokevirtual org.hibernate.sql.SelectFragment.toFragmentString:()Ljava/lang/String;
         6: .line 367
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
         7: .line 366
            areturn
        end local 6 // java.lang.String[] elementColumnNames
        end local 5 // org.hibernate.sql.SelectFragment frag
        end local 4 // java.lang.String collectionSuffix
        end local 3 // java.lang.String lhsAlias
        end local 2 // java.lang.String rhsAlias
        end local 1 // org.hibernate.persister.entity.Joinable rhs
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0    8     1                 rhs  Lorg/hibernate/persister/entity/Joinable;
            0    8     2            rhsAlias  Ljava/lang/String;
            0    8     3            lhsAlias  Ljava/lang/String;
            0    8     4    collectionSuffix  Ljava/lang/String;
            1    8     5                frag  Lorg/hibernate/sql/SelectFragment;
            2    8     6  elementColumnNames  [Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      rhs               
      rhsAlias          
      lhsAlias          
      collectionSuffix  

  protected org.hibernate.loader.collection.CollectionInitializer createCollectionInitializer(org.hibernate.engine.spi.LoadQueryInfluencers);
    descriptor: (Lorg/hibernate/engine/spi/LoadQueryInfluencers;)Lorg/hibernate/loader/collection/CollectionInitializer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers
         0: .line 378
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.loader.collection.BatchingCollectionInitializerBuilder.getBuilder:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/loader/collection/BatchingCollectionInitializerBuilder;
         1: .line 379
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.BasicCollectionPersister.batchSize:I
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 1 /* loadQueryInfluencers */
            invokevirtual org.hibernate.loader.collection.BatchingCollectionInitializerBuilder.createBatchingCollectionInitializer:(Lorg/hibernate/persister/collection/QueryableCollection;ILorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)Lorg/hibernate/loader/collection/CollectionInitializer;
         2: .line 378
            areturn
        end local 1 // org.hibernate.engine.spi.LoadQueryInfluencers loadQueryInfluencers
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    3     0                  this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0    3     1  loadQueryInfluencers  Lorg/hibernate/engine/spi/LoadQueryInfluencers;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                      Name  Flags
      loadQueryInfluencers  

  public java.lang.String fromJoinFragment(java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;ZZ)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // boolean innerJoin
        start local 3 // boolean includeSubclasses
         0: .line 384
            ldc ""
            areturn
        end local 3 // boolean includeSubclasses
        end local 2 // boolean innerJoin
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0    1     1              alias  Ljava/lang/String;
            0    1     2          innerJoin  Z
            0    1     3  includeSubclasses  Z
    MethodParameters:
                   Name  Flags
      alias              
      innerJoin          
      includeSubclasses  

  public java.lang.String fromJoinFragment(java.lang.String, boolean, boolean, java.util.Set<java.lang.String>);
    descriptor: (Ljava/lang/String;ZZLjava/util/Set;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // boolean innerJoin
        start local 3 // boolean includeSubclasses
        start local 4 // java.util.Set treatAsDeclarations
         0: .line 393
            ldc ""
            areturn
        end local 4 // java.util.Set treatAsDeclarations
        end local 3 // boolean includeSubclasses
        end local 2 // boolean innerJoin
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0    1     1                alias  Ljava/lang/String;
            0    1     2            innerJoin  Z
            0    1     3    includeSubclasses  Z
            0    1     4  treatAsDeclarations  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;ZZLjava/util/Set<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      alias                
      innerJoin            
      includeSubclasses    
      treatAsDeclarations  

  public java.lang.String whereJoinFragment(java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;ZZ)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // boolean innerJoin
        start local 3 // boolean includeSubclasses
         0: .line 398
            ldc ""
            areturn
        end local 3 // boolean includeSubclasses
        end local 2 // boolean innerJoin
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0    1     1              alias  Ljava/lang/String;
            0    1     2          innerJoin  Z
            0    1     3  includeSubclasses  Z
    MethodParameters:
                   Name  Flags
      alias              
      innerJoin          
      includeSubclasses  

  public java.lang.String whereJoinFragment(java.lang.String, boolean, boolean, java.util.Set<java.lang.String>);
    descriptor: (Ljava/lang/String;ZZLjava/util/Set;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=5
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // boolean innerJoin
        start local 3 // boolean includeSubclasses
        start local 4 // java.util.Set treatAsDeclarations
         0: .line 407
            ldc ""
            areturn
        end local 4 // java.util.Set treatAsDeclarations
        end local 3 // boolean includeSubclasses
        end local 2 // boolean innerJoin
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0    1     1                alias  Ljava/lang/String;
            0    1     2            innerJoin  Z
            0    1     3    includeSubclasses  Z
            0    1     4  treatAsDeclarations  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;ZZLjava/util/Set<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      alias                
      innerJoin            
      includeSubclasses    
      treatAsDeclarations  

  protected org.hibernate.loader.collection.CollectionInitializer createSubselectInitializer(org.hibernate.engine.spi.SubselectFetch, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SubselectFetch;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Lorg/hibernate/loader/collection/CollectionInitializer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // org.hibernate.engine.spi.SubselectFetch subselect
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 412
            new org.hibernate.loader.collection.SubselectCollectionLoader
            dup
         1: .line 413
            aload 0 /* this */
         2: .line 414
            aload 1 /* subselect */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.BasicCollectionPersister.getCollectionType:()Lorg/hibernate/type/CollectionType;
            invokevirtual org.hibernate.type.CollectionType.getLHSPropertyName:()Ljava/lang/String;
            invokevirtual org.hibernate.engine.spi.SubselectFetch.toSubselectString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 415
            aload 1 /* subselect */
            invokevirtual org.hibernate.engine.spi.SubselectFetch.getResult:()Ljava/util/Set;
         4: .line 416
            aload 1 /* subselect */
            invokevirtual org.hibernate.engine.spi.SubselectFetch.getQueryParameters:()Lorg/hibernate/engine/spi/QueryParameters;
         5: .line 417
            aload 1 /* subselect */
            invokevirtual org.hibernate.engine.spi.SubselectFetch.getNamedParameterLocMap:()Ljava/util/Map;
         6: .line 418
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         7: .line 419
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
         8: .line 412
            invokespecial org.hibernate.loader.collection.SubselectCollectionLoader.<init>:(Lorg/hibernate/persister/collection/QueryableCollection;Ljava/lang/String;Ljava/util/Collection;Lorg/hibernate/engine/spi/QueryParameters;Ljava/util/Map;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/LoadQueryInfluencers;)V
            areturn
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // org.hibernate.engine.spi.SubselectFetch subselect
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0    9     1  subselect  Lorg/hibernate/engine/spi/SubselectFetch;
            0    9     2    session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    MethodParameters:
           Name  Flags
      subselect  
      session    

  public org.hibernate.internal.FilterAliasGenerator getFilterAliasGenerator(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/internal/FilterAliasGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
        start local 1 // java.lang.String rootAlias
         0: .line 425
            new org.hibernate.internal.StaticFilterAliasGenerator
            dup
            aload 1 /* rootAlias */
            invokespecial org.hibernate.internal.StaticFilterAliasGenerator.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String rootAlias
        end local 0 // org.hibernate.persister.collection.BasicCollectionPersister this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/persister/collection/BasicCollectionPersister;
            0    1     1  rootAlias  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      rootAlias  
}
SourceFile: "BasicCollectionPersister.java"