public abstract class org.hibernate.persister.collection.AbstractCollectionPersister implements org.hibernate.metadata.CollectionMetadata, org.hibernate.persister.collection.SQLLoadableCollection
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.persister.collection.AbstractCollectionPersister
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.String role;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sqlDeleteString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sqlInsertRowString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sqlUpdateRowString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sqlDeleteRowString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sqlSelectSizeString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sqlSelectRowByIndexString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sqlDetectRowByIndexString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sqlDetectRowByElementString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final boolean hasWhere;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String sqlWhereString;
    descriptor: Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final java.lang.String sqlWhereStringTemplate;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasOrder;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.sql.ordering.antlr.OrderByTranslation orderByTranslation;
    descriptor: Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasManyToManyOrder;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.sql.ordering.antlr.OrderByTranslation manyToManyOrderByTranslation;
    descriptor: Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int baseIndex;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String nodeName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String elementNodeName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String indexNodeName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  protected final boolean indexContainsFormula;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final boolean elementIsPureFormula;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final org.hibernate.type.Type keyType;
    descriptor: Lorg/hibernate/type/Type;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.type.Type indexType;
    descriptor: Lorg/hibernate/type/Type;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final org.hibernate.type.Type elementType;
    descriptor: Lorg/hibernate/type/Type;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final org.hibernate.type.Type identifierType;
    descriptor: Lorg/hibernate/type/Type;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final java.lang.String[] keyColumnNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] indexColumnNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] indexFormulaTemplates;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] indexFormulas;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final boolean[] indexColumnIsSettable;
    descriptor: [Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] elementColumnNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] elementColumnWriters;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] elementColumnReaders;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] elementColumnReaderTemplates;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] elementFormulaTemplates;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] elementFormulas;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final boolean[] elementColumnIsSettable;
    descriptor: [Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final boolean[] elementColumnIsInPrimaryKey;
    descriptor: [Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] indexColumnAliases;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] elementColumnAliases;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String[] keyColumnAliases;
    descriptor: [Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.String identifierColumnName;
    descriptor: Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final java.lang.String identifierColumnAlias;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final java.lang.String qualifiedTableName;
    descriptor: Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final java.lang.String queryLoaderName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isPrimitiveArray;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isArray;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final boolean hasIndex;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final boolean hasIdentifier;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final boolean isLazy;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isExtraLazy;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final boolean isInverse;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final boolean isMutable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isVersioned;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final int batchSize;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

  private final boolean hasOrphanDelete;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean subselectLoadable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class elementClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String entityName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  protected final org.hibernate.engine.jdbc.spi.SqlExceptionHelper sqlExceptionHelper;
    descriptor: Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final org.hibernate.engine.spi.SessionFactoryImplementor factory;
    descriptor: Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.persister.entity.EntityPersister ownerPersister;
    descriptor: Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.id.IdentifierGenerator identifierGenerator;
    descriptor: Lorg/hibernate/id/IdentifierGenerator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.persister.entity.PropertyMapping elementPropertyMapping;
    descriptor: Lorg/hibernate/persister/entity/PropertyMapping;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.persister.entity.EntityPersister elementPersister;
    descriptor: Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.cache.spi.access.CollectionRegionAccessStrategy cacheAccessStrategy;
    descriptor: Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.type.CollectionType collectionType;
    descriptor: Lorg/hibernate/type/CollectionType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.hibernate.loader.collection.CollectionInitializer initializer;
    descriptor: Lorg/hibernate/loader/collection/CollectionInitializer;
    flags: (0x0002) ACC_PRIVATE

  private final org.hibernate.cache.spi.entry.CacheEntryStructure cacheEntryStructure;
    descriptor: Lorg/hibernate/cache/spi/entry/CacheEntryStructure;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.internal.FilterHelper filterHelper;
    descriptor: Lorg/hibernate/internal/FilterHelper;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.internal.FilterHelper manyToManyFilterHelper;
    descriptor: Lorg/hibernate/internal/FilterHelper;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String manyToManyWhereString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String manyToManyWhereTemplate;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean insertCallable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean updateCallable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean deleteCallable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean deleteAllCallable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle insertCheckStyle;
    descriptor: Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle updateCheckStyle;
    descriptor: Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle deleteCheckStyle;
    descriptor: Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle deleteAllCheckStyle;
    descriptor: Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0002) ACC_PRIVATE

  private final java.io.Serializable[] spaces;
    descriptor: [Ljava/io/Serializable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.Map collectionPropertyColumnAliases;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map collectionPropertyColumnNames;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.engine.jdbc.batch.internal.BasicBatchKey removeBatchKey;
    descriptor: Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
    flags: (0x0002) ACC_PRIVATE

  protected org.hibernate.engine.jdbc.batch.internal.BasicBatchKey recreateBatchKey;
    descriptor: Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
    flags: (0x0004) ACC_PROTECTED

  private org.hibernate.engine.jdbc.batch.internal.BasicBatchKey deleteBatchKey;
    descriptor: Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.engine.jdbc.batch.internal.BasicBatchKey insertBatchKey;
    descriptor: Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 124
            ldc Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 125
            ldc Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         2: .line 124
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         3: .line 125
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.mapping.Collection, org.hibernate.cache.spi.access.CollectionRegionAccessStrategy, org.hibernate.cfg.Configuration, org.hibernate.engine.spi.SessionFactoryImplementor);
    descriptor: (Lorg/hibernate/mapping/Collection;Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;Lorg/hibernate/cfg/Configuration;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=22, args_size=5
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.mapping.Collection collection
        start local 2 // org.hibernate.cache.spi.access.CollectionRegionAccessStrategy cacheAccessStrategy
        start local 3 // org.hibernate.cfg.Configuration cfg
        start local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
         0: .line 248
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 245
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.collectionPropertyColumnAliases:Ljava/util/Map;
         2: .line 246
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.collectionPropertyColumnNames:Ljava/util/Map;
         3: .line 254
            aload 0 /* this */
            aload 4 /* factory */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         4: .line 255
            aload 0 /* this */
            aload 2 /* cacheAccessStrategy */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.cacheAccessStrategy:Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;
         5: .line 256
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isStructuredCacheEntriesEnabled:()Z
            ifeq 11
         6: .line 257
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isMap:()Z
            ifeq 8
         7: .line 258
            getstatic org.hibernate.cache.spi.entry.StructuredMapCacheEntry.INSTANCE:Lorg/hibernate/cache/spi/entry/StructuredMapCacheEntry;
            goto 9
         8: .line 259
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            getstatic org.hibernate.cache.spi.entry.StructuredCollectionCacheEntry.INSTANCE:Lorg/hibernate/cache/spi/entry/StructuredCollectionCacheEntry;
         9: .line 257
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.cache.spi.entry.CacheEntryStructure
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.cacheEntryStructure:Lorg/hibernate/cache/spi/entry/CacheEntryStructure;
        10: .line 260
            goto 12
        11: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.hibernate.cache.spi.entry.UnstructuredCacheEntry.INSTANCE:Lorg/hibernate/cache/spi/entry/UnstructuredCacheEntry;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.cacheEntryStructure:Lorg/hibernate/cache/spi/entry/CacheEntryStructure;
        12: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
        13: .line 266
            aload 0 /* this */
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlExceptionHelper:Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        14: .line 267
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCollectionType:()Lorg/hibernate/type/CollectionType;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.collectionType:Lorg/hibernate/type/CollectionType;
        15: .line 268
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.role:Ljava/lang/String;
        16: .line 269
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.entityName:Ljava/lang/String;
        17: .line 270
            aload 0 /* this */
            aload 4 /* factory */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.entityName:Ljava/lang/String;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.ownerPersister:Lorg/hibernate/persister/entity/EntityPersister;
        18: .line 271
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getLoaderName:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.queryLoaderName:Ljava/lang/String;
        19: .line 272
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getNodeName:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.nodeName:Ljava/lang/String;
        20: .line 273
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isMutable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isMutable:Z
        21: .line 274
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getMappedByProperty:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.mappedByProperty:Ljava/lang/String;
        22: .line 276
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCollectionTable:()Lorg/hibernate/mapping/Table;
            astore 5 /* table */
        start local 5 // org.hibernate.mapping.Table table
        23: .line 277
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getElement:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getFetchMode:()Lorg/hibernate/FetchMode;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.fetchMode:Lorg/hibernate/FetchMode;
        24: .line 278
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getElement:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getType:()Lorg/hibernate/type/Type;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
        25: .line 281
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isPrimitiveArray:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isPrimitiveArray:Z
        26: .line 282
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isArray:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isArray:Z
        27: .line 283
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isSubselectLoadable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.subselectLoadable:Z
        28: .line 285
            aload 0 /* this */
            aload 5 /* table */
        29: .line 286
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
        30: .line 287
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
        31: .line 288
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
        32: .line 285
            invokevirtual org.hibernate.mapping.Table.getQualifiedName:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.qualifiedTableName:Ljava/lang/String;
        33: .line 291
            iconst_1
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getSynchronizedTables:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            iadd
            istore 6 /* spacesSize */
        start local 6 // int spacesSize
        34: .line 292
            aload 0 /* this */
            iload 6 /* spacesSize */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.spaces:[Ljava/io/Serializable;
        35: .line 293
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.spaces:[Ljava/io/Serializable;
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.qualifiedTableName:Ljava/lang/String;
            aastore
        36: .line 294
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getSynchronizedTables:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7 /* iter */
        start local 7 // java.util.Iterator iter
        37: .line 295
            iconst_1
            istore 8 /* i */
        start local 8 // int i
        38: goto 41
        39: .line 296
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.spaces:[Ljava/io/Serializable;
            iload 8 /* i */
            aload 7 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        40: .line 295
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 8 /* i */
            iload 6 /* spacesSize */
            if_icmplt 39
        end local 8 // int i
        42: .line 299
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getWhere:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 43
            new java.lang.StringBuilder
            dup
            ldc "( "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getWhere:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 44
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
        43: aconst_null
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister java.lang.String
        44: putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlWhereString:Ljava/lang/String;
        45: .line 300
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlWhereString:Ljava/lang/String;
            ifnull 46
            iconst_1
            goto 47
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
        46: iconst_0
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister int
        47: putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasWhere:Z
        48: .line 301
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasWhere:Z
            ifeq 50
        49: .line 302
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlWhereString:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSqlFunctionRegistry:()Lorg/hibernate/dialect/function/SQLFunctionRegistry;
            invokestatic org.hibernate.sql.Template.renderWhereStringTemplate:(Ljava/lang/String;Lorg/hibernate/dialect/Dialect;Lorg/hibernate/dialect/function/SQLFunctionRegistry;)Ljava/lang/String;
            goto 51
        50: .line 303
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            aconst_null
        51: .line 301
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlWhereStringTemplate:Ljava/lang/String;
        52: .line 305
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.hasOrphanDelete:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasOrphanDelete:Z
        53: .line 307
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getBatchSize:()I
            istore 8 /* batch */
        start local 8 // int batch
        54: .line 308
            iload 8 /* batch */
            iconst_m1
            if_icmpne 56
        55: .line 309
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultBatchFetchSize:()I
            istore 8 /* batch */
        56: .line 311
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 8 /* batch */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.batchSize:I
        57: .line 313
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isOptimisticLocked:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isVersioned:Z
        58: .line 317
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getKey:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getType:()Lorg/hibernate/type/Type;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.keyType:Lorg/hibernate/type/Type;
        59: .line 318
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getKey:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnIterator:()Ljava/util/Iterator;
            astore 7 /* iter */
        60: .line 319
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getKey:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnSpan:()I
            istore 9 /* keySpan */
        start local 9 // int keySpan
        61: .line 320
            aload 0 /* this */
            iload 9 /* keySpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnNames:[Ljava/lang/String;
        62: .line 321
            aload 0 /* this */
            iload 9 /* keySpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnAliases:[Ljava/lang/String;
        63: .line 322
            iconst_0
            istore 10 /* k */
        start local 10 // int k
        64: .line 323
            goto 69
        65: .line 325
      StackMap locals: int int
      StackMap stack:
            aload 7 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 11 /* col */
        start local 11 // org.hibernate.mapping.Column col
        66: .line 326
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnNames:[Ljava/lang/String;
            iload 10 /* k */
            aload 11 /* col */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.mapping.Column.getQuotedName:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            aastore
        67: .line 327
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnAliases:[Ljava/lang/String;
            iload 10 /* k */
            aload 11 /* col */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getRootTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Column.getAlias:(Lorg/hibernate/dialect/Dialect;Lorg/hibernate/mapping/Table;)Ljava/lang/String;
            aastore
        68: .line 328
            iinc 10 /* k */ 1
        end local 11 // org.hibernate.mapping.Column col
        69: .line 323
      StackMap locals:
      StackMap stack:
            aload 7 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 65
        70: .line 335
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getElementNodeName:()Ljava/lang/String;
            astore 11 /* elemNode */
        start local 11 // java.lang.String elemNode
        71: .line 336
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.isEntityType:()Z
            ifeq 77
        72: .line 337
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            checkcast org.hibernate.type.EntityType
            invokevirtual org.hibernate.type.EntityType.getAssociatedEntityName:()Ljava/lang/String;
            astore 12 /* entityName */
        start local 12 // java.lang.String entityName
        73: .line 338
            aload 0 /* this */
            aload 4 /* factory */
            aload 12 /* entityName */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPersister:Lorg/hibernate/persister/entity/EntityPersister;
        74: .line 339
            aload 11 /* elemNode */
            ifnonnull 78
        75: .line 340
            aload 3 /* cfg */
            aload 12 /* entityName */
            invokevirtual org.hibernate.cfg.Configuration.getClassMapping:(Ljava/lang/String;)Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getNodeName:()Ljava/lang/String;
            astore 11 /* elemNode */
        end local 12 // java.lang.String entityName
        76: .line 344
            goto 78
        77: .line 346
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPersister:Lorg/hibernate/persister/entity/EntityPersister;
        78: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* elemNode */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementNodeName:Ljava/lang/String;
        79: .line 350
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getElement:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnSpan:()I
            istore 12 /* elementSpan */
        start local 12 // int elementSpan
        80: .line 351
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnAliases:[Ljava/lang/String;
        81: .line 352
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
        82: .line 353
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnWriters:[Ljava/lang/String;
        83: .line 354
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnReaders:[Ljava/lang/String;
        84: .line 355
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnReaderTemplates:[Ljava/lang/String;
        85: .line 356
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementFormulaTemplates:[Ljava/lang/String;
        86: .line 357
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementFormulas:[Ljava/lang/String;
        87: .line 358
            aload 0 /* this */
            iload 12 /* elementSpan */
            newarray 4
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsSettable:[Z
        88: .line 359
            aload 0 /* this */
            iload 12 /* elementSpan */
            newarray 4
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsInPrimaryKey:[Z
        89: .line 360
            iconst_1
            istore 13 /* isPureFormula */
        start local 13 // boolean isPureFormula
        90: .line 361
            iconst_0
            istore 14 /* hasNotNullableColumns */
        start local 14 // boolean hasNotNullableColumns
        91: .line 362
            iconst_0
            istore 15 /* j */
        start local 15 // int j
        92: .line 363
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getElement:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnIterator:()Ljava/util/Iterator;
            astore 7 /* iter */
        93: .line 364
            goto 114
        94: .line 365
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int
      StackMap stack:
            aload 7 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Selectable
            astore 16 /* selectable */
        start local 16 // org.hibernate.mapping.Selectable selectable
        95: .line 366
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnAliases:[Ljava/lang/String;
            iload 15 /* j */
            aload 16 /* selectable */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            aload 5 /* table */
            invokeinterface org.hibernate.mapping.Selectable.getAlias:(Lorg/hibernate/dialect/Dialect;Lorg/hibernate/mapping/Table;)Ljava/lang/String;
            aastore
        96: .line 367
            aload 16 /* selectable */
            invokeinterface org.hibernate.mapping.Selectable.isFormula:()Z
            ifeq 101
        97: .line 368
            aload 16 /* selectable */
            checkcast org.hibernate.mapping.Formula
            astore 17 /* form */
        start local 17 // org.hibernate.mapping.Formula form
        98: .line 369
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementFormulaTemplates:[Ljava/lang/String;
            iload 15 /* j */
            aload 17 /* form */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSqlFunctionRegistry:()Lorg/hibernate/dialect/function/SQLFunctionRegistry;
            invokevirtual org.hibernate.mapping.Formula.getTemplate:(Lorg/hibernate/dialect/Dialect;Lorg/hibernate/dialect/function/SQLFunctionRegistry;)Ljava/lang/String;
            aastore
        99: .line 370
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementFormulas:[Ljava/lang/String;
            iload 15 /* j */
            aload 17 /* form */
            invokevirtual org.hibernate.mapping.Formula.getFormula:()Ljava/lang/String;
            aastore
        end local 17 // org.hibernate.mapping.Formula form
       100: .line 371
            goto 113
       101: .line 373
      StackMap locals: org.hibernate.mapping.Selectable
      StackMap stack:
            aload 16 /* selectable */
            checkcast org.hibernate.mapping.Column
            astore 17 /* col */
        start local 17 // org.hibernate.mapping.Column col
       102: .line 374
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
            iload 15 /* j */
            aload 17 /* col */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.mapping.Column.getQuotedName:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            aastore
       103: .line 375
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnWriters:[Ljava/lang/String;
            iload 15 /* j */
            aload 17 /* col */
            invokevirtual org.hibernate.mapping.Column.getWriteExpr:()Ljava/lang/String;
            aastore
       104: .line 376
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnReaders:[Ljava/lang/String;
            iload 15 /* j */
            aload 17 /* col */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.mapping.Column.getReadExpr:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            aastore
       105: .line 377
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnReaderTemplates:[Ljava/lang/String;
            iload 15 /* j */
            aload 17 /* col */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSqlFunctionRegistry:()Lorg/hibernate/dialect/function/SQLFunctionRegistry;
            invokevirtual org.hibernate.mapping.Column.getTemplate:(Lorg/hibernate/dialect/Dialect;Lorg/hibernate/dialect/function/SQLFunctionRegistry;)Ljava/lang/String;
            aastore
       106: .line 378
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsSettable:[Z
            iload 15 /* j */
            iconst_1
            bastore
       107: .line 379
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsInPrimaryKey:[Z
            iload 15 /* j */
            aload 17 /* col */
            invokevirtual org.hibernate.mapping.Column.isNullable:()Z
            ifeq 108
            iconst_0
            goto 109
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int org.hibernate.mapping.Selectable org.hibernate.mapping.Column
      StackMap stack: boolean[] int
       108: iconst_1
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int org.hibernate.mapping.Selectable org.hibernate.mapping.Column
      StackMap stack: boolean[] int int
       109: bastore
       110: .line 380
            aload 17 /* col */
            invokevirtual org.hibernate.mapping.Column.isNullable:()Z
            ifne 112
       111: .line 381
            iconst_1
            istore 14 /* hasNotNullableColumns */
       112: .line 383
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* isPureFormula */
        end local 17 // org.hibernate.mapping.Column col
       113: .line 385
      StackMap locals:
      StackMap stack:
            iinc 15 /* j */ 1
        end local 16 // org.hibernate.mapping.Selectable selectable
       114: .line 364
      StackMap locals:
      StackMap stack:
            aload 7 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 94
       115: .line 387
            aload 0 /* this */
            iload 13 /* isPureFormula */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementIsPureFormula:Z
       116: .line 392
            iload 14 /* hasNotNullableColumns */
            ifne 118
       117: .line 393
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsInPrimaryKey:[Z
            iconst_1
            invokestatic java.util.Arrays.fill:([ZZ)V
       118: .line 398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isIndexed:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
       119: .line 399
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 152
       120: .line 401
            aload 1 /* collection */
            checkcast org.hibernate.mapping.IndexedCollection
            astore 16 /* indexedCollection */
        start local 16 // org.hibernate.mapping.IndexedCollection indexedCollection
       121: .line 402
            aload 0 /* this */
            aload 16 /* indexedCollection */
            invokevirtual org.hibernate.mapping.IndexedCollection.getIndex:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getType:()Lorg/hibernate/type/Type;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexType:Lorg/hibernate/type/Type;
       122: .line 403
            aload 16 /* indexedCollection */
            invokevirtual org.hibernate.mapping.IndexedCollection.getIndex:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnSpan:()I
            istore 17 /* indexSpan */
        start local 17 // int indexSpan
       123: .line 404
            aload 16 /* indexedCollection */
            invokevirtual org.hibernate.mapping.IndexedCollection.getIndex:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnIterator:()Ljava/util/Iterator;
            astore 7 /* iter */
       124: .line 405
            aload 0 /* this */
            iload 17 /* indexSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
       125: .line 406
            aload 0 /* this */
            iload 17 /* indexSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulaTemplates:[Ljava/lang/String;
       126: .line 407
            aload 0 /* this */
            iload 17 /* indexSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
       127: .line 408
            aload 0 /* this */
            iload 17 /* indexSpan */
            newarray 4
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsSettable:[Z
       128: .line 409
            aload 0 /* this */
            iload 17 /* indexSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
       129: .line 410
            iconst_0
            istore 18 /* i */
        start local 18 // int i
       130: .line 411
            iconst_0
            istore 19 /* hasFormula */
        start local 19 // boolean hasFormula
       131: .line 412
            goto 144
       132: .line 413
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int org.hibernate.mapping.IndexedCollection int int int
      StackMap stack:
            aload 7 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Selectable
            astore 20 /* s */
        start local 20 // org.hibernate.mapping.Selectable s
       133: .line 414
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
            iload 18 /* i */
            aload 20 /* s */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            invokeinterface org.hibernate.mapping.Selectable.getAlias:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            aastore
       134: .line 415
            aload 20 /* s */
            invokeinterface org.hibernate.mapping.Selectable.isFormula:()Z
            ifeq 140
       135: .line 416
            aload 20 /* s */
            checkcast org.hibernate.mapping.Formula
            astore 21 /* indexForm */
        start local 21 // org.hibernate.mapping.Formula indexForm
       136: .line 417
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulaTemplates:[Ljava/lang/String;
            iload 18 /* i */
            aload 21 /* indexForm */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSqlFunctionRegistry:()Lorg/hibernate/dialect/function/SQLFunctionRegistry;
            invokevirtual org.hibernate.mapping.Formula.getTemplate:(Lorg/hibernate/dialect/Dialect;Lorg/hibernate/dialect/function/SQLFunctionRegistry;)Ljava/lang/String;
            aastore
       137: .line 418
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
            iload 18 /* i */
            aload 21 /* indexForm */
            invokevirtual org.hibernate.mapping.Formula.getFormula:()Ljava/lang/String;
            aastore
       138: .line 419
            iconst_1
            istore 19 /* hasFormula */
        end local 21 // org.hibernate.mapping.Formula indexForm
       139: .line 420
            goto 143
       140: .line 422
      StackMap locals: org.hibernate.mapping.Selectable
      StackMap stack:
            aload 20 /* s */
            checkcast org.hibernate.mapping.Column
            astore 21 /* indexCol */
        start local 21 // org.hibernate.mapping.Column indexCol
       141: .line 423
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
            iload 18 /* i */
            aload 21 /* indexCol */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.mapping.Column.getQuotedName:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            aastore
       142: .line 424
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsSettable:[Z
            iload 18 /* i */
            iconst_1
            bastore
        end local 21 // org.hibernate.mapping.Column indexCol
       143: .line 426
      StackMap locals:
      StackMap stack:
            iinc 18 /* i */ 1
        end local 20 // org.hibernate.mapping.Selectable s
       144: .line 412
      StackMap locals:
      StackMap stack:
            aload 7 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 132
       145: .line 428
            aload 0 /* this */
            iload 19 /* hasFormula */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexContainsFormula:Z
       146: .line 429
            aload 0 /* this */
            aload 16 /* indexedCollection */
            invokevirtual org.hibernate.mapping.IndexedCollection.isList:()Z
            ifeq 148
       147: .line 430
            aload 16 /* indexedCollection */
            checkcast org.hibernate.mapping.List
            invokevirtual org.hibernate.mapping.List.getBaseIndex:()I
            goto 149
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
       148: iconst_0
       149: .line 429
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int org.hibernate.mapping.IndexedCollection int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister int
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.baseIndex:I
       150: .line 432
            aload 0 /* this */
            aload 16 /* indexedCollection */
            invokevirtual org.hibernate.mapping.IndexedCollection.getIndexNodeName:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexNodeName:Ljava/lang/String;
        end local 19 // boolean hasFormula
        end local 18 // int i
        end local 17 // int indexSpan
        end local 16 // org.hibernate.mapping.IndexedCollection indexedCollection
       151: .line 434
            goto 161
       152: .line 436
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexContainsFormula:Z
       153: .line 437
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsSettable:[Z
       154: .line 438
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulaTemplates:[Ljava/lang/String;
       155: .line 439
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
       156: .line 440
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexType:Lorg/hibernate/type/Type;
       157: .line 441
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
       158: .line 442
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
       159: .line 443
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.baseIndex:I
       160: .line 444
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexNodeName:Ljava/lang/String;
       161: .line 447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isIdentified:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
       162: .line 448
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 179
       163: .line 449
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isOneToMany:()Z
            ifeq 165
       164: .line 450
            new org.hibernate.MappingException
            dup
            ldc "one-to-many collections with identifiers are not supported"
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
       165: .line 452
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            checkcast org.hibernate.mapping.IdentifierCollection
            astore 16 /* idColl */
        start local 16 // org.hibernate.mapping.IdentifierCollection idColl
       166: .line 453
            aload 0 /* this */
            aload 16 /* idColl */
            invokevirtual org.hibernate.mapping.IdentifierCollection.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getType:()Lorg/hibernate/type/Type;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierType:Lorg/hibernate/type/Type;
       167: .line 454
            aload 16 /* idColl */
            invokevirtual org.hibernate.mapping.IdentifierCollection.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnIterator:()Ljava/util/Iterator;
            astore 7 /* iter */
       168: .line 455
            aload 7 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 17 /* col */
        start local 17 // org.hibernate.mapping.Column col
       169: .line 456
            aload 0 /* this */
            aload 17 /* col */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.mapping.Column.getQuotedName:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnName:Ljava/lang/String;
       170: .line 457
            aload 0 /* this */
            aload 17 /* col */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.mapping.Column.getAlias:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnAlias:Ljava/lang/String;
       171: .line 459
            aload 0 /* this */
            aload 16 /* idColl */
            invokevirtual org.hibernate.mapping.IdentifierCollection.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
       172: .line 460
            aload 3 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getIdentifierGeneratorFactory:()Lorg/hibernate/id/factory/spi/MutableIdentifierGeneratorFactory;
       173: .line 461
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
       174: .line 462
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
       175: .line 463
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
       176: .line 464
            aconst_null
       177: .line 459
            invokeinterface org.hibernate.mapping.KeyValue.createIdentifierGenerator:(Lorg/hibernate/id/factory/IdentifierGeneratorFactory;Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/mapping/RootClass;)Lorg/hibernate/id/IdentifierGenerator;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierGenerator:Lorg/hibernate/id/IdentifierGenerator;
        end local 17 // org.hibernate.mapping.Column col
        end local 16 // org.hibernate.mapping.IdentifierCollection idColl
       178: .line 466
            goto 183
       179: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierType:Lorg/hibernate/type/Type;
       180: .line 469
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnName:Ljava/lang/String;
       181: .line 470
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnAlias:Ljava/lang/String;
       182: .line 472
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierGenerator:Lorg/hibernate/id/IdentifierGenerator;
       183: .line 480
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLInsert:()Ljava/lang/String;
            ifnonnull 188
       184: .line 481
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.generateInsertRowString:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlInsertRowString:Ljava/lang/String;
       185: .line 482
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.insertCallable:Z
       186: .line 483
            aload 0 /* this */
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.COUNT:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.insertCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       187: .line 484
            goto 194
       188: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLInsert:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlInsertRowString:Ljava/lang/String;
       189: .line 487
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isCustomInsertCallable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.insertCallable:Z
       190: .line 488
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLInsertCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            ifnonnull 192
       191: .line 489
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLInsert:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.insertCallable:Z
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.determineDefault:(Ljava/lang/String;Z)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 193
       192: .line 490
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLInsertCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       193: .line 488
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.insertCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       194: .line 493
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLUpdate:()Ljava/lang/String;
            ifnonnull 199
       195: .line 494
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.generateUpdateRowString:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlUpdateRowString:Ljava/lang/String;
       196: .line 495
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.updateCallable:Z
       197: .line 496
            aload 0 /* this */
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.COUNT:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.updateCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       198: .line 497
            goto 205
       199: .line 499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLUpdate:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlUpdateRowString:Ljava/lang/String;
       200: .line 500
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isCustomUpdateCallable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.updateCallable:Z
       201: .line 501
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLUpdateCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            ifnonnull 203
       202: .line 502
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLUpdate:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.insertCallable:Z
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.determineDefault:(Ljava/lang/String;Z)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 204
       203: .line 503
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLUpdateCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       204: .line 501
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.updateCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       205: .line 506
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLDelete:()Ljava/lang/String;
            ifnonnull 210
       206: .line 507
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.generateDeleteRowString:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDeleteRowString:Ljava/lang/String;
       207: .line 508
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteCallable:Z
       208: .line 509
            aload 0 /* this */
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.NONE:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       209: .line 510
            goto 213
       210: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLDelete:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDeleteRowString:Ljava/lang/String;
       211: .line 513
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isCustomDeleteCallable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteCallable:Z
       212: .line 514
            aload 0 /* this */
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.NONE:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       213: .line 517
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLDeleteAll:()Ljava/lang/String;
            ifnonnull 218
       214: .line 518
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.generateDeleteString:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDeleteString:Ljava/lang/String;
       215: .line 519
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteAllCallable:Z
       216: .line 520
            aload 0 /* this */
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.NONE:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteAllCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       217: .line 521
            goto 221
       218: .line 523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLDeleteAll:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDeleteString:Ljava/lang/String;
       219: .line 524
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isCustomDeleteAllCallable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteAllCallable:Z
       220: .line 525
            aload 0 /* this */
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.NONE:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteAllCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       221: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isIndexed:()Z
            ifeq 222
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isMap:()Z
            ifne 222
            iconst_1
            goto 223
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.persister.collection.AbstractCollectionPersister
       222: iconst_0
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.persister.collection.AbstractCollectionPersister int
       223: invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.generateSelectSizeString:(Z)Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlSelectSizeString:Ljava/lang/String;
       224: .line 529
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.generateDetectRowByIndexString:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDetectRowByIndexString:Ljava/lang/String;
       225: .line 530
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.generateDetectRowByElementString:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDetectRowByElementString:Ljava/lang/String;
       226: .line 531
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.generateSelectRowByIndexString:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlSelectRowByIndexString:Ljava/lang/String;
       227: .line 533
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.logStaticSQL:()V
       228: .line 535
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isLazy:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isLazy:Z
       229: .line 536
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isExtraLazy:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isExtraLazy:Z
       230: .line 538
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isInverse:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
       231: .line 540
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isArray:()Z
            ifeq 234
       232: .line 541
            aload 0 /* this */
            aload 1 /* collection */
            checkcast org.hibernate.mapping.Array
            invokevirtual org.hibernate.mapping.Array.getElementClass:()Ljava/lang/Class;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementClass:Ljava/lang/Class;
       233: .line 542
            goto 235
       234: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementClass:Ljava/lang/Class;
       235: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 245
       236: .line 549
            aload 0 /* this */
            new org.hibernate.persister.collection.CompositeElementPropertyMapping
            dup
       237: .line 550
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
       238: .line 551
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnReaders:[Ljava/lang/String;
       239: .line 552
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnReaderTemplates:[Ljava/lang/String;
       240: .line 553
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementFormulaTemplates:[Ljava/lang/String;
       241: .line 554
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            checkcast org.hibernate.type.CompositeType
       242: .line 555
            aload 4 /* factory */
            invokespecial org.hibernate.persister.collection.CompositeElementPropertyMapping.<init>:([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/type/CompositeType;Lorg/hibernate/engine/spi/Mapping;)V
       243: .line 549
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPropertyMapping:Lorg/hibernate/persister/entity/PropertyMapping;
       244: .line 557
            goto 258
       245: .line 558
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.isEntityType:()Z
            ifne 251
       246: .line 559
            aload 0 /* this */
            new org.hibernate.persister.collection.ElementPropertyMapping
            dup
       247: .line 560
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
       248: .line 561
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            invokespecial org.hibernate.persister.collection.ElementPropertyMapping.<init>:([Ljava/lang/String;Lorg/hibernate/type/Type;)V
       249: .line 559
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPropertyMapping:Lorg/hibernate/persister/entity/PropertyMapping;
       250: .line 563
            goto 258
       251: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPersister:Lorg/hibernate/persister/entity/EntityPersister;
            instanceof org.hibernate.persister.entity.PropertyMapping
            ifeq 254
       252: .line 566
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPersister:Lorg/hibernate/persister/entity/EntityPersister;
            checkcast org.hibernate.persister.entity.PropertyMapping
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPropertyMapping:Lorg/hibernate/persister/entity/PropertyMapping;
       253: .line 567
            goto 258
       254: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.hibernate.persister.collection.ElementPropertyMapping
            dup
       255: .line 570
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
       256: .line 571
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            invokespecial org.hibernate.persister.collection.ElementPropertyMapping.<init>:([Ljava/lang/String;Lorg/hibernate/type/Type;)V
       257: .line 569
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPropertyMapping:Lorg/hibernate/persister/entity/PropertyMapping;
       258: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getOrderBy:()Ljava/lang/String;
            ifnull 259
            iconst_1
            goto 260
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
       259: iconst_0
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister int
       260: putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasOrder:Z
       261: .line 577
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasOrder:Z
            ifeq 270
       262: .line 578
            aload 0 /* this */
       263: .line 579
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getOrderBy:()Ljava/lang/String;
       264: .line 580
            new org.hibernate.persister.collection.AbstractCollectionPersister$ColumnMapperImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.persister.collection.AbstractCollectionPersister$ColumnMapperImpl.<init>:(Lorg/hibernate/persister/collection/AbstractCollectionPersister;)V
       265: .line 581
            aload 4 /* factory */
       266: .line 582
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
       267: .line 583
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSqlFunctionRegistry:()Lorg/hibernate/dialect/function/SQLFunctionRegistry;
       268: .line 578
            invokestatic org.hibernate.sql.Template.translateOrderBy:(Ljava/lang/String;Lorg/hibernate/sql/ordering/antlr/ColumnMapper;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/dialect/Dialect;Lorg/hibernate/dialect/function/SQLFunctionRegistry;)Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.orderByTranslation:Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
       269: .line 585
            goto 271
       270: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.orderByTranslation:Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
       271: .line 591
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.hibernate.internal.FilterHelper
            dup
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getFilters:()Ljava/util/List;
            aload 4 /* factory */
            invokespecial org.hibernate.internal.FilterHelper.<init>:(Ljava/util/List;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.filterHelper:Lorg/hibernate/internal/FilterHelper;
       272: .line 594
            aload 0 /* this */
            new org.hibernate.internal.FilterHelper
            dup
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getManyToManyFilters:()Ljava/util/List;
            aload 4 /* factory */
            invokespecial org.hibernate.internal.FilterHelper.<init>:(Ljava/util/List;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyFilterHelper:Lorg/hibernate/internal/FilterHelper;
       273: .line 595
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getManyToManyWhere:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 275
       274: .line 596
            new java.lang.StringBuilder
            dup
            ldc "( "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getManyToManyWhere:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 276
       275: .line 597
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            aconst_null
       276: .line 595
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyWhereString:Ljava/lang/String;
       277: .line 598
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyWhereString:Ljava/lang/String;
            ifnonnull 279
       278: .line 599
            aconst_null
            goto 280
       279: .line 600
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyWhereString:Ljava/lang/String;
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSqlFunctionRegistry:()Lorg/hibernate/dialect/function/SQLFunctionRegistry;
            invokestatic org.hibernate.sql.Template.renderWhereStringTemplate:(Ljava/lang/String;Lorg/hibernate/dialect/Dialect;Lorg/hibernate/dialect/function/SQLFunctionRegistry;)Ljava/lang/String;
       280: .line 598
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyWhereTemplate:Ljava/lang/String;
       281: .line 602
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getManyToManyOrdering:()Ljava/lang/String;
            ifnull 282
            iconst_1
            goto 283
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
       282: iconst_0
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionRegionAccessStrategy org.hibernate.cfg.Configuration org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.mapping.Table int java.util.Iterator int int int java.lang.String int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister int
       283: putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasManyToManyOrder:Z
       284: .line 603
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasManyToManyOrder:Z
            ifeq 293
       285: .line 604
            aload 0 /* this */
       286: .line 605
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getManyToManyOrdering:()Ljava/lang/String;
       287: .line 606
            new org.hibernate.persister.collection.AbstractCollectionPersister$ColumnMapperImpl
            dup
            aload 0 /* this */
            invokespecial org.hibernate.persister.collection.AbstractCollectionPersister$ColumnMapperImpl.<init>:(Lorg/hibernate/persister/collection/AbstractCollectionPersister;)V
       288: .line 607
            aload 4 /* factory */
       289: .line 608
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
       290: .line 609
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSqlFunctionRegistry:()Lorg/hibernate/dialect/function/SQLFunctionRegistry;
       291: .line 604
            invokestatic org.hibernate.sql.Template.translateOrderBy:(Ljava/lang/String;Lorg/hibernate/sql/ordering/antlr/ColumnMapper;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/dialect/Dialect;Lorg/hibernate/dialect/function/SQLFunctionRegistry;)Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyOrderByTranslation:Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
       292: .line 611
            goto 294
       293: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyOrderByTranslation:Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
       294: .line 616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.initCollectionPropertyMap:()V
       295: .line 617
            return
        end local 15 // int j
        end local 14 // boolean hasNotNullableColumns
        end local 13 // boolean isPureFormula
        end local 12 // int elementSpan
        end local 11 // java.lang.String elemNode
        end local 10 // int k
        end local 9 // int keySpan
        end local 8 // int batch
        end local 7 // java.util.Iterator iter
        end local 6 // int spacesSize
        end local 5 // org.hibernate.mapping.Table table
        end local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 3 // org.hibernate.cfg.Configuration cfg
        end local 2 // org.hibernate.cache.spi.access.CollectionRegionAccessStrategy cacheAccessStrategy
        end local 1 // org.hibernate.mapping.Collection collection
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0  296     0                   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0  296     1             collection  Lorg/hibernate/mapping/Collection;
            0  296     2    cacheAccessStrategy  Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;
            0  296     3                    cfg  Lorg/hibernate/cfg/Configuration;
            0  296     4                factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
           23  296     5                  table  Lorg/hibernate/mapping/Table;
           34  296     6             spacesSize  I
           37  296     7                   iter  Ljava/util/Iterator;
           38   42     8                      i  I
           54  296     8                  batch  I
           61  296     9                keySpan  I
           64  296    10                      k  I
           66   69    11                    col  Lorg/hibernate/mapping/Column;
           71  296    11               elemNode  Ljava/lang/String;
           73   76    12             entityName  Ljava/lang/String;
           80  296    12            elementSpan  I
           90  296    13          isPureFormula  Z
           91  296    14  hasNotNullableColumns  Z
           92  296    15                      j  I
           95  114    16             selectable  Lorg/hibernate/mapping/Selectable;
           98  100    17                   form  Lorg/hibernate/mapping/Formula;
          102  113    17                    col  Lorg/hibernate/mapping/Column;
          121  151    16      indexedCollection  Lorg/hibernate/mapping/IndexedCollection;
          123  151    17              indexSpan  I
          130  151    18                      i  I
          131  151    19             hasFormula  Z
          133  144    20                      s  Lorg/hibernate/mapping/Selectable;
          136  139    21              indexForm  Lorg/hibernate/mapping/Formula;
          141  143    21               indexCol  Lorg/hibernate/mapping/Column;
          166  178    16                 idColl  Lorg/hibernate/mapping/IdentifierCollection;
          169  178    17                    col  Lorg/hibernate/mapping/Column;
    Exceptions:
      throws org.hibernate.MappingException, org.hibernate.cache.CacheException
    MethodParameters:
                     Name  Flags
      collection           final
      cacheAccessStrategy  final
      cfg                  final
      factory              final

  private java.lang.String[] formulaTemplates(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String reference
        start local 2 // int expectedSize
         0: .line 666
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPersister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMetamodel:()Lorg/hibernate/tuple/entity/EntityMetamodel;
            aload 1 /* reference */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.getPropertyIndex:(Ljava/lang/String;)I
            istore 3 /* propertyIndex */
        start local 3 // int propertyIndex
         1: .line 667
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPersister:Lorg/hibernate/persister/entity/EntityPersister;
            checkcast org.hibernate.persister.entity.Queryable
            invokeinterface org.hibernate.persister.entity.Queryable.getSubclassPropertyFormulaTemplateClosure:()[[Ljava/lang/String;
            iload 3 /* propertyIndex */
            aaload
         2: areturn
        end local 3 // int propertyIndex
         3: .line 669
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         4: .line 670
            iload 2 /* expectedSize */
            anewarray java.lang.String
            areturn
        end local 2 // int expectedSize
        end local 1 // java.lang.String reference
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    5     1      reference  Ljava/lang/String;
            0    5     2   expectedSize  I
            1    3     3  propertyIndex  I
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Exception
    MethodParameters:
              Name  Flags
      reference     
      expectedSize  

  public void postInstantiate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 676
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.queryLoaderName:Ljava/lang/String;
            ifnonnull 2
         1: .line 677
            aload 0 /* this */
            getstatic org.hibernate.engine.spi.LoadQueryInfluencers.NONE:Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.createCollectionInitializer:(Lorg/hibernate/engine/spi/LoadQueryInfluencers;)Lorg/hibernate/loader/collection/CollectionInitializer;
            goto 3
         2: .line 678
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            new org.hibernate.persister.collection.NamedQueryCollectionInitializer
            dup
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.queryLoaderName:Ljava/lang/String;
            aload 0 /* this */
            invokespecial org.hibernate.persister.collection.NamedQueryCollectionInitializer.<init>:(Ljava/lang/String;Lorg/hibernate/persister/collection/CollectionPersister;)V
         3: .line 676
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.loader.collection.CollectionInitializer
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.initializer:Lorg/hibernate/loader/collection/CollectionInitializer;
         4: .line 679
            return
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
    Exceptions:
      throws org.hibernate.MappingException

  protected void logStaticSQL();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 682
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 6
         1: .line 683
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Static SQL for collection: %s"
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getRole:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 684
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLInsertRowString:()Ljava/lang/String;
            ifnull 3
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc " Row insert: %s"
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLInsertRowString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLUpdateRowString:()Ljava/lang/String;
            ifnull 4
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc " Row update: %s"
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLUpdateRowString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteRowString:()Ljava/lang/String;
            ifnull 5
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc " Row delete: %s"
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteRowString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteString:()Ljava/lang/String;
            ifnull 6
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc " One-shot delete: %s"
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 689
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public void initialize(java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.io.Serializable key
        start local 2 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 693
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getAppropriateInitializer:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/loader/collection/CollectionInitializer;
            aload 1 /* key */
            aload 2 /* session */
            invokeinterface org.hibernate.loader.collection.CollectionInitializer.initialize:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
         1: .line 694
            return
        end local 2 // org.hibernate.engine.spi.SessionImplementor session
        end local 1 // java.io.Serializable key
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    2     1      key  Ljava/io/Serializable;
            0    2     2  session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      key      
      session  

  protected org.hibernate.loader.collection.CollectionInitializer getAppropriateInitializer(java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/loader/collection/CollectionInitializer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.io.Serializable key
        start local 2 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 697
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.queryLoaderName:Ljava/lang/String;
            ifnull 2
         1: .line 700
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.initializer:Lorg/hibernate/loader/collection/CollectionInitializer;
            areturn
         2: .line 702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSubselectInitializer:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/loader/collection/CollectionInitializer;
            astore 3 /* subselectInitializer */
        start local 3 // org.hibernate.loader.collection.CollectionInitializer subselectInitializer
         3: .line 703
            aload 3 /* subselectInitializer */
            ifnull 5
         4: .line 704
            aload 3 /* subselectInitializer */
            areturn
         5: .line 706
      StackMap locals: org.hibernate.loader.collection.CollectionInitializer
      StackMap stack:
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getEnabledFilters:()Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 7
         6: .line 707
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.initializer:Lorg/hibernate/loader/collection/CollectionInitializer;
            areturn
         7: .line 710
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.createCollectionInitializer:(Lorg/hibernate/engine/spi/LoadQueryInfluencers;)Lorg/hibernate/loader/collection/CollectionInitializer;
            areturn
        end local 3 // org.hibernate.loader.collection.CollectionInitializer subselectInitializer
        end local 2 // org.hibernate.engine.spi.SessionImplementor session
        end local 1 // java.io.Serializable key
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    8     1                   key  Ljava/io/Serializable;
            0    8     2               session  Lorg/hibernate/engine/spi/SessionImplementor;
            3    8     3  subselectInitializer  Lorg/hibernate/loader/collection/CollectionInitializer;
    MethodParameters:
         Name  Flags
      key      
      session  

  private org.hibernate.loader.collection.CollectionInitializer getSubselectInitializer(java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/loader/collection/CollectionInitializer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.io.Serializable key
        start local 2 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 716
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isSubselectLoadable:()Z
            ifne 2
         1: .line 717
            aconst_null
            areturn
         2: .line 720
      StackMap locals:
      StackMap stack:
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            astore 3 /* persistenceContext */
        start local 3 // org.hibernate.engine.spi.PersistenceContext persistenceContext
         3: .line 722
            aload 3 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getBatchFetchQueue:()Lorg/hibernate/engine/spi/BatchFetchQueue;
         4: .line 723
            aload 2 /* session */
            aload 1 /* key */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getOwnerEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            invokevirtual org.hibernate.engine.spi.BatchFetchQueue.getSubselect:(Lorg/hibernate/engine/spi/EntityKey;)Lorg/hibernate/engine/spi/SubselectFetch;
         5: .line 722
            astore 4 /* subselect */
        start local 4 // org.hibernate.engine.spi.SubselectFetch subselect
         6: .line 725
            aload 4 /* subselect */
            ifnonnull 8
         7: .line 726
            aconst_null
            areturn
         8: .line 732
      StackMap locals: org.hibernate.engine.spi.PersistenceContext org.hibernate.engine.spi.SubselectFetch
      StackMap stack:
            aload 4 /* subselect */
            invokevirtual org.hibernate.engine.spi.SubselectFetch.getResult:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        start local 5 // java.util.Iterator iter
         9: .line 733
            goto 12
        10: .line 734
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* persistenceContext */
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.EntityKey
            invokeinterface org.hibernate.engine.spi.PersistenceContext.containsEntity:(Lorg/hibernate/engine/spi/EntityKey;)Z
            ifne 12
        11: .line 735
            aload 5 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        12: .line 733
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 740
            aload 0 /* this */
            aload 4 /* subselect */
            aload 2 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.createSubselectInitializer:(Lorg/hibernate/engine/spi/SubselectFetch;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/loader/collection/CollectionInitializer;
            areturn
        end local 5 // java.util.Iterator iter
        end local 4 // org.hibernate.engine.spi.SubselectFetch subselect
        end local 3 // org.hibernate.engine.spi.PersistenceContext persistenceContext
        end local 2 // org.hibernate.engine.spi.SessionImplementor session
        end local 1 // java.io.Serializable key
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   14     1                 key  Ljava/io/Serializable;
            0   14     2             session  Lorg/hibernate/engine/spi/SessionImplementor;
            3   14     3  persistenceContext  Lorg/hibernate/engine/spi/PersistenceContext;
            6   14     4           subselect  Lorg/hibernate/engine/spi/SubselectFetch;
            9   14     5                iter  Ljava/util/Iterator;
    MethodParameters:
         Name  Flags
      key      
      session  

  protected abstract org.hibernate.loader.collection.CollectionInitializer createSubselectInitializer(org.hibernate.engine.spi.SubselectFetch, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SubselectFetch;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/loader/collection/CollectionInitializer;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      subselect  
      session    

  protected abstract org.hibernate.loader.collection.CollectionInitializer createCollectionInitializer(org.hibernate.engine.spi.LoadQueryInfluencers);
    descriptor: (Lorg/hibernate/engine/spi/LoadQueryInfluencers;)Lorg/hibernate/loader/collection/CollectionInitializer;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                      Name  Flags
      loadQueryInfluencers  

  public org.hibernate.cache.spi.access.CollectionRegionAccessStrategy getCacheAccessStrategy();
    descriptor: ()Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 751
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.cacheAccessStrategy:Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean hasCache();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 756
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.cacheAccessStrategy:Lorg/hibernate/cache/spi/access/CollectionRegionAccessStrategy;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.type.CollectionType getCollectionType();
    descriptor: ()Lorg/hibernate/type/CollectionType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 761
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.collectionType:Lorg/hibernate/type/CollectionType;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected java.lang.String getSQLWhereString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
         0: .line 765
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlWhereStringTemplate:Ljava/lang/String;
            ldc "$PlaceHolder$"
            aload 1 /* alias */
            invokestatic org.hibernate.internal.util.StringHelper.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    1     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public java.lang.String getSQLOrderByString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
         0: .line 770
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.hasOrdering:()Z
            ifeq 2
         1: .line 771
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.orderByTranslation:Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
            new org.hibernate.persister.collection.AbstractCollectionPersister$StandardOrderByAliasResolver
            dup
            aload 0 /* this */
            aload 1 /* alias */
            invokespecial org.hibernate.persister.collection.AbstractCollectionPersister$StandardOrderByAliasResolver.<init>:(Lorg/hibernate/persister/collection/AbstractCollectionPersister;Ljava/lang/String;)V
            invokeinterface org.hibernate.sql.ordering.antlr.OrderByTranslation.injectAliases:(Lorg/hibernate/sql/ordering/antlr/OrderByAliasResolver;)Ljava/lang/String;
            goto 3
         2: .line 772
      StackMap locals:
      StackMap stack:
            ldc ""
         3: .line 770
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    4     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public java.lang.String getManyToManyOrderByString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
         0: .line 777
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.hasManyToManyOrdering:()Z
            ifeq 2
         1: .line 778
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyOrderByTranslation:Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
            new org.hibernate.persister.collection.AbstractCollectionPersister$StandardOrderByAliasResolver
            dup
            aload 0 /* this */
            aload 1 /* alias */
            invokespecial org.hibernate.persister.collection.AbstractCollectionPersister$StandardOrderByAliasResolver.<init>:(Lorg/hibernate/persister/collection/AbstractCollectionPersister;Ljava/lang/String;)V
            invokeinterface org.hibernate.sql.ordering.antlr.OrderByTranslation.injectAliases:(Lorg/hibernate/sql/ordering/antlr/OrderByAliasResolver;)Ljava/lang/String;
            goto 3
         2: .line 779
      StackMap locals:
      StackMap stack:
            ldc ""
         3: .line 777
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    4     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public org.hibernate.FetchMode getFetchMode();
    descriptor: ()Lorg/hibernate/FetchMode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 784
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.fetchMode:Lorg/hibernate/FetchMode;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean hasOrdering();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 789
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasOrder:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean hasManyToManyOrdering();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 794
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isManyToMany:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasManyToManyOrder:Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean hasWhere();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 799
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasWhere:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected java.lang.String getSQLDeleteString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 803
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDeleteString:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected java.lang.String getSQLInsertRowString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 807
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlInsertRowString:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected java.lang.String getSQLUpdateRowString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 811
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlUpdateRowString:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected java.lang.String getSQLDeleteRowString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 815
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDeleteRowString:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.type.Type getKeyType();
    descriptor: ()Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 820
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyType:Lorg/hibernate/type/Type;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.type.Type getIndexType();
    descriptor: ()Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 825
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexType:Lorg/hibernate/type/Type;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.type.Type getElementType();
    descriptor: ()Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 830
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.Class getElementClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 838
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementClass:Ljava/lang/Class;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.Object readElement(java.sql.ResultSet, java.lang.Object, java.lang.String[], org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/ResultSet;Ljava/lang/Object;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.sql.ResultSet rs
        start local 2 // java.lang.Object owner
        start local 3 // java.lang.String[] aliases
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 844
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            aload 1 /* rs */
            aload 3 /* aliases */
            aload 4 /* session */
            aload 2 /* owner */
            invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // java.lang.String[] aliases
        end local 2 // java.lang.Object owner
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    1     1       rs  Ljava/sql/ResultSet;
            0    1     2    owner  Ljava/lang/Object;
            0    1     3  aliases  [Ljava/lang/String;
            0    1     4  session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
         Name  Flags
      rs       
      owner    
      aliases  
      session  

  public java.lang.Object readIndex(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.sql.ResultSet rs
        start local 2 // java.lang.String[] aliases
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 850
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getIndexType:()Lorg/hibernate/type/Type;
            aload 1 /* rs */
            aload 2 /* aliases */
            aload 3 /* session */
            aconst_null
            invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* index */
        start local 4 // java.lang.Object index
         1: .line 851
            aload 4 /* index */
            ifnonnull 3
         2: .line 852
            new org.hibernate.HibernateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "null index column for collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.role:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 854
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 4 /* index */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.decrementIndexByBase:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* index */
         4: .line 855
            aload 4 /* index */
            areturn
        end local 4 // java.lang.Object index
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.lang.String[] aliases
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    5     1       rs  Ljava/sql/ResultSet;
            0    5     2  aliases  [Ljava/lang/String;
            0    5     3  session  Lorg/hibernate/engine/spi/SessionImplementor;
            1    5     4    index  Ljava/lang/Object;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
         Name  Flags
      rs       
      aliases  
      session  

  protected java.lang.Object decrementIndexByBase(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.Object index
         0: .line 859
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.baseIndex:I
            ifeq 2
         1: .line 860
            aload 1 /* index */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.baseIndex:I
            isub
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 1 /* index */
         2: .line 862
      StackMap locals:
      StackMap stack:
            aload 1 /* index */
            areturn
        end local 1 // java.lang.Object index
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1  index  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      index  

  public java.lang.Object readIdentifier(java.sql.ResultSet, java.lang.String, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/ResultSet;Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.sql.ResultSet rs
        start local 2 // java.lang.String alias
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 868
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getIdentifierType:()Lorg/hibernate/type/Type;
            aload 1 /* rs */
            aload 2 /* alias */
            aload 3 /* session */
            aconst_null
            invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* id */
        start local 4 // java.lang.Object id
         1: .line 869
            aload 4 /* id */
            ifnonnull 3
         2: .line 870
            new org.hibernate.HibernateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "null identifier column for collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.role:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 872
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* id */
            areturn
        end local 4 // java.lang.Object id
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.lang.String alias
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    4     1       rs  Ljava/sql/ResultSet;
            0    4     2    alias  Ljava/lang/String;
            0    4     3  session  Lorg/hibernate/engine/spi/SessionImplementor;
            1    4     4       id  Ljava/lang/Object;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
         Name  Flags
      rs       
      alias    
      session  

  public java.lang.Object readKey(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.sql.ResultSet rs
        start local 2 // java.lang.String[] aliases
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 878
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getKeyType:()Lorg/hibernate/type/Type;
            aload 1 /* rs */
            aload 2 /* aliases */
            aload 3 /* session */
            aconst_null
            invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.lang.String[] aliases
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    1     1       rs  Ljava/sql/ResultSet;
            0    1     2  aliases  [Ljava/lang/String;
            0    1     3  session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
         Name  Flags
      rs       
      aliases  
      session  

  protected int writeKey(java.sql.PreparedStatement, java.io.Serializable, int, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/io/Serializable;ILorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.sql.PreparedStatement st
        start local 2 // java.io.Serializable key
        start local 3 // int i
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 887
            aload 2 /* key */
            ifnonnull 2
         1: .line 888
            new java.lang.NullPointerException
            dup
            new java.lang.StringBuilder
            dup
            ldc "null key for collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.role:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getKeyType:()Lorg/hibernate/type/Type;
            aload 1 /* st */
            aload 2 /* key */
            iload 3 /* i */
            aload 4 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
         3: .line 891
            iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnAliases:[Ljava/lang/String;
            arraylength
            iadd
            ireturn
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // int i
        end local 2 // java.io.Serializable key
        end local 1 // java.sql.PreparedStatement st
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    4     1       st  Ljava/sql/PreparedStatement;
            0    4     2      key  Ljava/io/Serializable;
            0    4     3        i  I
            0    4     4  session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
         Name  Flags
      st       
      key      
      i        
      session  

  protected int writeElement(java.sql.PreparedStatement, java.lang.Object, int, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.sql.PreparedStatement st
        start local 2 // java.lang.Object elt
        start local 3 // int i
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 899
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            aload 1 /* st */
            aload 2 /* elt */
            iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsSettable:[Z
            aload 4 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;I[ZLorg/hibernate/engine/spi/SessionImplementor;)V
         1: .line 900
            iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsSettable:[Z
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.countTrue:([Z)I
            iadd
            ireturn
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // int i
        end local 2 // java.lang.Object elt
        end local 1 // java.sql.PreparedStatement st
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    2     1       st  Ljava/sql/PreparedStatement;
            0    2     2      elt  Ljava/lang/Object;
            0    2     3        i  I
            0    2     4  session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
         Name  Flags
      st       
      elt      
      i        
      session  

  protected int writeIndex(java.sql.PreparedStatement, java.lang.Object, int, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.sql.PreparedStatement st
        start local 2 // java.lang.Object index
        start local 3 // int i
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 909
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getIndexType:()Lorg/hibernate/type/Type;
            aload 1 /* st */
            aload 0 /* this */
            aload 2 /* index */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.incrementIndexByBase:(Ljava/lang/Object;)Ljava/lang/Object;
            iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsSettable:[Z
            aload 4 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;I[ZLorg/hibernate/engine/spi/SessionImplementor;)V
         1: .line 910
            iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsSettable:[Z
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.countTrue:([Z)I
            iadd
            ireturn
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // int i
        end local 2 // java.lang.Object index
        end local 1 // java.sql.PreparedStatement st
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    2     1       st  Ljava/sql/PreparedStatement;
            0    2     2    index  Ljava/lang/Object;
            0    2     3        i  I
            0    2     4  session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
         Name  Flags
      st       
      index    
      i        
      session  

  protected java.lang.Object incrementIndexByBase(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.Object index
         0: .line 914
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.baseIndex:I
            ifeq 2
         1: .line 915
            aload 1 /* index */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.baseIndex:I
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 1 /* index */
         2: .line 917
      StackMap locals:
      StackMap stack:
            aload 1 /* index */
            areturn
        end local 1 // java.lang.Object index
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1  index  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      index  

  protected int writeElementToWhere(java.sql.PreparedStatement, java.lang.Object, int, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.sql.PreparedStatement st
        start local 2 // java.lang.Object elt
        start local 3 // int i
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 925
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementIsPureFormula:Z
            ifeq 2
         1: .line 926
            new org.hibernate.AssertionFailure
            dup
            ldc "cannot use a formula-based element in the where condition"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 928
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            aload 1 /* st */
            aload 2 /* elt */
            iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsInPrimaryKey:[Z
            aload 4 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;I[ZLorg/hibernate/engine/spi/SessionImplementor;)V
         3: .line 929
            iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnAliases:[Ljava/lang/String;
            arraylength
            iadd
            ireturn
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // int i
        end local 2 // java.lang.Object elt
        end local 1 // java.sql.PreparedStatement st
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    4     1       st  Ljava/sql/PreparedStatement;
            0    4     2      elt  Ljava/lang/Object;
            0    4     3        i  I
            0    4     4  session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
         Name  Flags
      st       
      elt      
      i        
      session  

  protected int writeIndexToWhere(java.sql.PreparedStatement, java.lang.Object, int, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.sql.PreparedStatement st
        start local 2 // java.lang.Object index
        start local 3 // int i
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 938
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexContainsFormula:Z
            ifeq 2
         1: .line 939
            new org.hibernate.AssertionFailure
            dup
            ldc "cannot use a formula-based index in the where condition"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getIndexType:()Lorg/hibernate/type/Type;
            aload 1 /* st */
            aload 0 /* this */
            aload 2 /* index */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.incrementIndexByBase:(Ljava/lang/Object;)Ljava/lang/Object;
            iload 3 /* i */
            aload 4 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
         3: .line 942
            iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
            arraylength
            iadd
            ireturn
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // int i
        end local 2 // java.lang.Object index
        end local 1 // java.sql.PreparedStatement st
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    4     1       st  Ljava/sql/PreparedStatement;
            0    4     2    index  Ljava/lang/Object;
            0    4     3        i  I
            0    4     4  session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
         Name  Flags
      st       
      index    
      i        
      session  

  public int writeIdentifier(java.sql.PreparedStatement, java.lang.Object, int, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.sql.PreparedStatement st
        start local 2 // java.lang.Object id
        start local 3 // int i
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 951
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getIdentifierType:()Lorg/hibernate/type/Type;
            aload 1 /* st */
            aload 2 /* id */
            iload 3 /* i */
            aload 4 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
         1: .line 952
            iload 3 /* i */
            iconst_1
            iadd
            ireturn
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // int i
        end local 2 // java.lang.Object id
        end local 1 // java.sql.PreparedStatement st
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    2     1       st  Ljava/sql/PreparedStatement;
            0    2     2       id  Ljava/lang/Object;
            0    2     3        i  I
            0    2     4  session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException, java.sql.SQLException
    MethodParameters:
         Name  Flags
      st       
      id       
      i        
      session  

  public boolean isPrimitiveArray();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 957
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isPrimitiveArray:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean isArray();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 962
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isArray:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String[] getKeyColumnAliases(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String suffix
         0: .line 967
            new org.hibernate.sql.Alias
            dup
            aload 1 /* suffix */
            invokespecial org.hibernate.sql.Alias.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnAliases:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Alias.toAliasStrings:([Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 1 // java.lang.String suffix
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    1     1  suffix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      suffix  

  public java.lang.String[] getElementColumnAliases(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String suffix
         0: .line 972
            new org.hibernate.sql.Alias
            dup
            aload 1 /* suffix */
            invokespecial org.hibernate.sql.Alias.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnAliases:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Alias.toAliasStrings:([Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 1 // java.lang.String suffix
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    1     1  suffix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      suffix  

  public java.lang.String[] getIndexColumnAliases(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String suffix
         0: .line 977
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 2
         1: .line 978
            new org.hibernate.sql.Alias
            dup
            aload 1 /* suffix */
            invokespecial org.hibernate.sql.Alias.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.Alias.toAliasStrings:([Ljava/lang/String;)[Ljava/lang/String;
            areturn
         2: .line 981
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String suffix
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1  suffix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      suffix  

  public java.lang.String getIdentifierColumnAlias(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String suffix
         0: .line 987
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 2
         1: .line 988
            new org.hibernate.sql.Alias
            dup
            aload 1 /* suffix */
            invokespecial org.hibernate.sql.Alias.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnAlias:Ljava/lang/String;
            invokevirtual org.hibernate.sql.Alias.toAliasString:(Ljava/lang/String;)Ljava/lang/String;
            areturn
         2: .line 991
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String suffix
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1  suffix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      suffix  

  public java.lang.String getIdentifierColumnName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 997
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 2
         1: .line 998
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnName:Ljava/lang/String;
            areturn
         2: .line 1001
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String selectFragment(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String columnSuffix
         0: .line 1010
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* columnSuffix */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.generateSelectFragment:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
            astore 3 /* frag */
        start local 3 // org.hibernate.sql.SelectFragment frag
         1: .line 1011
            aload 0 /* this */
            aload 3 /* frag */
            aload 1 /* alias */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.appendElementColumns:(Lorg/hibernate/sql/SelectFragment;Ljava/lang/String;)V
         2: .line 1012
            aload 0 /* this */
            aload 3 /* frag */
            aload 1 /* alias */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.appendIndexColumns:(Lorg/hibernate/sql/SelectFragment;Ljava/lang/String;)V
         3: .line 1013
            aload 0 /* this */
            aload 3 /* frag */
            aload 1 /* alias */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.appendIdentifierColumns:(Lorg/hibernate/sql/SelectFragment;Ljava/lang/String;)V
         4: .line 1015
            aload 3 /* frag */
            invokevirtual org.hibernate.sql.SelectFragment.toFragmentString:()Ljava/lang/String;
         5: .line 1016
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
         6: .line 1015
            areturn
        end local 3 // org.hibernate.sql.SelectFragment frag
        end local 2 // java.lang.String columnSuffix
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    7     1         alias  Ljava/lang/String;
            0    7     2  columnSuffix  Ljava/lang/String;
            1    7     3          frag  Lorg/hibernate/sql/SelectFragment;
    MethodParameters:
              Name  Flags
      alias         
      columnSuffix  

  protected java.lang.String generateSelectSizeString(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // boolean isIntegerIndexed
         0: .line 1020
            iload 1 /* isIntegerIndexed */
            ifeq 2
         1: .line 1021
            new java.lang.StringBuilder
            dup
            ldc "max("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getIndexColumnNames:()[Ljava/lang/String;
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") + 1"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 3
         2: .line 1022
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "count("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getElementColumnNames:()[Ljava/lang/String;
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 1020
      StackMap locals:
      StackMap stack: java.lang.String
            astore 2 /* selectValue */
        start local 2 // java.lang.String selectValue
         4: .line 1023
            new org.hibernate.sql.SimpleSelect
            dup
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            invokespecial org.hibernate.sql.SimpleSelect.<init>:(Lorg/hibernate/dialect/Dialect;)V
         5: .line 1024
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getTableName:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.setTableName:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         6: .line 1025
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getKeyColumnNames:()[Ljava/lang/String;
            ldc "=?"
            invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         7: .line 1026
            aload 2 /* selectValue */
            invokevirtual org.hibernate.sql.SimpleSelect.addColumn:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         8: .line 1027
            invokevirtual org.hibernate.sql.SimpleSelect.toStatementString:()Ljava/lang/String;
         9: .line 1023
            areturn
        end local 2 // java.lang.String selectValue
        end local 1 // boolean isIntegerIndexed
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   10     1  isIntegerIndexed  Z
            4   10     2       selectValue  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      isIntegerIndexed  

  protected java.lang.String generateDetectRowByIndexString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1031
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:()Z
            ifne 2
         1: .line 1032
            aconst_null
            areturn
         2: .line 1034
      StackMap locals:
      StackMap stack:
            new org.hibernate.sql.SimpleSelect
            dup
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            invokespecial org.hibernate.sql.SimpleSelect.<init>:(Lorg/hibernate/dialect/Dialect;)V
         3: .line 1035
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getTableName:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.setTableName:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         4: .line 1036
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getKeyColumnNames:()[Ljava/lang/String;
            ldc "=?"
            invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         5: .line 1037
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getIndexColumnNames:()[Ljava/lang/String;
            ldc "=?"
            invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         6: .line 1038
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
            ldc "=?"
            invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         7: .line 1039
            ldc "1"
            invokevirtual org.hibernate.sql.SimpleSelect.addColumn:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         8: .line 1040
            invokevirtual org.hibernate.sql.SimpleSelect.toStatementString:()Ljava/lang/String;
         9: .line 1034
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected java.lang.String generateSelectRowByIndexString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1044
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:()Z
            ifne 2
         1: .line 1045
            aconst_null
            areturn
         2: .line 1047
      StackMap locals:
      StackMap stack:
            new org.hibernate.sql.SimpleSelect
            dup
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            invokespecial org.hibernate.sql.SimpleSelect.<init>:(Lorg/hibernate/dialect/Dialect;)V
         3: .line 1048
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getTableName:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.setTableName:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         4: .line 1049
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getKeyColumnNames:()[Ljava/lang/String;
            ldc "=?"
            invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         5: .line 1050
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getIndexColumnNames:()[Ljava/lang/String;
            ldc "=?"
            invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         6: .line 1051
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
            ldc "=?"
            invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         7: .line 1052
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getElementColumnNames:()[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnAliases:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.addColumns:([Ljava/lang/String;[Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         8: .line 1053
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.addColumns:([Ljava/lang/String;[Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         9: .line 1054
            invokevirtual org.hibernate.sql.SimpleSelect.toStatementString:()Ljava/lang/String;
        10: .line 1047
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected java.lang.String generateDetectRowByElementString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1058
            new org.hibernate.sql.SimpleSelect
            dup
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            invokespecial org.hibernate.sql.SimpleSelect.<init>:(Lorg/hibernate/dialect/Dialect;)V
         1: .line 1059
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getTableName:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.setTableName:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         2: .line 1060
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getKeyColumnNames:()[Ljava/lang/String;
            ldc "=?"
            invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         3: .line 1061
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getElementColumnNames:()[Ljava/lang/String;
            ldc "=?"
            invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         4: .line 1062
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementFormulas:[Ljava/lang/String;
            ldc "=?"
            invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         5: .line 1063
            ldc "1"
            invokevirtual org.hibernate.sql.SimpleSelect.addColumn:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         6: .line 1064
            invokevirtual org.hibernate.sql.SimpleSelect.toStatementString:()Ljava/lang/String;
         7: .line 1058
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected org.hibernate.sql.SelectFragment generateSelectFragment(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String columnSuffix
         0: .line 1068
            new org.hibernate.sql.SelectFragment
            dup
            invokespecial org.hibernate.sql.SelectFragment.<init>:()V
         1: .line 1069
            aload 2 /* columnSuffix */
            invokevirtual org.hibernate.sql.SelectFragment.setSuffix:(Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
         2: .line 1070
            aload 1 /* alias */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnAliases:[Ljava/lang/String;
            invokevirtual org.hibernate.sql.SelectFragment.addColumns:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
         3: .line 1068
            areturn
        end local 2 // java.lang.String columnSuffix
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    4     1         alias  Ljava/lang/String;
            0    4     2  columnSuffix  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      alias         
      columnSuffix  

  protected void appendElementColumns(org.hibernate.sql.SelectFragment, java.lang.String);
    descriptor: (Lorg/hibernate/sql/SelectFragment;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.sql.SelectFragment frag
        start local 2 // java.lang.String elemAlias
         0: .line 1074
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 7
         2: .line 1075
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsSettable:[Z
            iload 3 /* i */
            baload
            ifeq 5
         3: .line 1076
            aload 1 /* frag */
            aload 2 /* elemAlias */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnReaderTemplates:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnAliases:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            invokevirtual org.hibernate.sql.SelectFragment.addColumnTemplate:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
            pop
         4: .line 1077
            goto 6
         5: .line 1079
      StackMap locals:
      StackMap stack:
            aload 1 /* frag */
            aload 2 /* elemAlias */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementFormulaTemplates:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnAliases:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            invokevirtual org.hibernate.sql.SelectFragment.addFormula:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
            pop
         6: .line 1074
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsSettable:[Z
            arraylength
            if_icmplt 2
        end local 3 // int i
         8: .line 1082
            return
        end local 2 // java.lang.String elemAlias
        end local 1 // org.hibernate.sql.SelectFragment frag
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    9     1       frag  Lorg/hibernate/sql/SelectFragment;
            0    9     2  elemAlias  Ljava/lang/String;
            1    8     3          i  I
    MethodParameters:
           Name  Flags
      frag       
      elemAlias  

  protected void appendIndexColumns(org.hibernate.sql.SelectFragment, java.lang.String);
    descriptor: (Lorg/hibernate/sql/SelectFragment;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.sql.SelectFragment frag
        start local 2 // java.lang.String alias
         0: .line 1085
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 9
         1: .line 1086
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 1087
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsSettable:[Z
            iload 3 /* i */
            baload
            ifeq 6
         4: .line 1088
            aload 1 /* frag */
            aload 2 /* alias */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            invokevirtual org.hibernate.sql.SelectFragment.addColumn:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
            pop
         5: .line 1089
            goto 7
         6: .line 1091
      StackMap locals:
      StackMap stack:
            aload 1 /* frag */
            aload 2 /* alias */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulaTemplates:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            invokevirtual org.hibernate.sql.SelectFragment.addFormula:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
            pop
         7: .line 1086
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsSettable:[Z
            arraylength
            if_icmplt 3
        end local 3 // int i
         9: .line 1095
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String alias
        end local 1 // org.hibernate.sql.SelectFragment frag
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   10     1   frag  Lorg/hibernate/sql/SelectFragment;
            0   10     2  alias  Ljava/lang/String;
            2    9     3      i  I
    MethodParameters:
       Name  Flags
      frag   
      alias  

  protected void appendIdentifierColumns(org.hibernate.sql.SelectFragment, java.lang.String);
    descriptor: (Lorg/hibernate/sql/SelectFragment;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.sql.SelectFragment frag
        start local 2 // java.lang.String alias
         0: .line 1098
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 2
         1: .line 1099
            aload 1 /* frag */
            aload 2 /* alias */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnAlias:Ljava/lang/String;
            invokevirtual org.hibernate.sql.SelectFragment.addColumn:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
            pop
         2: .line 1101
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String alias
        end local 1 // org.hibernate.sql.SelectFragment frag
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1   frag  Lorg/hibernate/sql/SelectFragment;
            0    3     2  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      frag   
      alias  

  public java.lang.String[] getIndexColumnNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1105
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String[] getIndexFormulas();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1110
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String[] getIndexColumnNames(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
         0: .line 1115
            aload 1 /* alias */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulaTemplates:[Ljava/lang/String;
            invokestatic org.hibernate.persister.collection.AbstractCollectionPersister.qualify:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    1     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public java.lang.String[] getElementColumnNames(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
         0: .line 1120
            aload 1 /* alias */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementFormulaTemplates:[Ljava/lang/String;
            invokestatic org.hibernate.persister.collection.AbstractCollectionPersister.qualify:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    1     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  private static java.lang.String[] qualify(java.lang.String, java.lang.String[], java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.lang.String alias
        start local 1 // java.lang.String[] columnNames
        start local 2 // java.lang.String[] formulaTemplates
         0: .line 1124
            aload 1 /* columnNames */
            arraylength
            istore 3 /* span */
        start local 3 // int span
         1: .line 1125
            iload 3 /* span */
            anewarray java.lang.String
            astore 4 /* result */
        start local 4 // java.lang.String[] result
         2: .line 1126
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 9
         4: .line 1127
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 1 /* columnNames */
            iload 5 /* i */
            aaload
            ifnonnull 7
         5: .line 1128
            aload 4 /* result */
            iload 5 /* i */
            aload 2 /* formulaTemplates */
            iload 5 /* i */
            aaload
            ldc "$PlaceHolder$"
            aload 0 /* alias */
            invokestatic org.hibernate.internal.util.StringHelper.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
         6: .line 1129
            goto 8
         7: .line 1131
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            iload 5 /* i */
            aload 0 /* alias */
            aload 1 /* columnNames */
            iload 5 /* i */
            aaload
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
         8: .line 1126
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 3 /* span */
            if_icmplt 4
        end local 5 // int i
        10: .line 1134
            aload 4 /* result */
            areturn
        end local 4 // java.lang.String[] result
        end local 3 // int span
        end local 2 // java.lang.String[] formulaTemplates
        end local 1 // java.lang.String[] columnNames
        end local 0 // java.lang.String alias
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0             alias  Ljava/lang/String;
            0   11     1       columnNames  [Ljava/lang/String;
            0   11     2  formulaTemplates  [Ljava/lang/String;
            1   11     3              span  I
            2   11     4            result  [Ljava/lang/String;
            3   10     5                 i  I
    MethodParameters:
                  Name  Flags
      alias             
      columnNames       
      formulaTemplates  

  public java.lang.String[] getElementColumnNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1139
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String[] getKeyColumnNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1144
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnNames:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean hasIndex();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1149
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean isLazy();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1154
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isLazy:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean isInverse();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1159
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String getTableName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1164
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.qualifiedTableName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public void remove(java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.io.Serializable id
        start local 2 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1171
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
            ifne 58
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isRowDeleteEnabled:()Z
            ifeq 58
         1: .line 1173
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 5
         2: .line 1174
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Deleting collection: %s"
         3: .line 1175
            aload 0 /* this */
            aload 1 /* id */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.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;
         4: .line 1174
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 1181
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* offset */
        start local 3 // int offset
         6: .line 1182
            aconst_null
            astore 4 /* st */
        start local 4 // java.sql.PreparedStatement st
         7: .line 1183
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getDeleteAllCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            invokestatic org.hibernate.jdbc.Expectations.appropriateExpectation:(Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)Lorg/hibernate/jdbc/Expectation;
            astore 5 /* expectation */
        start local 5 // org.hibernate.jdbc.Expectation expectation
         8: .line 1184
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isDeleteAllCallable:()Z
            istore 6 /* callable */
        start local 6 // boolean callable
         9: .line 1185
            aload 5 /* expectation */
            invokeinterface org.hibernate.jdbc.Expectation.canBeBatched:()Z
            istore 7 /* useBatch */
        start local 7 // boolean useBatch
        10: .line 1186
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteString:()Ljava/lang/String;
            astore 8 /* sql */
        start local 8 // java.lang.String sql
        11: .line 1187
            iload 7 /* useBatch */
            ifeq 23
        12: .line 1188
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.removeBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
            ifnonnull 17
        13: .line 1189
            aload 0 /* this */
            new org.hibernate.engine.jdbc.batch.internal.BasicBatchKey
            dup
        14: .line 1190
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.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 "#REMOVE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 1191
            aload 5 /* expectation */
            invokespecial org.hibernate.engine.jdbc.batch.internal.BasicBatchKey.<init>:(Ljava/lang/String;Lorg/hibernate/jdbc/Expectation;)V
        16: .line 1189
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.removeBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
        17: .line 1194
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SessionImplementor int java.sql.PreparedStatement org.hibernate.jdbc.Expectation int int java.lang.String
      StackMap stack:
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        18: .line 1195
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        19: .line 1196
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.removeBatchKey: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;
        20: .line 1197
            aload 8 /* sql */
            iload 6 /* callable */
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.getBatchStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        21: .line 1194
            astore 4 /* st */
        22: .line 1198
            goto 28
        23: .line 1200
      StackMap locals:
      StackMap stack:
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        24: .line 1201
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        25: .line 1202
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
        26: .line 1203
            aload 8 /* sql */
            iload 6 /* callable */
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        27: .line 1200
            astore 4 /* st */
        28: .line 1207
      StackMap locals:
      StackMap stack:
            iload 3 /* offset */
            aload 5 /* expectation */
            aload 4 /* st */
            invokeinterface org.hibernate.jdbc.Expectation.prepare:(Ljava/sql/PreparedStatement;)I
            iadd
            istore 3 /* offset */
        29: .line 1209
            aload 0 /* this */
            aload 4 /* st */
            aload 1 /* id */
            iload 3 /* offset */
            aload 2 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.writeKey:(Ljava/sql/PreparedStatement;Ljava/io/Serializable;ILorg/hibernate/engine/spi/SessionImplementor;)I
            pop
        30: .line 1210
            iload 7 /* useBatch */
            ifeq 36
        31: .line 1211
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        32: .line 1212
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        33: .line 1213
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.removeBatchKey: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;
        34: .line 1214
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.addToBatch:()V
        35: .line 1215
            goto 46
        36: .line 1217
      StackMap locals:
      StackMap stack:
            aload 5 /* expectation */
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            aload 4 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.executeUpdate:(Ljava/sql/PreparedStatement;)I
            aload 4 /* st */
            iconst_m1
            invokeinterface org.hibernate.jdbc.Expectation.verifyOutcome:(ILjava/sql/PreparedStatement;I)V
        37: .line 1219
            goto 46
        38: .line 1220
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 9 /* sqle */
        start local 9 // java.sql.SQLException sqle
        39: .line 1221
            iload 7 /* useBatch */
            ifeq 41
        40: .line 1222
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.abortBatch:()V
        41: .line 1224
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 9 /* sqle */
            athrow
        end local 9 // java.sql.SQLException sqle
        42: .line 1226
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SessionImplementor int java.sql.PreparedStatement org.hibernate.jdbc.Expectation int int java.lang.String
      StackMap stack: java.lang.Throwable
            astore 10
        43: .line 1227
            iload 7 /* useBatch */
            ifne 45
        44: .line 1228
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 4 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        45: .line 1230
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SessionImplementor int java.sql.PreparedStatement org.hibernate.jdbc.Expectation int int java.lang.String top java.lang.Throwable
      StackMap stack:
            aload 10
            athrow
        46: .line 1227
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SessionImplementor int java.sql.PreparedStatement org.hibernate.jdbc.Expectation int int java.lang.String
      StackMap stack:
            iload 7 /* useBatch */
            ifne 48
        47: .line 1228
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 4 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        48: .line 1232
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done deleting collection"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        end local 8 // java.lang.String sql
        end local 7 // boolean useBatch
        end local 6 // boolean callable
        end local 5 // org.hibernate.jdbc.Expectation expectation
        end local 4 // java.sql.PreparedStatement st
        end local 3 // int offset
        49: .line 1233
            goto 58
        50: .line 1234
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SessionImplementor
      StackMap stack: java.sql.SQLException
            astore 3 /* sqle */
        start local 3 // java.sql.SQLException sqle
        51: .line 1235
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlExceptionHelper:Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        52: .line 1236
            aload 3 /* sqle */
        53: .line 1237
            new java.lang.StringBuilder
            dup
            ldc "could not delete collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        54: .line 1238
            aload 0 /* this */
            aload 1 /* id */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.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;
        55: .line 1237
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        56: .line 1239
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteString:()Ljava/lang/String;
        57: .line 1235
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 3 // java.sql.SQLException sqle
        58: .line 1245
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.engine.spi.SessionImplementor session
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   59     0         this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   59     1           id  Ljava/io/Serializable;
            0   59     2      session  Lorg/hibernate/engine/spi/SessionImplementor;
            6   49     3       offset  I
            7   49     4           st  Ljava/sql/PreparedStatement;
            8   49     5  expectation  Lorg/hibernate/jdbc/Expectation;
            9   49     6     callable  Z
           10   49     7     useBatch  Z
           11   49     8          sql  Ljava/lang/String;
           39   42     9         sqle  Ljava/sql/SQLException;
           51   58     3         sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          28    37      38  Class java.sql.SQLException
          28    42      42  any
           5    49      50  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      id       
      session  

  public void recreate(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=16, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
        start local 2 // java.io.Serializable id
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1253
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
            ifne 77
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isRowInsertEnabled:()Z
            ifeq 77
         1: .line 1255
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 5
         2: .line 1256
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Inserting collection: %s"
         3: .line 1257
            aload 0 /* this */
            aload 1 /* collection */
            aload 2 /* id */
            aload 3 /* session */
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/String;
         4: .line 1256
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 1262
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            aload 0 /* this */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.entries:(Lorg/hibernate/persister/collection/CollectionPersister;)Ljava/util/Iterator;
            astore 4 /* entries */
        start local 4 // java.util.Iterator entries
         6: .line 1263
            aload 4 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 67
         7: .line 1264
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getInsertCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            invokestatic org.hibernate.jdbc.Expectations.appropriateExpectation:(Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)Lorg/hibernate/jdbc/Expectation;
            astore 5 /* expectation */
        start local 5 // org.hibernate.jdbc.Expectation expectation
         8: .line 1265
            aload 1 /* collection */
            aload 0 /* this */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.preInsert:(Lorg/hibernate/persister/collection/CollectionPersister;)V
         9: .line 1266
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        10: .line 1267
            iconst_0
            istore 7 /* count */
        start local 7 // int count
        11: .line 1268
            goto 64
        12: .line 1270
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.util.Iterator org.hibernate.jdbc.Expectation int int
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 8 /* entry */
        start local 8 // java.lang.Object entry
        13: .line 1271
            aload 1 /* collection */
            aload 8 /* entry */
            iload 6 /* i */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.entryExists:(Ljava/lang/Object;I)Z
            ifeq 63
        14: .line 1272
            iconst_1
            istore 9 /* offset */
        start local 9 // int offset
        15: .line 1273
            aconst_null
            astore 10 /* st */
        start local 10 // java.sql.PreparedStatement st
        16: .line 1274
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isInsertCallable:()Z
            istore 11 /* callable */
        start local 11 // boolean callable
        17: .line 1275
            aload 5 /* expectation */
            invokeinterface org.hibernate.jdbc.Expectation.canBeBatched:()Z
            istore 12 /* useBatch */
        start local 12 // boolean useBatch
        18: .line 1276
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLInsertRowString:()Ljava/lang/String;
            astore 13 /* sql */
        start local 13 // java.lang.String sql
        19: .line 1278
            iload 12 /* useBatch */
            ifeq 31
        20: .line 1279
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.recreateBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
            ifnonnull 25
        21: .line 1280
            aload 0 /* this */
            new org.hibernate.engine.jdbc.batch.internal.BasicBatchKey
            dup
        22: .line 1281
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.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 "#RECREATE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 1282
            aload 5 /* expectation */
            invokespecial org.hibernate.engine.jdbc.batch.internal.BasicBatchKey.<init>:(Ljava/lang/String;Lorg/hibernate/jdbc/Expectation;)V
        24: .line 1280
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.recreateBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
        25: .line 1285
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.util.Iterator org.hibernate.jdbc.Expectation int int java.lang.Object int java.sql.PreparedStatement int int java.lang.String
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        26: .line 1286
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        27: .line 1287
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.recreateBatchKey: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;
        28: .line 1288
            aload 13 /* sql */
            iload 11 /* callable */
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.getBatchStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        29: .line 1285
            astore 10 /* st */
        30: .line 1289
            goto 36
        31: .line 1291
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        32: .line 1292
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        33: .line 1293
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
        34: .line 1294
            aload 13 /* sql */
            iload 11 /* callable */
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        35: .line 1291
            astore 10 /* st */
        36: .line 1298
      StackMap locals:
      StackMap stack:
            iload 9 /* offset */
            aload 5 /* expectation */
            aload 10 /* st */
            invokeinterface org.hibernate.jdbc.Expectation.prepare:(Ljava/sql/PreparedStatement;)I
            iadd
            istore 9 /* offset */
        37: .line 1301
            aload 0 /* this */
            aload 10 /* st */
            aload 2 /* id */
            iload 9 /* offset */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.writeKey:(Ljava/sql/PreparedStatement;Ljava/io/Serializable;ILorg/hibernate/engine/spi/SessionImplementor;)I
            istore 14 /* loc */
        start local 14 // int loc
        38: .line 1302
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 40
        39: .line 1303
            aload 0 /* this */
            aload 10 /* st */
            aload 1 /* collection */
            aload 8 /* entry */
            iload 6 /* 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.AbstractCollectionPersister.writeIdentifier:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
            istore 14 /* loc */
        40: .line 1305
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 42
        41: .line 1306
            aload 0 /* this */
            aload 10 /* st */
            aload 1 /* collection */
            aload 8 /* entry */
            iload 6 /* 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.AbstractCollectionPersister.writeIndex:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
            istore 14 /* loc */
        42: .line 1308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* st */
            aload 1 /* collection */
            aload 8 /* entry */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getElement:(Ljava/lang/Object;)Ljava/lang/Object;
            iload 14 /* loc */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.writeElement:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
            istore 14 /* loc */
        43: .line 1310
            iload 12 /* useBatch */
            ifeq 49
        44: .line 1311
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        45: .line 1312
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        46: .line 1313
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.recreateBatchKey: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;
        47: .line 1314
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.addToBatch:()V
        48: .line 1315
            goto 50
        49: .line 1317
      StackMap locals:
      StackMap stack:
            aload 5 /* expectation */
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            aload 10 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.executeUpdate:(Ljava/sql/PreparedStatement;)I
            aload 10 /* st */
            iconst_m1
            invokeinterface org.hibernate.jdbc.Expectation.verifyOutcome:(ILjava/sql/PreparedStatement;I)V
        50: .line 1320
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            aload 0 /* this */
            aload 8 /* entry */
            iload 6 /* i */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.afterRowInsert:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;I)V
        51: .line 1321
            iinc 7 /* count */ 1
        end local 14 // int loc
        52: .line 1322
            goto 61
        53: .line 1323
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.util.Iterator org.hibernate.jdbc.Expectation int int java.lang.Object int java.sql.PreparedStatement int int java.lang.String
      StackMap stack: java.sql.SQLException
            astore 14 /* sqle */
        start local 14 // java.sql.SQLException sqle
        54: .line 1324
            iload 12 /* useBatch */
            ifeq 56
        55: .line 1325
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.abortBatch:()V
        56: .line 1327
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 14 /* sqle */
            athrow
        end local 14 // java.sql.SQLException sqle
        57: .line 1329
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.util.Iterator org.hibernate.jdbc.Expectation int int java.lang.Object int java.sql.PreparedStatement int int java.lang.String
      StackMap stack: java.lang.Throwable
            astore 15
        58: .line 1330
            iload 12 /* useBatch */
            ifne 60
        59: .line 1331
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 10 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        60: .line 1333
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.util.Iterator org.hibernate.jdbc.Expectation int int java.lang.Object int java.sql.PreparedStatement int int java.lang.String top java.lang.Throwable
      StackMap stack:
            aload 15
            athrow
        61: .line 1330
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.util.Iterator org.hibernate.jdbc.Expectation int int java.lang.Object int java.sql.PreparedStatement int int java.lang.String
      StackMap stack:
            iload 12 /* useBatch */
            ifne 63
        62: .line 1331
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 10 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        end local 13 // java.lang.String sql
        end local 12 // boolean useBatch
        end local 11 // boolean callable
        end local 10 // java.sql.PreparedStatement st
        end local 9 // int offset
        63: .line 1336
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.util.Iterator org.hibernate.jdbc.Expectation int int java.lang.Object
      StackMap stack:
            iinc 6 /* i */ 1
        end local 8 // java.lang.Object entry
        64: .line 1268
      StackMap locals:
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        65: .line 1339
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done inserting collection: %s rows inserted"
            iload 7 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 7 // int count
        end local 6 // int i
        end local 5 // org.hibernate.jdbc.Expectation expectation
        66: .line 1341
            goto 77
        67: .line 1343
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Collection was empty"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        end local 4 // java.util.Iterator entries
        68: .line 1345
            goto 77
        69: .line 1346
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor
      StackMap stack: java.sql.SQLException
            astore 4 /* sqle */
        start local 4 // java.sql.SQLException sqle
        70: .line 1347
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlExceptionHelper:Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        71: .line 1348
            aload 4 /* sqle */
        72: .line 1349
            new java.lang.StringBuilder
            dup
            ldc "could not insert collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        73: .line 1350
            aload 0 /* this */
            aload 1 /* collection */
            aload 2 /* id */
            aload 3 /* session */
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        74: .line 1349
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        75: .line 1351
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLInsertRowString:()Ljava/lang/String;
        76: .line 1347
            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
        77: .line 1355
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   78     0         this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   78     1   collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0   78     2           id  Ljava/io/Serializable;
            0   78     3      session  Lorg/hibernate/engine/spi/SessionImplementor;
            6   68     4      entries  Ljava/util/Iterator;
            8   66     5  expectation  Lorg/hibernate/jdbc/Expectation;
           10   66     6            i  I
           11   66     7        count  I
           13   64     8        entry  Ljava/lang/Object;
           15   63     9       offset  I
           16   63    10           st  Ljava/sql/PreparedStatement;
           17   63    11     callable  Z
           18   63    12     useBatch  Z
           19   63    13          sql  Ljava/lang/String;
           38   52    14          loc  I
           54   57    14         sqle  Ljava/sql/SQLException;
           70   77     4         sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          36    52      53  Class java.sql.SQLException
          36    57      57  any
           5    68      69  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      collection  
      id          
      session     

  protected boolean isRowDeleteEnabled();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1358
            iconst_1
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public void deleteRows(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=16, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
        start local 2 // java.io.Serializable id
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1367
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
            ifne 80
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isRowDeleteEnabled:()Z
            ifeq 80
         1: .line 1369
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 5
         2: .line 1370
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Deleting rows of collection: %s"
         3: .line 1371
            aload 0 /* this */
            aload 1 /* collection */
            aload 2 /* id */
            aload 3 /* session */
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/String;
         4: .line 1370
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 1374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isOneToMany:()Z
            ifne 6
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 6
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexContainsFormula:Z
            ifne 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 4 /* deleteByIndex */
        start local 4 // boolean deleteByIndex
         8: .line 1375
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getDeleteCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            invokestatic org.hibernate.jdbc.Expectations.appropriateExpectation:(Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)Lorg/hibernate/jdbc/Expectation;
            astore 5 /* expectation */
        start local 5 // org.hibernate.jdbc.Expectation expectation
         9: .line 1378
            aload 1 /* collection */
            aload 0 /* this */
            iload 4 /* deleteByIndex */
            ifeq 10
            iconst_0
            goto 11
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor int org.hibernate.jdbc.Expectation
      StackMap stack: org.hibernate.collection.spi.PersistentCollection org.hibernate.persister.collection.AbstractCollectionPersister
        10: iconst_1
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor int org.hibernate.jdbc.Expectation
      StackMap stack: org.hibernate.collection.spi.PersistentCollection org.hibernate.persister.collection.AbstractCollectionPersister int
        11: invokeinterface org.hibernate.collection.spi.PersistentCollection.getDeletes:(Lorg/hibernate/persister/collection/CollectionPersister;Z)Ljava/util/Iterator;
            astore 6 /* deletes */
        start local 6 // java.util.Iterator deletes
        12: .line 1379
            aload 6 /* deletes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 70
        13: .line 1380
            iconst_1
            istore 7 /* offset */
        start local 7 // int offset
        14: .line 1381
            iconst_0
            istore 8 /* count */
        start local 8 // int count
        15: .line 1382
            goto 68
        16: .line 1383
      StackMap locals: java.util.Iterator int int
      StackMap stack:
            aconst_null
            astore 9 /* st */
        start local 9 // java.sql.PreparedStatement st
        17: .line 1384
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isDeleteCallable:()Z
            istore 10 /* callable */
        start local 10 // boolean callable
        18: .line 1385
            aload 5 /* expectation */
            invokeinterface org.hibernate.jdbc.Expectation.canBeBatched:()Z
            istore 11 /* useBatch */
        start local 11 // boolean useBatch
        19: .line 1386
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteRowString:()Ljava/lang/String;
            astore 12 /* sql */
        start local 12 // java.lang.String sql
        20: .line 1388
            iload 11 /* useBatch */
            ifeq 32
        21: .line 1389
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
            ifnonnull 26
        22: .line 1390
            aload 0 /* this */
            new org.hibernate.engine.jdbc.batch.internal.BasicBatchKey
            dup
        23: .line 1391
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.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 "#DELETE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 1392
            aload 5 /* expectation */
            invokespecial org.hibernate.engine.jdbc.batch.internal.BasicBatchKey.<init>:(Ljava/lang/String;Lorg/hibernate/jdbc/Expectation;)V
        25: .line 1390
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
        26: .line 1395
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor int org.hibernate.jdbc.Expectation java.util.Iterator int int java.sql.PreparedStatement int int java.lang.String
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        27: .line 1396
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        28: .line 1397
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteBatchKey: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;
        29: .line 1398
            aload 12 /* sql */
            iload 10 /* callable */
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.getBatchStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        30: .line 1395
            astore 9 /* st */
        31: .line 1399
            goto 37
        32: .line 1401
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        33: .line 1402
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        34: .line 1403
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
        35: .line 1404
            aload 12 /* sql */
            iload 10 /* callable */
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        36: .line 1401
            astore 9 /* st */
        37: .line 1408
      StackMap locals:
      StackMap stack:
            aload 5 /* expectation */
            aload 9 /* st */
            invokeinterface org.hibernate.jdbc.Expectation.prepare:(Ljava/sql/PreparedStatement;)I
            pop
        38: .line 1410
            aload 6 /* deletes */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 13 /* entry */
        start local 13 // java.lang.Object entry
        39: .line 1411
            iload 7 /* offset */
            istore 14 /* loc */
        start local 14 // int loc
        40: .line 1412
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 43
        41: .line 1413
            aload 0 /* this */
            aload 9 /* st */
            aload 13 /* entry */
            iload 14 /* loc */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.writeIdentifier:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
            pop
        42: .line 1414
            goto 48
        43: .line 1416
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            aload 9 /* st */
            aload 2 /* id */
            iload 14 /* loc */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.writeKey:(Ljava/sql/PreparedStatement;Ljava/io/Serializable;ILorg/hibernate/engine/spi/SessionImplementor;)I
            istore 14 /* loc */
        44: .line 1417
            iload 4 /* deleteByIndex */
            ifeq 47
        45: .line 1418
            aload 0 /* this */
            aload 9 /* st */
            aload 13 /* entry */
            iload 14 /* loc */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.writeIndexToWhere:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
            pop
        46: .line 1419
            goto 48
        47: .line 1421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* st */
            aload 13 /* entry */
            iload 14 /* loc */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.writeElementToWhere:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
            pop
        48: .line 1425
      StackMap locals:
      StackMap stack:
            iload 11 /* useBatch */
            ifeq 54
        49: .line 1426
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        50: .line 1427
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        51: .line 1428
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteBatchKey: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;
        52: .line 1429
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.addToBatch:()V
        53: .line 1430
            goto 55
        54: .line 1432
      StackMap locals:
      StackMap stack:
            aload 5 /* expectation */
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            aload 9 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.executeUpdate:(Ljava/sql/PreparedStatement;)I
            aload 9 /* st */
            iconst_m1
            invokeinterface org.hibernate.jdbc.Expectation.verifyOutcome:(ILjava/sql/PreparedStatement;I)V
        55: .line 1434
      StackMap locals:
      StackMap stack:
            iinc 8 /* count */ 1
        end local 14 // int loc
        end local 13 // java.lang.Object entry
        56: .line 1435
            goto 65
        57: .line 1436
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor int org.hibernate.jdbc.Expectation java.util.Iterator int int java.sql.PreparedStatement int int java.lang.String
      StackMap stack: java.sql.SQLException
            astore 13 /* sqle */
        start local 13 // java.sql.SQLException sqle
        58: .line 1437
            iload 11 /* useBatch */
            ifeq 60
        59: .line 1438
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.abortBatch:()V
        60: .line 1440
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 13 /* sqle */
            athrow
        end local 13 // java.sql.SQLException sqle
        61: .line 1442
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor int org.hibernate.jdbc.Expectation java.util.Iterator int int java.sql.PreparedStatement int int java.lang.String
      StackMap stack: java.lang.Throwable
            astore 15
        62: .line 1443
            iload 11 /* useBatch */
            ifne 64
        63: .line 1444
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 9 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        64: .line 1446
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor int org.hibernate.jdbc.Expectation java.util.Iterator int int java.sql.PreparedStatement int int java.lang.String top top java.lang.Throwable
      StackMap stack:
            aload 15
            athrow
        65: .line 1443
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor int org.hibernate.jdbc.Expectation java.util.Iterator int int java.sql.PreparedStatement int int java.lang.String
      StackMap stack:
            iload 11 /* useBatch */
            ifne 67
        66: .line 1444
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 9 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        67: .line 1448
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done deleting collection rows: %s deleted"
            iload 8 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 12 // java.lang.String sql
        end local 11 // boolean useBatch
        end local 10 // boolean callable
        end local 9 // java.sql.PreparedStatement st
        68: .line 1382
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor int org.hibernate.jdbc.Expectation java.util.Iterator int int
      StackMap stack:
            aload 6 /* deletes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        end local 8 // int count
        end local 7 // int offset
        69: .line 1450
            goto 80
        70: .line 1452
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "No rows to delete"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
        end local 6 // java.util.Iterator deletes
        71: .line 1454
            goto 80
        72: .line 1455
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor int org.hibernate.jdbc.Expectation
      StackMap stack: java.sql.SQLException
            astore 6 /* sqle */
        start local 6 // java.sql.SQLException sqle
        73: .line 1456
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlExceptionHelper:Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        74: .line 1457
            aload 6 /* sqle */
        75: .line 1458
            new java.lang.StringBuilder
            dup
            ldc "could not delete collection rows: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        76: .line 1459
            aload 0 /* this */
            aload 1 /* collection */
            aload 2 /* id */
            aload 3 /* session */
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        77: .line 1458
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        78: .line 1460
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteRowString:()Ljava/lang/String;
        79: .line 1456
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 6 // java.sql.SQLException sqle
        end local 5 // org.hibernate.jdbc.Expectation expectation
        end local 4 // boolean deleteByIndex
        80: .line 1464
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   81     0           this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   81     1     collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0   81     2             id  Ljava/io/Serializable;
            0   81     3        session  Lorg/hibernate/engine/spi/SessionImplementor;
            8   80     4  deleteByIndex  Z
            9   80     5    expectation  Lorg/hibernate/jdbc/Expectation;
           12   71     6        deletes  Ljava/util/Iterator;
           14   69     7         offset  I
           15   69     8          count  I
           17   68     9             st  Ljava/sql/PreparedStatement;
           18   68    10       callable  Z
           19   68    11       useBatch  Z
           20   68    12            sql  Ljava/lang/String;
           39   56    13          entry  Ljava/lang/Object;
           40   56    14            loc  I
           58   61    13           sqle  Ljava/sql/SQLException;
           73   80     6           sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          37    56      57  Class java.sql.SQLException
          37    61      61  any
           9    71      72  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      collection  
      id          
      session     

  protected boolean isRowInsertEnabled();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1467
            iconst_1
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public void insertRows(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=16, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
        start local 2 // java.io.Serializable id
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1476
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
            ifne 71
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isRowInsertEnabled:()Z
            ifeq 71
         1: .line 1478
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 4
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Inserting rows of collection: %s"
         2: .line 1479
            aload 0 /* this */
            aload 1 /* collection */
            aload 2 /* id */
            aload 3 /* session */
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/String;
         3: .line 1478
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 1483
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            aload 0 /* this */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.preInsert:(Lorg/hibernate/persister/collection/CollectionPersister;)V
         5: .line 1484
            aload 1 /* collection */
            aload 0 /* this */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.entries:(Lorg/hibernate/persister/collection/CollectionPersister;)Ljava/util/Iterator;
            astore 4 /* entries */
        start local 4 // java.util.Iterator entries
         6: .line 1485
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getInsertCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            invokestatic org.hibernate.jdbc.Expectations.appropriateExpectation:(Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)Lorg/hibernate/jdbc/Expectation;
            astore 5 /* expectation */
        start local 5 // org.hibernate.jdbc.Expectation expectation
         7: .line 1486
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isInsertCallable:()Z
            istore 6 /* callable */
        start local 6 // boolean callable
         8: .line 1487
            aload 5 /* expectation */
            invokeinterface org.hibernate.jdbc.Expectation.canBeBatched:()Z
            istore 7 /* useBatch */
        start local 7 // boolean useBatch
         9: .line 1488
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLInsertRowString:()Ljava/lang/String;
            astore 8 /* sql */
        start local 8 // java.lang.String sql
        10: .line 1489
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        11: .line 1490
            iconst_0
            istore 10 /* count */
        start local 10 // int count
        12: .line 1491
            goto 60
        13: .line 1492
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.util.Iterator org.hibernate.jdbc.Expectation int int java.lang.String int int
      StackMap stack:
            iconst_1
            istore 11 /* offset */
        start local 11 // int offset
        14: .line 1493
            aload 4 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 12 /* entry */
        start local 12 // java.lang.Object entry
        15: .line 1494
            aconst_null
            astore 13 /* st */
        start local 13 // java.sql.PreparedStatement st
        16: .line 1495
            aload 1 /* collection */
            aload 12 /* entry */
            iload 9 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.collection.spi.PersistentCollection.needsInserting:(Ljava/lang/Object;ILorg/hibernate/type/Type;)Z
            ifeq 59
        17: .line 1497
            iload 7 /* useBatch */
            ifeq 30
        18: .line 1498
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.insertBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
            ifnonnull 23
        19: .line 1499
            aload 0 /* this */
            new org.hibernate.engine.jdbc.batch.internal.BasicBatchKey
            dup
        20: .line 1500
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.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 "#INSERT"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 1501
            aload 5 /* expectation */
            invokespecial org.hibernate.engine.jdbc.batch.internal.BasicBatchKey.<init>:(Ljava/lang/String;Lorg/hibernate/jdbc/Expectation;)V
        22: .line 1499
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.insertBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
        23: .line 1504
      StackMap locals: int java.lang.Object java.sql.PreparedStatement
      StackMap stack:
            aload 13 /* st */
            ifnonnull 35
        24: .line 1505
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        25: .line 1506
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        26: .line 1507
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.insertBatchKey: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;
        27: .line 1508
            aload 8 /* sql */
            iload 6 /* callable */
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.getBatchStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        28: .line 1505
            astore 13 /* st */
        29: .line 1510
            goto 35
        30: .line 1512
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        31: .line 1513
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        32: .line 1514
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
        33: .line 1515
            aload 8 /* sql */
            iload 6 /* callable */
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        34: .line 1512
            astore 13 /* st */
        35: .line 1519
      StackMap locals:
      StackMap stack:
            iload 11 /* offset */
            aload 5 /* expectation */
            aload 13 /* st */
            invokeinterface org.hibernate.jdbc.Expectation.prepare:(Ljava/sql/PreparedStatement;)I
            iadd
            istore 11 /* offset */
        36: .line 1521
            aload 0 /* this */
            aload 13 /* st */
            aload 2 /* id */
            iload 11 /* offset */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.writeKey:(Ljava/sql/PreparedStatement;Ljava/io/Serializable;ILorg/hibernate/engine/spi/SessionImplementor;)I
            istore 11 /* offset */
        37: .line 1522
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 39
        38: .line 1523
            aload 0 /* this */
            aload 13 /* st */
            aload 1 /* collection */
            aload 12 /* entry */
            iload 9 /* i */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getIdentifier:(Ljava/lang/Object;I)Ljava/lang/Object;
            iload 11 /* offset */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.writeIdentifier:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
            istore 11 /* offset */
        39: .line 1525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 41
        40: .line 1526
            aload 0 /* this */
            aload 13 /* st */
            aload 1 /* collection */
            aload 12 /* entry */
            iload 9 /* i */
            aload 0 /* this */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getIndex:(Ljava/lang/Object;ILorg/hibernate/persister/collection/CollectionPersister;)Ljava/lang/Object;
            iload 11 /* offset */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.writeIndex:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
            istore 11 /* offset */
        41: .line 1528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 13 /* st */
            aload 1 /* collection */
            aload 12 /* entry */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getElement:(Ljava/lang/Object;)Ljava/lang/Object;
            iload 11 /* offset */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.writeElement:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)I
            pop
        42: .line 1530
            iload 7 /* useBatch */
            ifeq 45
        43: .line 1531
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.insertBatchKey: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;
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.addToBatch:()V
        44: .line 1532
            goto 46
        45: .line 1534
      StackMap locals:
      StackMap stack:
            aload 5 /* expectation */
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            aload 13 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.executeUpdate:(Ljava/sql/PreparedStatement;)I
            aload 13 /* st */
            iconst_m1
            invokeinterface org.hibernate.jdbc.Expectation.verifyOutcome:(ILjava/sql/PreparedStatement;I)V
        46: .line 1536
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            aload 0 /* this */
            aload 12 /* entry */
            iload 9 /* i */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.afterRowInsert:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;I)V
        47: .line 1537
            iinc 10 /* count */ 1
        48: .line 1538
            goto 57
        49: .line 1539
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 14 /* sqle */
        start local 14 // java.sql.SQLException sqle
        50: .line 1540
            iload 7 /* useBatch */
            ifeq 52
        51: .line 1541
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.abortBatch:()V
        52: .line 1543
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 14 /* sqle */
            athrow
        end local 14 // java.sql.SQLException sqle
        53: .line 1545
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.util.Iterator org.hibernate.jdbc.Expectation int int java.lang.String int int int java.lang.Object java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
            astore 15
        54: .line 1546
            iload 7 /* useBatch */
            ifne 56
        55: .line 1547
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 13 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        56: .line 1549
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.util.Iterator org.hibernate.jdbc.Expectation int int java.lang.String int int int java.lang.Object java.sql.PreparedStatement top java.lang.Throwable
      StackMap stack:
            aload 15
            athrow
        57: .line 1546
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.util.Iterator org.hibernate.jdbc.Expectation int int java.lang.String int int int java.lang.Object java.sql.PreparedStatement
      StackMap stack:
            iload 7 /* useBatch */
            ifne 59
        58: .line 1547
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 13 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        59: .line 1551
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
        end local 13 // java.sql.PreparedStatement st
        end local 12 // java.lang.Object entry
        end local 11 // int offset
        60: .line 1491
      StackMap locals:
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        61: .line 1553
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done inserting rows: %s inserted"
            iload 10 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 10 // int count
        end local 9 // int i
        end local 8 // java.lang.String sql
        end local 7 // boolean useBatch
        end local 6 // boolean callable
        end local 5 // org.hibernate.jdbc.Expectation expectation
        end local 4 // java.util.Iterator entries
        62: .line 1554
            goto 71
        63: .line 1555
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SessionImplementor
      StackMap stack: java.sql.SQLException
            astore 4 /* sqle */
        start local 4 // java.sql.SQLException sqle
        64: .line 1556
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlExceptionHelper:Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        65: .line 1557
            aload 4 /* sqle */
        66: .line 1558
            new java.lang.StringBuilder
            dup
            ldc "could not insert collection rows: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        67: .line 1559
            aload 0 /* this */
            aload 1 /* collection */
            aload 2 /* id */
            aload 3 /* session */
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        68: .line 1558
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        69: .line 1560
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLInsertRowString:()Ljava/lang/String;
        70: .line 1556
            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
        71: .line 1565
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   72     0         this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   72     1   collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0   72     2           id  Ljava/io/Serializable;
            0   72     3      session  Lorg/hibernate/engine/spi/SessionImplementor;
            6   62     4      entries  Ljava/util/Iterator;
            7   62     5  expectation  Lorg/hibernate/jdbc/Expectation;
            8   62     6     callable  Z
            9   62     7     useBatch  Z
           10   62     8          sql  Ljava/lang/String;
           11   62     9            i  I
           12   62    10        count  I
           14   60    11       offset  I
           15   60    12        entry  Ljava/lang/Object;
           16   60    13           st  Ljava/sql/PreparedStatement;
           50   53    14         sqle  Ljava/sql/SQLException;
           64   71     4         sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          35    48      49  Class java.sql.SQLException
          35    53      53  any
           4    62      63  Class java.sql.SQLException
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      collection  
      id          
      session     

  public java.lang.String getRole();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1569
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.role:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String getOwnerEntityName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1573
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.entityName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.persister.entity.EntityPersister getOwnerEntityPersister();
    descriptor: ()Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1578
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.ownerPersister:Lorg/hibernate/persister/entity/EntityPersister;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.id.IdentifierGenerator getIdentifierGenerator();
    descriptor: ()Lorg/hibernate/id/IdentifierGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1583
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierGenerator:Lorg/hibernate/id/IdentifierGenerator;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.type.Type getIdentifierType();
    descriptor: ()Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1588
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierType:Lorg/hibernate/type/Type;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean hasOrphanDelete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1593
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasOrphanDelete:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.type.Type toType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String propertyName
         0: .line 1598
            ldc "index"
            aload 1 /* propertyName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1599
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexType:Lorg/hibernate/type/Type;
            areturn
         2: .line 1601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPropertyMapping:Lorg/hibernate/persister/entity/PropertyMapping;
            aload 1 /* propertyName */
            invokeinterface org.hibernate.persister.entity.PropertyMapping.toType:(Ljava/lang/String;)Lorg/hibernate/type/Type;
            areturn
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1  propertyName  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
              Name  Flags
      propertyName  

  public abstract boolean isManyToMany();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.String getManyToManyFilterFragment(java.lang.String, java.util.Map);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // java.util.Map enabledFilters
         0: .line 1609
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* buffer */
        start local 3 // java.lang.StringBuilder buffer
         1: .line 1610
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyFilterHelper:Lorg/hibernate/internal/FilterHelper;
            aload 3 /* buffer */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPersister:Lorg/hibernate/persister/entity/EntityPersister;
            aload 1 /* alias */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getFilterAliasGenerator:(Ljava/lang/String;)Lorg/hibernate/internal/FilterAliasGenerator;
            aload 2 /* enabledFilters */
            invokevirtual org.hibernate.internal.FilterHelper.render:(Ljava/lang/StringBuilder;Lorg/hibernate/internal/FilterAliasGenerator;Ljava/util/Map;)V
         2: .line 1612
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyWhereString:Ljava/lang/String;
            ifnull 5
         3: .line 1613
            aload 3 /* buffer */
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 1614
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyWhereTemplate:Ljava/lang/String;
            ldc "$PlaceHolder$"
            aload 1 /* alias */
            invokestatic org.hibernate.internal.util.StringHelper.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1617
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 3 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder buffer
        end local 2 // java.util.Map enabledFilters
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    6     1           alias  Ljava/lang/String;
            0    6     2  enabledFilters  Ljava/util/Map;
            1    6     3          buffer  Ljava/lang/StringBuilder;
    MethodParameters:
                Name  Flags
      alias           
      enabledFilters  

  public java.lang.String[] toColumns(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String propertyName
         0: .line 1622
            ldc "index"
            aload 2 /* propertyName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1623
            aload 1 /* alias */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulaTemplates:[Ljava/lang/String;
            invokestatic org.hibernate.persister.collection.AbstractCollectionPersister.qualify:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
            areturn
         2: .line 1625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPropertyMapping:Lorg/hibernate/persister/entity/PropertyMapping;
            aload 1 /* alias */
            aload 2 /* propertyName */
            invokeinterface org.hibernate.persister.entity.PropertyMapping.toColumns:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 2 // java.lang.String propertyName
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1         alias  Ljava/lang/String;
            0    3     2  propertyName  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
              Name  Flags
      alias         
      propertyName  

  public java.lang.String[] toColumns(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String propertyName
         0: .line 1632
            ldc "index"
            aload 1 /* propertyName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         1: .line 1633
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFragments:[Ljava/lang/String;
            ifnonnull 12
         2: .line 1634
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
            arraylength
            anewarray java.lang.String
            astore 2 /* tmp */
        start local 2 // java.lang.String[] tmp
         3: .line 1635
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 11
         5: .line 1636
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 2 /* tmp */
            iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            ifnonnull 7
         6: .line 1637
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            goto 8
         7: .line 1638
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.lang.String java.lang.String[] int
      StackMap stack: java.lang.String[] int
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
            iload 3 /* i */
            aaload
         8: .line 1636
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.lang.String java.lang.String[] int
      StackMap stack: java.lang.String[] int java.lang.String
            aastore
         9: .line 1639
            aload 0 /* this */
            aload 2 /* tmp */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFragments:[Ljava/lang/String;
        10: .line 1635
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
            arraylength
            if_icmplt 5
        end local 3 // int i
        end local 2 // java.lang.String[] tmp
        12: .line 1642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFragments:[Ljava/lang/String;
            areturn
        13: .line 1645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPropertyMapping:Lorg/hibernate/persister/entity/PropertyMapping;
            aload 1 /* propertyName */
            invokeinterface org.hibernate.persister.entity.PropertyMapping.toColumns:(Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   14     1  propertyName  Ljava/lang/String;
            3   12     2           tmp  [Ljava/lang/String;
            4   12     3             i  I
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
              Name  Flags
      propertyName  

  public org.hibernate.type.Type getType();
    descriptor: ()Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1650
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPropertyMapping:Lorg/hibernate/persister/entity/PropertyMapping;
            invokeinterface org.hibernate.persister.entity.PropertyMapping.getType:()Lorg/hibernate/type/Type;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1655
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getRole:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.persister.entity.EntityPersister getElementPersister();
    descriptor: ()Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1660
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPersister:Lorg/hibernate/persister/entity/EntityPersister;
            ifnonnull 2
         1: .line 1661
            new org.hibernate.AssertionFailure
            dup
            ldc "not an association"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1663
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPersister:Lorg/hibernate/persister/entity/EntityPersister;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

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

  public java.io.Serializable[] getCollectionSpaces();
    descriptor: ()[Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1673
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.spaces:[Ljava/io/Serializable;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected abstract java.lang.String generateDeleteString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract java.lang.String generateDeleteRowString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract java.lang.String generateUpdateRowString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract java.lang.String generateInsertRowString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  public void updateRows(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
        start local 2 // java.io.Serializable id
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1688
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
            ifne 4
            aload 1 /* collection */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.isRowUpdatePossible:()Z
            ifeq 4
         1: .line 1690
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Updating rows of collection: %s#%s"
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.role:Ljava/lang/String;
            aload 2 /* id */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 1693
            aload 0 /* this */
            aload 2 /* id */
            aload 1 /* collection */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.doUpdateRows:(Ljava/io/Serializable;Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SessionImplementor;)I
            istore 4 /* count */
        start local 4 // int count
         3: .line 1695
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done updating rows: %s updated"
            iload 4 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 4 // int count
         4: .line 1697
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    5     1  collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0    5     2          id  Ljava/io/Serializable;
            0    5     3     session  Lorg/hibernate/engine/spi/SessionImplementor;
            3    4     4       count  I
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      collection  
      id          
      session     

  protected abstract int doUpdateRows(java.io.Serializable, org.hibernate.collection.spi.PersistentCollection, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      key         
      collection  
      session     

  public void processQueuedOps(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
        start local 2 // java.io.Serializable key
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1705
            aload 1 /* collection */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.hasQueuedOperations:()Z
            ifeq 2
         1: .line 1706
            aload 0 /* this */
            aload 1 /* collection */
            aload 2 /* key */
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.doProcessQueuedOps:(Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
         2: .line 1708
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.io.Serializable key
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1  collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0    3     2         key  Ljava/io/Serializable;
            0    3     3     session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      collection  
      key         
      session     

  protected void doProcessQueuedOps(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, int, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;ILorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
        start local 2 // java.io.Serializable key
        start local 3 // int nextIndex
        start local 4 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1725
            aload 0 /* this */
            aload 1 /* collection */
            aload 2 /* key */
            aload 4 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.doProcessQueuedOps:(Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
         1: .line 1726
            return
        end local 4 // org.hibernate.engine.spi.SessionImplementor session
        end local 3 // int nextIndex
        end local 2 // java.io.Serializable key
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    2     1  collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0    2     2         key  Ljava/io/Serializable;
            0    2     3   nextIndex  I
            0    2     4     session  Lorg/hibernate/engine/spi/SessionImplementor;
    Exceptions:
      throws org.hibernate.HibernateException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
            Name  Flags
      collection  
      key         
      nextIndex   
      session     

  protected abstract void doProcessQueuedOps(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      collection  
      key         
      session     

  public org.hibernate.metadata.CollectionMetadata getCollectionMetadata();
    descriptor: ()Lorg/hibernate/metadata/CollectionMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1733
            aload 0 /* this */
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.engine.spi.SessionFactoryImplementor getFactory();
    descriptor: ()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1738
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected java.lang.String filterFragment(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
         0: .line 1742
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.hasWhere:()Z
            ifeq 1
            new java.lang.StringBuilder
            dup
            ldc " and "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLWhereString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1  alias  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
       Name  Flags
      alias  

  protected java.lang.String filterFragment(java.lang.String, java.util.Set<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/Set;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // java.util.Set treatAsDeclarations
         0: .line 1746
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.hasWhere:()Z
            ifeq 1
            new java.lang.StringBuilder
            dup
            ldc " and "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLWhereString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 2 // java.util.Set treatAsDeclarations
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1                alias  Ljava/lang/String;
            0    3     2  treatAsDeclarations  Ljava/util/Set<Ljava/lang/String;>;
    Exceptions:
      throws org.hibernate.MappingException
    Signature: (Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      alias                
      treatAsDeclarations  

  public java.lang.String filterFragment(java.lang.String, java.util.Map);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // java.util.Map enabledFilters
         0: .line 1751
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sessionFilterFragment */
        start local 3 // java.lang.StringBuilder sessionFilterFragment
         1: .line 1752
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.filterHelper:Lorg/hibernate/internal/FilterHelper;
            aload 3 /* sessionFilterFragment */
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getFilterAliasGenerator:(Ljava/lang/String;)Lorg/hibernate/internal/FilterAliasGenerator;
            aload 2 /* enabledFilters */
            invokevirtual org.hibernate.internal.FilterHelper.render:(Ljava/lang/StringBuilder;Lorg/hibernate/internal/FilterAliasGenerator;Ljava/util/Map;)V
         2: .line 1754
            aload 3 /* sessionFilterFragment */
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.filterFragment:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder sessionFilterFragment
        end local 2 // java.util.Map enabledFilters
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1                  alias  Ljava/lang/String;
            0    3     2         enabledFilters  Ljava/util/Map;
            1    3     3  sessionFilterFragment  Ljava/lang/StringBuilder;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                Name  Flags
      alias           
      enabledFilters  

  public java.lang.String filterFragment(java.lang.String, java.util.Map, java.util.Set<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;Ljava/util/Set;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // java.util.Map enabledFilters
        start local 3 // java.util.Set treatAsDeclarations
         0: .line 1762
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sessionFilterFragment */
        start local 4 // java.lang.StringBuilder sessionFilterFragment
         1: .line 1763
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.filterHelper:Lorg/hibernate/internal/FilterHelper;
            aload 4 /* sessionFilterFragment */
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getFilterAliasGenerator:(Ljava/lang/String;)Lorg/hibernate/internal/FilterAliasGenerator;
            aload 2 /* enabledFilters */
            invokevirtual org.hibernate.internal.FilterHelper.render:(Ljava/lang/StringBuilder;Lorg/hibernate/internal/FilterAliasGenerator;Ljava/util/Map;)V
         2: .line 1765
            aload 4 /* sessionFilterFragment */
            aload 0 /* this */
            aload 1 /* alias */
            aload 3 /* treatAsDeclarations */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.filterFragment:(Ljava/lang/String;Ljava/util/Set;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder sessionFilterFragment
        end local 3 // java.util.Set treatAsDeclarations
        end local 2 // java.util.Map enabledFilters
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    3     1                  alias  Ljava/lang/String;
            0    3     2         enabledFilters  Ljava/util/Map;
            0    3     3    treatAsDeclarations  Ljava/util/Set<Ljava/lang/String;>;
            1    3     4  sessionFilterFragment  Ljava/lang/StringBuilder;
    Signature: (Ljava/lang/String;Ljava/util/Map;Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      alias                
      enabledFilters       
      treatAsDeclarations  

  public java.lang.String oneToManyFilterFragment(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
         0: .line 1770
            ldc ""
            areturn
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    1     1  alias  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
       Name  Flags
      alias  

  public java.lang.String oneToManyFilterFragment(java.lang.String, java.util.Set<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/Set;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String alias
        start local 2 // java.util.Set treatAsDeclarations
         0: .line 1775
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.oneToManyFilterFragment:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.util.Set treatAsDeclarations
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    1     1                alias  Ljava/lang/String;
            0    1     2  treatAsDeclarations  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      alias                
      treatAsDeclarations  

  protected boolean isInsertCallable();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1779
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.insertCallable:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle getInsertCheckStyle();
    descriptor: ()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1783
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.insertCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected boolean isUpdateCallable();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1787
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.updateCallable:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle getUpdateCheckStyle();
    descriptor: ()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1791
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.updateCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected boolean isDeleteCallable();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1795
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteCallable:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle getDeleteCheckStyle();
    descriptor: ()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1799
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected boolean isDeleteAllCallable();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1803
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteAllCallable:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle getDeleteAllCheckStyle();
    descriptor: ()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1807
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteAllCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1812
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.unqualify:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.role:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean isVersioned();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1817
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isVersioned:Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getOwnerEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.isVersioned:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String getNodeName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1822
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.nodeName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String getElementNodeName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1827
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementNodeName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String getIndexNodeName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1832
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexNodeName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected org.hibernate.exception.spi.SQLExceptionConverter getSQLExceptionConverter();
    descriptor: ()Lorg/hibernate/exception/spi/SQLExceptionConverter;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1837
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.getSqlExceptionConverter:()Lorg/hibernate/exception/spi/SQLExceptionConverter;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected org.hibernate.engine.jdbc.spi.SqlExceptionHelper getSQLExceptionHelper();
    descriptor: ()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1842
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlExceptionHelper:Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.cache.spi.entry.CacheEntryStructure getCacheEntryStructure();
    descriptor: ()Lorg/hibernate/cache/spi/entry/CacheEntryStructure;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1847
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.cacheEntryStructure:Lorg/hibernate/cache/spi/entry/CacheEntryStructure;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean isAffectedByEnabledFilters(org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1852
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.filterHelper:Lorg/hibernate/internal/FilterHelper;
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getEnabledFilters:()Ljava/util/Map;
            invokevirtual org.hibernate.internal.FilterHelper.isAffectedBy:(Ljava/util/Map;)Z
            ifne 3
         1: .line 1853
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isManyToMany:()Z
            ifeq 2
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyFilterHelper:Lorg/hibernate/internal/FilterHelper;
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getEnabledFilters:()Ljava/util/Map;
            invokevirtual org.hibernate.internal.FilterHelper.isAffectedBy:(Ljava/util/Map;)Z
            ifne 3
         2: .line 1852
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // org.hibernate.engine.spi.SessionImplementor session
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    4     1  session  Lorg/hibernate/engine/spi/SessionImplementor;
    MethodParameters:
         Name  Flags
      session  

  public boolean isSubselectLoadable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1857
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.subselectLoadable:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public boolean isMutable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1862
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isMutable:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String[] getCollectionPropertyColumnAliases(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String propertyName
        start local 2 // java.lang.String suffix
         0: .line 1867
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.collectionPropertyColumnAliases:Ljava/util/Map;
            aload 1 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* rawAliases */
        start local 3 // java.lang.String[] rawAliases
         1: .line 1869
            aload 3 /* rawAliases */
            ifnonnull 3
         2: .line 1870
            aconst_null
            areturn
         3: .line 1873
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 3 /* rawAliases */
            arraylength
            anewarray java.lang.String
            astore 4 /* result */
        start local 4 // java.lang.String[] result
         4: .line 1874
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 8
         6: .line 1875
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 4 /* result */
            iload 5 /* i */
            new org.hibernate.sql.Alias
            dup
            aload 2 /* suffix */
            invokespecial org.hibernate.sql.Alias.<init>:(Ljava/lang/String;)V
            aload 3 /* rawAliases */
            iload 5 /* i */
            aaload
            invokevirtual org.hibernate.sql.Alias.toUnquotedAliasString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
         7: .line 1874
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 3 /* rawAliases */
            arraylength
            if_icmplt 6
        end local 5 // int i
         9: .line 1877
            aload 4 /* result */
            areturn
        end local 4 // java.lang.String[] result
        end local 3 // java.lang.String[] rawAliases
        end local 2 // java.lang.String suffix
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   10     1  propertyName  Ljava/lang/String;
            0   10     2        suffix  Ljava/lang/String;
            1   10     3    rawAliases  [Ljava/lang/String;
            4   10     4        result  [Ljava/lang/String;
            5    9     5             i  I
    MethodParameters:
              Name  Flags
      propertyName  
      suffix        

  public void initCollectionPropertyMap();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 1883
            aload 0 /* this */
            ldc "key"
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyType:Lorg/hibernate/type/Type;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnAliases:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnNames:[Ljava/lang/String;
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.initCollectionPropertyMap:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;)V
         1: .line 1884
            aload 0 /* this */
            ldc "element"
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnAliases:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.initCollectionPropertyMap:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;)V
         2: .line 1885
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 4
         3: .line 1886
            aload 0 /* this */
            ldc "index"
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexType:Lorg/hibernate/type/Type;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.initCollectionPropertyMap:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;)V
         4: .line 1888
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 11
         5: .line 1889
            aload 0 /* this */
         6: .line 1890
            ldc "id"
         7: .line 1891
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierType:Lorg/hibernate/type/Type;
         8: .line 1892
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnAlias:Ljava/lang/String;
            aastore
         9: .line 1893
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnName:Ljava/lang/String;
            aastore
        10: .line 1889
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.initCollectionPropertyMap:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;)V
        11: .line 1895
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  private void initCollectionPropertyMap(java.lang.String, org.hibernate.type.Type, java.lang.String[], java.lang.String[]);
    descriptor: (Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.lang.String aliasName
        start local 2 // org.hibernate.type.Type type
        start local 3 // java.lang.String[] columnAliases
        start local 4 // java.lang.String[] columnNames
         0: .line 1899
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.collectionPropertyColumnAliases:Ljava/util/Map;
            aload 1 /* aliasName */
            aload 3 /* columnAliases */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1900
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.collectionPropertyColumnNames:Ljava/util/Map;
            aload 1 /* aliasName */
            aload 4 /* columnNames */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1902
            aload 2 /* type */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 12
         3: .line 1903
            aload 2 /* type */
            checkcast org.hibernate.type.CompositeType
            astore 5 /* ct */
        start local 5 // org.hibernate.type.CompositeType ct
         4: .line 1904
            aload 5 /* ct */
            invokeinterface org.hibernate.type.CompositeType.getPropertyNames:()[Ljava/lang/String;
            astore 6 /* propertyNames */
        start local 6 // java.lang.String[] propertyNames
         5: .line 1905
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 11
         7: .line 1906
      StackMap locals: org.hibernate.type.CompositeType java.lang.String[] int
      StackMap stack:
            aload 6 /* propertyNames */
            iload 7 /* i */
            aaload
            astore 8 /* name */
        start local 8 // java.lang.String name
         8: .line 1907
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.collectionPropertyColumnAliases:Ljava/util/Map;
            new java.lang.StringBuilder
            dup
            aload 1 /* aliasName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* columnAliases */
            iload 7 /* i */
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 1908
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.collectionPropertyColumnNames:Ljava/util/Map;
            new java.lang.StringBuilder
            dup
            aload 1 /* aliasName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* columnNames */
            iload 7 /* i */
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.String name
        10: .line 1905
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 7 /* i */
            aload 6 /* propertyNames */
            arraylength
            if_icmplt 7
        end local 7 // int i
        end local 6 // java.lang.String[] propertyNames
        end local 5 // org.hibernate.type.CompositeType ct
        12: .line 1912
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String[] columnNames
        end local 3 // java.lang.String[] columnAliases
        end local 2 // org.hibernate.type.Type type
        end local 1 // java.lang.String aliasName
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   13     1      aliasName  Ljava/lang/String;
            0   13     2           type  Lorg/hibernate/type/Type;
            0   13     3  columnAliases  [Ljava/lang/String;
            0   13     4    columnNames  [Ljava/lang/String;
            4   12     5             ct  Lorg/hibernate/type/CompositeType;
            5   12     6  propertyNames  [Ljava/lang/String;
            6   12     7              i  I
            8   10     8           name  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      aliasName      
      type           
      columnAliases  
      columnNames    

  public int getSize(java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.io.Serializable key
        start local 2 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1917
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
         1: .line 1918
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
         2: .line 1919
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
         3: .line 1920
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlSelectSizeString:Ljava/lang/String;
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
         4: .line 1917
            astore 3 /* st */
        start local 3 // java.sql.PreparedStatement st
         5: .line 1922
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getKeyType:()Lorg/hibernate/type/Type;
            aload 3 /* st */
            aload 1 /* key */
            iconst_1
            aload 2 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
         6: .line 1923
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            aload 3 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.extract:(Ljava/sql/PreparedStatement;)Ljava/sql/ResultSet;
            astore 4 /* rs */
        start local 4 // java.sql.ResultSet rs
         7: .line 1925
            aload 4 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifeq 8
            aload 4 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.baseIndex:I
            isub
            goto 9
      StackMap locals: java.sql.PreparedStatement java.sql.ResultSet
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: istore 6
        10: .line 1928
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 4 /* rs */
            aload 3 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        11: .line 1932
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 3 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        12: .line 1925
            iload 6
            ireturn
        13: .line 1927
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        14: .line 1928
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 4 /* rs */
            aload 3 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        15: .line 1929
            aload 5
            athrow
        end local 4 // java.sql.ResultSet rs
        16: .line 1931
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SessionImplementor java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
            astore 7
        17: .line 1932
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 3 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        18: .line 1933
            aload 7
            athrow
        end local 3 // java.sql.PreparedStatement st
        19: .line 1935
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SessionImplementor
      StackMap stack: java.sql.SQLException
            astore 3 /* sqle */
        start local 3 // java.sql.SQLException sqle
        20: .line 1936
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        21: .line 1937
            aload 3 /* sqle */
        22: .line 1938
            new java.lang.StringBuilder
            dup
            ldc "could not retrieve collection size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        23: .line 1939
            aload 0 /* this */
            aload 1 /* key */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.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;
        24: .line 1938
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 1940
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlSelectSizeString:Ljava/lang/String;
        26: .line 1936
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 3 // java.sql.SQLException sqle
        end local 2 // org.hibernate.engine.spi.SessionImplementor session
        end local 1 // java.io.Serializable key
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   27     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   27     1      key  Ljava/io/Serializable;
            0   27     2  session  Lorg/hibernate/engine/spi/SessionImplementor;
            5   19     3       st  Ljava/sql/PreparedStatement;
            7   16     4       rs  Ljava/sql/ResultSet;
           20   27     3     sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           7    10      13  any
           5    11      16  any
          13    16      16  any
           0    12      19  Class java.sql.SQLException
          13    19      19  Class java.sql.SQLException
    MethodParameters:
         Name  Flags
      key      
      session  

  public boolean indexExists(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.io.Serializable key
        start local 2 // java.lang.Object index
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1947
            aload 0 /* this */
            aload 1 /* key */
            aload 0 /* this */
            aload 2 /* index */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.incrementIndexByBase:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getIndexType:()Lorg/hibernate/type/Type;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDetectRowByIndexString:Ljava/lang/String;
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.exists:(Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/type/Type;Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Z
            ireturn
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.lang.Object index
        end local 1 // java.io.Serializable key
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    1     1      key  Ljava/io/Serializable;
            0    1     2    index  Ljava/lang/Object;
            0    1     3  session  Lorg/hibernate/engine/spi/SessionImplementor;
    MethodParameters:
         Name  Flags
      key      
      index    
      session  

  public boolean elementExists(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.io.Serializable key
        start local 2 // java.lang.Object element
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1952
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* element */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDetectRowByElementString:Ljava/lang/String;
            aload 3 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.exists:(Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/type/Type;Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Z
            ireturn
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.lang.Object element
        end local 1 // java.io.Serializable key
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    1     1      key  Ljava/io/Serializable;
            0    1     2  element  Ljava/lang/Object;
            0    1     3  session  Lorg/hibernate/engine/spi/SessionImplementor;
    MethodParameters:
         Name  Flags
      key      
      element  
      session  

  private boolean exists(java.io.Serializable, java.lang.Object, org.hibernate.type.Type, java.lang.String, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/type/Type;Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=6
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.io.Serializable key
        start local 2 // java.lang.Object indexOrElement
        start local 3 // org.hibernate.type.Type indexOrElementType
        start local 4 // java.lang.String sql
        start local 5 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1957
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
         1: .line 1958
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
         2: .line 1959
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
         3: .line 1960
            aload 4 /* sql */
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
         4: .line 1957
            astore 6 /* st */
        start local 6 // java.sql.PreparedStatement st
         5: .line 1962
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getKeyType:()Lorg/hibernate/type/Type;
            aload 6 /* st */
            aload 1 /* key */
            iconst_1
            aload 5 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
         6: .line 1963
            aload 3 /* indexOrElementType */
            aload 6 /* st */
            aload 2 /* indexOrElement */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnNames:[Ljava/lang/String;
            arraylength
            iconst_1
            iadd
            aload 5 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
         7: .line 1964
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            aload 6 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.extract:(Ljava/sql/PreparedStatement;)Ljava/sql/ResultSet;
            astore 7 /* rs */
        start local 7 // java.sql.ResultSet rs
         8: .line 1966
            aload 7 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            istore 9
         9: .line 1969
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 7 /* rs */
            aload 6 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        10: .line 1976
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 6 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        11: .line 1966
            iload 9
            ireturn
        12: .line 1968
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable java.lang.Object org.hibernate.type.Type java.lang.String org.hibernate.engine.spi.SessionImplementor java.sql.PreparedStatement java.sql.ResultSet
      StackMap stack: java.lang.Throwable
            astore 8
        13: .line 1969
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 7 /* rs */
            aload 6 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        14: .line 1970
            aload 8
            athrow
        end local 7 // java.sql.ResultSet rs
        15: .line 1972
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable java.lang.Object org.hibernate.type.Type java.lang.String org.hibernate.engine.spi.SessionImplementor java.sql.PreparedStatement
      StackMap stack: org.hibernate.TransientObjectException
            pop
        16: .line 1976
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 6 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        17: .line 1973
            iconst_0
            ireturn
        18: .line 1975
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        19: .line 1976
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 6 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        20: .line 1977
            aload 10
            athrow
        end local 6 // java.sql.PreparedStatement st
        21: .line 1979
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable java.lang.Object org.hibernate.type.Type java.lang.String org.hibernate.engine.spi.SessionImplementor
      StackMap stack: java.sql.SQLException
            astore 6 /* sqle */
        start local 6 // java.sql.SQLException sqle
        22: .line 1980
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        23: .line 1981
            aload 6 /* sqle */
        24: .line 1982
            new java.lang.StringBuilder
            dup
            ldc "could not check row existence: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 1983
            aload 0 /* this */
            aload 1 /* key */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.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;
        26: .line 1982
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1984
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlSelectSizeString:Ljava/lang/String;
        28: .line 1980
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 6 // java.sql.SQLException sqle
        end local 5 // org.hibernate.engine.spi.SessionImplementor session
        end local 4 // java.lang.String sql
        end local 3 // org.hibernate.type.Type indexOrElementType
        end local 2 // java.lang.Object indexOrElement
        end local 1 // java.io.Serializable key
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   29     0                this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   29     1                 key  Ljava/io/Serializable;
            0   29     2      indexOrElement  Ljava/lang/Object;
            0   29     3  indexOrElementType  Lorg/hibernate/type/Type;
            0   29     4                 sql  Ljava/lang/String;
            0   29     5             session  Lorg/hibernate/engine/spi/SessionImplementor;
            5   21     6                  st  Ljava/sql/PreparedStatement;
            8   15     7                  rs  Ljava/sql/ResultSet;
           22   29     6                sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           8     9      12  any
           5    10      15  Class org.hibernate.TransientObjectException
          12    15      15  Class org.hibernate.TransientObjectException
           5    10      18  any
          12    16      18  any
           0    11      21  Class java.sql.SQLException
          12    17      21  Class java.sql.SQLException
          18    21      21  Class java.sql.SQLException
    MethodParameters:
                    Name  Flags
      key                 
      indexOrElement      
      indexOrElementType  
      sql                 
      session             

  public java.lang.Object getElementByIndex(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SessionImplementor, java.lang.Object);
    descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // java.io.Serializable key
        start local 2 // java.lang.Object index
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
        start local 4 // java.lang.Object owner
         0: .line 1992
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
         1: .line 1993
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
         2: .line 1994
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
         3: .line 1995
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlSelectRowByIndexString:Ljava/lang/String;
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
         4: .line 1992
            astore 5 /* st */
        start local 5 // java.sql.PreparedStatement st
         5: .line 1997
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getKeyType:()Lorg/hibernate/type/Type;
            aload 5 /* st */
            aload 1 /* key */
            iconst_1
            aload 3 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
         6: .line 1998
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getIndexType:()Lorg/hibernate/type/Type;
            aload 5 /* st */
            aload 0 /* this */
            aload 2 /* index */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.incrementIndexByBase:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnNames:[Ljava/lang/String;
            arraylength
            iconst_1
            iadd
            aload 3 /* session */
            invokeinterface org.hibernate.type.Type.nullSafeSet:(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
         7: .line 1999
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            aload 5 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.ResultSetReturn.extract:(Ljava/sql/PreparedStatement;)Ljava/sql/ResultSet;
            astore 6 /* rs */
        start local 6 // java.sql.ResultSet rs
         8: .line 2001
            aload 6 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifeq 13
         9: .line 2002
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            aload 6 /* rs */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnAliases:[Ljava/lang/String;
            aload 3 /* session */
            aload 4 /* owner */
            invokeinterface org.hibernate.type.Type.nullSafeGet:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 8
        10: .line 2009
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 6 /* rs */
            aload 5 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        11: .line 2013
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 5 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        12: .line 2002
            aload 8
            areturn
        13: .line 2009
      StackMap locals: java.sql.PreparedStatement java.sql.ResultSet
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 6 /* rs */
            aload 5 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        14: .line 2013
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 5 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        15: .line 2005
            aconst_null
            areturn
        16: .line 2008
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        17: .line 2009
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 6 /* rs */
            aload 5 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        18: .line 2010
            aload 7
            athrow
        end local 6 // java.sql.ResultSet rs
        19: .line 2012
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable java.lang.Object org.hibernate.engine.spi.SessionImplementor java.lang.Object java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
            astore 9
        20: .line 2013
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            aload 5 /* st */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.release:(Ljava/sql/Statement;)V
        21: .line 2014
            aload 9
            athrow
        end local 5 // java.sql.PreparedStatement st
        22: .line 2016
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable java.lang.Object org.hibernate.engine.spi.SessionImplementor java.lang.Object
      StackMap stack: java.sql.SQLException
            astore 5 /* sqle */
        start local 5 // java.sql.SQLException sqle
        23: .line 2017
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        24: .line 2018
            aload 5 /* sqle */
        25: .line 2019
            new java.lang.StringBuilder
            dup
            ldc "could not read row: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 2020
            aload 0 /* this */
            aload 1 /* key */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.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;
        27: .line 2019
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 2021
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlSelectSizeString:Ljava/lang/String;
        29: .line 2017
            invokevirtual org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert:(Ljava/sql/SQLException;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/JDBCException;
            athrow
        end local 5 // java.sql.SQLException sqle
        end local 4 // java.lang.Object owner
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.lang.Object index
        end local 1 // java.io.Serializable key
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   30     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   30     1      key  Ljava/io/Serializable;
            0   30     2    index  Ljava/lang/Object;
            0   30     3  session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   30     4    owner  Ljava/lang/Object;
            5   22     5       st  Ljava/sql/PreparedStatement;
            8   19     6       rs  Ljava/sql/ResultSet;
           23   30     5     sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           8    10      16  any
           5    11      19  any
          13    14      19  any
          16    19      19  any
           0    12      22  Class java.sql.SQLException
          13    15      22  Class java.sql.SQLException
          16    22      22  Class java.sql.SQLException
    MethodParameters:
         Name  Flags
      key      
      index    
      session  
      owner    

  public boolean isExtraLazy();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 2028
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isExtraLazy:Z
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  protected org.hibernate.dialect.Dialect getDialect();
    descriptor: ()Lorg/hibernate/dialect/Dialect;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 2032
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.loader.collection.CollectionInitializer getInitializer();
    descriptor: ()Lorg/hibernate/loader/collection/CollectionInitializer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 2042
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.initializer:Lorg/hibernate/loader/collection/CollectionInitializer;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public int getBatchSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 2047
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.batchSize:I
            ireturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public java.lang.String getMappedByProperty();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 2052
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.mappedByProperty:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public abstract org.hibernate.internal.FilterAliasGenerator getFilterAliasGenerator(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/internal/FilterAliasGenerator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      rootAlias  final

  public org.hibernate.persister.collection.CollectionPersister getCollectionPersister();
    descriptor: ()Lorg/hibernate/persister/collection/CollectionPersister;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 2080
            aload 0 /* this */
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.persister.walking.spi.CollectionIndexDefinition getIndexDefinition();
    descriptor: ()Lorg/hibernate/persister/walking/spi/CollectionIndexDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 2085
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:()Z
            ifne 2
         1: .line 2086
            aconst_null
            areturn
         2: .line 2089
      StackMap locals:
      StackMap stack:
            new org.hibernate.persister.collection.AbstractCollectionPersister$1
            dup
            aload 0 /* this */
            invokespecial org.hibernate.persister.collection.AbstractCollectionPersister$1.<init>:(Lorg/hibernate/persister/collection/AbstractCollectionPersister;)V
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public org.hibernate.persister.walking.spi.CollectionElementDefinition getElementDefinition();
    descriptor: ()Lorg/hibernate/persister/walking/spi/CollectionElementDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 2160
            new org.hibernate.persister.collection.AbstractCollectionPersister$2
            dup
            aload 0 /* this */
            invokespecial org.hibernate.persister.collection.AbstractCollectionPersister$2.<init>:(Lorg/hibernate/persister/collection/AbstractCollectionPersister;)V
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
}
SourceFile: "AbstractCollectionPersister.java"
NestMembers:
  org.hibernate.persister.collection.AbstractCollectionPersister$1  org.hibernate.persister.collection.AbstractCollectionPersister$1$1  org.hibernate.persister.collection.AbstractCollectionPersister$2  org.hibernate.persister.collection.AbstractCollectionPersister$2$1  org.hibernate.persister.collection.AbstractCollectionPersister$ColumnMapperImpl  org.hibernate.persister.collection.AbstractCollectionPersister$ColumnMapperImpl$1  org.hibernate.persister.collection.AbstractCollectionPersister$ColumnMapperImpl$2  org.hibernate.persister.collection.AbstractCollectionPersister$StandardOrderByAliasResolver
InnerClasses:
  org.hibernate.persister.collection.AbstractCollectionPersister$1
  org.hibernate.persister.collection.AbstractCollectionPersister$2
  private ColumnMapperImpl = org.hibernate.persister.collection.AbstractCollectionPersister$ColumnMapperImpl of org.hibernate.persister.collection.AbstractCollectionPersister
  private StandardOrderByAliasResolver = org.hibernate.persister.collection.AbstractCollectionPersister$StandardOrderByAliasResolver of org.hibernate.persister.collection.AbstractCollectionPersister