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 org.hibernate.metamodel.model.domain.NavigableRole navigableRole;
    descriptor: Lorg/hibernate/metamodel/model/domain/NavigableRole;
    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 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[] indexColumnIsGettable;
    descriptor: [Z
    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.CollectionDataAccess cacheAccessStrategy;
    descriptor: Lorg/hibernate/cache/spi/access/CollectionDataAccess;
    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 110
            ldc Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 111
            ldc Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         2: .line 110
            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 111
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.mapping.Collection, org.hibernate.cache.spi.access.CollectionDataAccess, org.hibernate.persister.spi.PersisterCreationContext);
    descriptor: (Lorg/hibernate/mapping/Collection;Lorg/hibernate/cache/spi/access/CollectionDataAccess;Lorg/hibernate/persister/spi/PersisterCreationContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=24, args_size=4
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
        start local 1 // org.hibernate.mapping.Collection collectionBinding
        start local 2 // org.hibernate.cache.spi.access.CollectionDataAccess cacheAccessStrategy
        start local 3 // org.hibernate.persister.spi.PersisterCreationContext creationContext
         0: .line 232
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 229
            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 230
            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 237
            aload 3 /* creationContext */
            invokeinterface org.hibernate.persister.spi.PersisterCreationContext.getMetadata:()Lorg/hibernate/boot/spi/MetadataImplementor;
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
            astore 4 /* database */
        start local 4 // org.hibernate.boot.model.relational.Database database
         4: .line 238
            aload 4 /* database */
            invokevirtual org.hibernate.boot.model.relational.Database.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            astore 5 /* jdbcEnvironment */
        start local 5 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
         5: .line 240
            aload 0 /* this */
            aload 3 /* creationContext */
            invokeinterface org.hibernate.persister.spi.PersisterCreationContext.getSessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         6: .line 241
            aload 0 /* this */
            aload 2 /* cacheAccessStrategy */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.cacheAccessStrategy:Lorg/hibernate/cache/spi/access/CollectionDataAccess;
         7: .line 242
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isStructuredCacheEntriesEnabled:()Z
            ifeq 13
         8: .line 243
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isMap:()Z
            ifeq 10
         9: .line 244
            getstatic org.hibernate.cache.spi.entry.StructuredMapCacheEntry.INSTANCE:Lorg/hibernate/cache/spi/entry/StructuredMapCacheEntry;
            goto 11
        10: .line 245
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            getstatic org.hibernate.cache.spi.entry.StructuredCollectionCacheEntry.INSTANCE:Lorg/hibernate/cache/spi/entry/StructuredCollectionCacheEntry;
        11: .line 243
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment
      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;
        12: .line 246
            goto 14
        13: .line 248
      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;
        14: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
        15: .line 252
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            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;
        16: .line 253
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCollectionType:()Lorg/hibernate/type/CollectionType;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.collectionType:Lorg/hibernate/type/CollectionType;
        17: .line 254
            aload 0 /* this */
            new org.hibernate.metamodel.model.domain.NavigableRole
            dup
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
            invokespecial org.hibernate.metamodel.model.domain.NavigableRole.<init>:(Ljava/lang/String;)V
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.navigableRole:Lorg/hibernate/metamodel/model/domain/NavigableRole;
        18: .line 255
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.entityName:Ljava/lang/String;
        19: .line 256
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            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;
        20: .line 257
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getLoaderName:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.queryLoaderName:Ljava/lang/String;
        21: .line 258
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isMutable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isMutable:Z
        22: .line 259
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getMappedByProperty:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.mappedByProperty:Ljava/lang/String;
        23: .line 261
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCollectionTable:()Lorg/hibernate/mapping/Table;
            astore 6 /* table */
        start local 6 // org.hibernate.mapping.Table table
        24: .line 262
            aload 0 /* this */
            aload 1 /* collectionBinding */
            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;
        25: .line 263
            aload 0 /* this */
            aload 1 /* collectionBinding */
            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;
        26: .line 266
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isPrimitiveArray:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isPrimitiveArray:Z
        27: .line 267
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isArray:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isArray:Z
        28: .line 268
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isSubselectLoadable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.subselectLoadable:Z
        29: .line 270
            aload 0 /* this */
            aload 0 /* this */
            aload 6 /* table */
            aload 5 /* jdbcEnvironment */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.determineTableName:(Lorg/hibernate/mapping/Table;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;)Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.qualifiedTableName:Ljava/lang/String;
        30: .line 272
            iconst_1
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getSynchronizedTables:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            iadd
            istore 7 /* spacesSize */
        start local 7 // int spacesSize
        31: .line 273
            aload 0 /* this */
            iload 7 /* spacesSize */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.spaces:[Ljava/io/Serializable;
        32: .line 274
            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
        33: .line 275
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getSynchronizedTables:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8 /* iter */
        start local 8 // java.util.Iterator iter
        34: .line 276
            iconst_1
            istore 9 /* i */
        start local 9 // int i
        35: goto 38
        36: .line 277
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment 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 9 /* i */
            aload 8 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        37: .line 276
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 9 /* i */
            iload 7 /* spacesSize */
            if_icmplt 36
        end local 9 // int i
        39: .line 280
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getWhere:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 40
            new java.lang.StringBuilder
            dup
            ldc "( "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* collectionBinding */
            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 41
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
        40: aconst_null
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister java.lang.String
        41: putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlWhereString:Ljava/lang/String;
        42: .line 281
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlWhereString:Ljava/lang/String;
            ifnull 43
            iconst_1
            goto 44
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
        43: iconst_0
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister int
        44: putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasWhere:Z
        45: .line 282
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasWhere:Z
            ifeq 47
        46: .line 283
            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 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            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 48
        47: .line 284
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            aconst_null
        48: .line 282
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment 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;
        49: .line 286
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.hasOrphanDelete:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasOrphanDelete:Z
        50: .line 288
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getBatchSize:()I
            istore 9 /* batch */
        start local 9 // int batch
        51: .line 289
            iload 9 /* batch */
            iconst_m1
            if_icmpne 53
        52: .line 290
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getDefaultBatchFetchSize:()I
            istore 9 /* batch */
        53: .line 292
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 9 /* batch */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.batchSize:I
        54: .line 294
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isOptimisticLocked:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isVersioned:Z
        55: .line 298
            aload 0 /* this */
            aload 1 /* collectionBinding */
            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;
        56: .line 299
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getKey:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnIterator:()Ljava/util/Iterator;
            astore 8 /* iter */
        57: .line 300
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getKey:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnSpan:()I
            istore 10 /* keySpan */
        start local 10 // int keySpan
        58: .line 301
            aload 0 /* this */
            iload 10 /* keySpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnNames:[Ljava/lang/String;
        59: .line 302
            aload 0 /* this */
            iload 10 /* keySpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnAliases:[Ljava/lang/String;
        60: .line 303
            iconst_0
            istore 11 /* k */
        start local 11 // int k
        61: .line 304
            goto 66
        62: .line 306
      StackMap locals: int int
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 12 /* col */
        start local 12 // org.hibernate.mapping.Column col
        63: .line 307
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnNames:[Ljava/lang/String;
            iload 11 /* k */
            aload 12 /* 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
        64: .line 308
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.keyColumnAliases:[Ljava/lang/String;
            iload 11 /* k */
            aload 12 /* col */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            aload 6 /* table */
            invokevirtual org.hibernate.mapping.Column.getAlias:(Lorg/hibernate/dialect/Dialect;Lorg/hibernate/mapping/Table;)Ljava/lang/String;
            aastore
        65: .line 309
            iinc 11 /* k */ 1
        end local 12 // org.hibernate.mapping.Column col
        66: .line 304
      StackMap locals:
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 62
        67: .line 316
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.isEntityType:()Z
            ifeq 71
        68: .line 317
            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
        69: .line 318
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            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;
        end local 12 // java.lang.String entityName
        70: .line 321
            goto 72
        71: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPersister:Lorg/hibernate/persister/entity/EntityPersister;
        72: .line 326
      StackMap locals:
      StackMap stack:
            aload 1 /* collectionBinding */
            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
        73: .line 327
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnAliases:[Ljava/lang/String;
        74: .line 328
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
        75: .line 329
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnWriters:[Ljava/lang/String;
        76: .line 330
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnReaders:[Ljava/lang/String;
        77: .line 331
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnReaderTemplates:[Ljava/lang/String;
        78: .line 332
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementFormulaTemplates:[Ljava/lang/String;
        79: .line 333
            aload 0 /* this */
            iload 12 /* elementSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementFormulas:[Ljava/lang/String;
        80: .line 334
            aload 0 /* this */
            iload 12 /* elementSpan */
            newarray 4
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsSettable:[Z
        81: .line 335
            aload 0 /* this */
            iload 12 /* elementSpan */
            newarray 4
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsInPrimaryKey:[Z
        82: .line 336
            iconst_1
            istore 13 /* isPureFormula */
        start local 13 // boolean isPureFormula
        83: .line 337
            iconst_0
            istore 14 /* hasNotNullableColumns */
        start local 14 // boolean hasNotNullableColumns
        84: .line 338
            iconst_0
            istore 15 /* j */
        start local 15 // int j
        85: .line 339
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getElement:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnIterator:()Ljava/util/Iterator;
            astore 8 /* iter */
        86: .line 340
            goto 107
        87: .line 341
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int
      StackMap stack:
            aload 8 /* 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
        88: .line 342
            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 6 /* table */
            invokeinterface org.hibernate.mapping.Selectable.getAlias:(Lorg/hibernate/dialect/Dialect;Lorg/hibernate/mapping/Table;)Ljava/lang/String;
            aastore
        89: .line 343
            aload 16 /* selectable */
            invokeinterface org.hibernate.mapping.Selectable.isFormula:()Z
            ifeq 94
        90: .line 344
            aload 16 /* selectable */
            checkcast org.hibernate.mapping.Formula
            astore 17 /* form */
        start local 17 // org.hibernate.mapping.Formula form
        91: .line 345
            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 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            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
        92: .line 346
            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
        93: .line 347
            goto 106
        94: .line 349
      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
        95: .line 350
            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
        96: .line 351
            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
        97: .line 352
            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
        98: .line 353
            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 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            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
        99: .line 354
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsSettable:[Z
            iload 15 /* j */
            iconst_1
            bastore
       100: .line 355
            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 101
            iconst_0
            goto 102
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int org.hibernate.mapping.Selectable org.hibernate.mapping.Column
      StackMap stack: boolean[] int
       101: iconst_1
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int org.hibernate.mapping.Selectable org.hibernate.mapping.Column
      StackMap stack: boolean[] int int
       102: bastore
       103: .line 356
            aload 17 /* col */
            invokevirtual org.hibernate.mapping.Column.isNullable:()Z
            ifne 105
       104: .line 357
            iconst_1
            istore 14 /* hasNotNullableColumns */
       105: .line 359
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* isPureFormula */
        end local 17 // org.hibernate.mapping.Column col
       106: .line 361
      StackMap locals:
      StackMap stack:
            iinc 15 /* j */ 1
        end local 16 // org.hibernate.mapping.Selectable selectable
       107: .line 340
      StackMap locals:
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 87
       108: .line 363
            aload 0 /* this */
            iload 13 /* isPureFormula */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementIsPureFormula:Z
       109: .line 368
            iload 14 /* hasNotNullableColumns */
            ifne 111
       110: .line 369
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsInPrimaryKey:[Z
            iconst_1
            invokestatic java.util.Arrays.fill:([ZZ)V
       111: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isIndexed:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
       112: .line 375
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 150
       113: .line 377
            aload 1 /* collectionBinding */
            checkcast org.hibernate.mapping.IndexedCollection
            astore 16 /* indexedCollection */
        start local 16 // org.hibernate.mapping.IndexedCollection indexedCollection
       114: .line 378
            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;
       115: .line 379
            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
       116: .line 380
            aload 16 /* indexedCollection */
            invokevirtual org.hibernate.mapping.IndexedCollection.getIndex:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnInsertability:()[Z
            astore 18 /* indexColumnInsertability */
        start local 18 // boolean[] indexColumnInsertability
       117: .line 381
            aload 16 /* indexedCollection */
            invokevirtual org.hibernate.mapping.IndexedCollection.getIndex:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnUpdateability:()[Z
            astore 19 /* indexColumnUpdatability */
        start local 19 // boolean[] indexColumnUpdatability
       118: .line 382
            aload 16 /* indexedCollection */
            invokevirtual org.hibernate.mapping.IndexedCollection.getIndex:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnIterator:()Ljava/util/Iterator;
            astore 8 /* iter */
       119: .line 383
            aload 0 /* this */
            iload 17 /* indexSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
       120: .line 384
            aload 0 /* this */
            iload 17 /* indexSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulaTemplates:[Ljava/lang/String;
       121: .line 385
            aload 0 /* this */
            iload 17 /* indexSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
       122: .line 386
            aload 0 /* this */
            iload 17 /* indexSpan */
            newarray 4
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsGettable:[Z
       123: .line 387
            aload 0 /* this */
            iload 17 /* indexSpan */
            newarray 4
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsSettable:[Z
       124: .line 388
            aload 0 /* this */
            iload 17 /* indexSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
       125: .line 389
            iconst_0
            istore 20 /* i */
        start local 20 // int i
       126: .line 390
            iconst_0
            istore 21 /* hasFormula */
        start local 21 // boolean hasFormula
       127: .line 391
            goto 143
       128: .line 392
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int org.hibernate.mapping.IndexedCollection int boolean[] boolean[] int int
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Selectable
            astore 22 /* s */
        start local 22 // org.hibernate.mapping.Selectable s
       129: .line 393
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
            iload 20 /* i */
            aload 22 /* 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
       130: .line 394
            aload 22 /* s */
            invokeinterface org.hibernate.mapping.Selectable.isFormula:()Z
            ifeq 136
       131: .line 395
            aload 22 /* s */
            checkcast org.hibernate.mapping.Formula
            astore 23 /* indexForm */
        start local 23 // org.hibernate.mapping.Formula indexForm
       132: .line 396
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulaTemplates:[Ljava/lang/String;
            iload 20 /* i */
            aload 23 /* indexForm */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            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
       133: .line 397
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
            iload 20 /* i */
            aload 23 /* indexForm */
            invokevirtual org.hibernate.mapping.Formula.getFormula:()Ljava/lang/String;
            aastore
       134: .line 398
            iconst_1
            istore 21 /* hasFormula */
        end local 23 // org.hibernate.mapping.Formula indexForm
       135: .line 399
            goto 142
       136: .line 401
      StackMap locals: org.hibernate.mapping.Selectable
      StackMap stack:
            aload 22 /* s */
            checkcast org.hibernate.mapping.Column
            astore 23 /* indexCol */
        start local 23 // org.hibernate.mapping.Column indexCol
       137: .line 402
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
            iload 20 /* i */
            aload 23 /* 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
       138: .line 403
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsGettable:[Z
            iload 20 /* i */
            iconst_1
            bastore
       139: .line 404
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsSettable:[Z
            iload 20 /* i */
            aload 18 /* indexColumnInsertability */
            iload 20 /* i */
            baload
            ifne 140
            aload 19 /* indexColumnUpdatability */
            iload 20 /* i */
            baload
            ifne 140
            iconst_0
            goto 141
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int org.hibernate.mapping.IndexedCollection int boolean[] boolean[] int int org.hibernate.mapping.Selectable org.hibernate.mapping.Column
      StackMap stack: boolean[] int
       140: iconst_1
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int org.hibernate.mapping.IndexedCollection int boolean[] boolean[] int int org.hibernate.mapping.Selectable org.hibernate.mapping.Column
      StackMap stack: boolean[] int int
       141: bastore
        end local 23 // org.hibernate.mapping.Column indexCol
       142: .line 406
      StackMap locals:
      StackMap stack:
            iinc 20 /* i */ 1
        end local 22 // org.hibernate.mapping.Selectable s
       143: .line 391
      StackMap locals:
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 128
       144: .line 408
            aload 0 /* this */
            iload 21 /* hasFormula */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexContainsFormula:Z
       145: .line 409
            aload 0 /* this */
            aload 16 /* indexedCollection */
            invokevirtual org.hibernate.mapping.IndexedCollection.isList:()Z
            ifeq 147
       146: .line 410
            aload 16 /* indexedCollection */
            checkcast org.hibernate.mapping.List
            invokevirtual org.hibernate.mapping.List.getBaseIndex:()I
            goto 148
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
       147: iconst_0
       148: .line 409
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int org.hibernate.mapping.IndexedCollection int boolean[] boolean[] int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister int
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.baseIndex:I
        end local 21 // boolean hasFormula
        end local 20 // int i
        end local 19 // boolean[] indexColumnUpdatability
        end local 18 // boolean[] indexColumnInsertability
        end local 17 // int indexSpan
        end local 16 // org.hibernate.mapping.IndexedCollection indexedCollection
       149: .line 411
            goto 159
       150: .line 413
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexContainsFormula:Z
       151: .line 414
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsGettable:[Z
       152: .line 415
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsSettable:[Z
       153: .line 416
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulaTemplates:[Ljava/lang/String;
       154: .line 417
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
       155: .line 418
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexType:Lorg/hibernate/type/Type;
       156: .line 419
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnNames:[Ljava/lang/String;
       157: .line 420
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnAliases:[Ljava/lang/String;
       158: .line 421
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.baseIndex:I
       159: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isIdentified:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
       160: .line 425
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 177
       161: .line 426
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isOneToMany:()Z
            ifeq 163
       162: .line 427
            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
       163: .line 429
      StackMap locals:
      StackMap stack:
            aload 1 /* collectionBinding */
            checkcast org.hibernate.mapping.IdentifierCollection
            astore 16 /* idColl */
        start local 16 // org.hibernate.mapping.IdentifierCollection idColl
       164: .line 430
            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;
       165: .line 431
            aload 16 /* idColl */
            invokevirtual org.hibernate.mapping.IdentifierCollection.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnIterator:()Ljava/util/Iterator;
            astore 8 /* iter */
       166: .line 432
            aload 8 /* 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
       167: .line 433
            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;
       168: .line 434
            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;
       169: .line 436
            aload 0 /* this */
            aload 16 /* idColl */
            invokevirtual org.hibernate.mapping.IdentifierCollection.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
       170: .line 437
            aload 3 /* creationContext */
            invokeinterface org.hibernate.persister.spi.PersisterCreationContext.getMetadata:()Lorg/hibernate/boot/spi/MetadataImplementor;
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getIdentifierGeneratorFactory:()Lorg/hibernate/id/factory/IdentifierGeneratorFactory;
       171: .line 438
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
       172: .line 439
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
       173: .line 440
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
       174: .line 441
            aconst_null
       175: .line 436
            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
       176: .line 443
            goto 181
       177: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierType:Lorg/hibernate/type/Type;
       178: .line 446
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnName:Ljava/lang/String;
       179: .line 447
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnAlias:Ljava/lang/String;
       180: .line 449
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierGenerator:Lorg/hibernate/id/IdentifierGenerator;
       181: .line 457
      StackMap locals:
      StackMap stack:
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLInsert:()Ljava/lang/String;
            ifnonnull 186
       182: .line 458
            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;
       183: .line 459
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.insertCallable:Z
       184: .line 460
            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;
       185: .line 461
            goto 192
       186: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLInsert:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlInsertRowString:Ljava/lang/String;
       187: .line 464
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isCustomInsertCallable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.insertCallable:Z
       188: .line 465
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLInsertCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            ifnonnull 190
       189: .line 466
            aload 1 /* collectionBinding */
            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 191
       190: .line 467
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLInsertCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       191: .line 465
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int 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;
       192: .line 470
      StackMap locals:
      StackMap stack:
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLUpdate:()Ljava/lang/String;
            ifnonnull 197
       193: .line 471
            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;
       194: .line 472
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.updateCallable:Z
       195: .line 473
            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;
       196: .line 474
            goto 203
       197: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLUpdate:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlUpdateRowString:Ljava/lang/String;
       198: .line 477
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isCustomUpdateCallable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.updateCallable:Z
       199: .line 478
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLUpdateCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            ifnonnull 201
       200: .line 479
            aload 1 /* collectionBinding */
            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 202
       201: .line 480
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLUpdateCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
       202: .line 478
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int 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;
       203: .line 483
      StackMap locals:
      StackMap stack:
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLDelete:()Ljava/lang/String;
            ifnonnull 208
       204: .line 484
            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;
       205: .line 485
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteCallable:Z
       206: .line 486
            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;
       207: .line 487
            goto 211
       208: .line 489
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLDelete:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDeleteRowString:Ljava/lang/String;
       209: .line 490
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isCustomDeleteCallable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteCallable:Z
       210: .line 491
            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;
       211: .line 494
      StackMap locals:
      StackMap stack:
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLDeleteAll:()Ljava/lang/String;
            ifnonnull 216
       212: .line 495
            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;
       213: .line 496
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteAllCallable:Z
       214: .line 497
            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;
       215: .line 498
            goto 219
       216: .line 500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getCustomSQLDeleteAll:()Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlDeleteString:Ljava/lang/String;
       217: .line 501
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isCustomDeleteAllCallable:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteAllCallable:Z
       218: .line 502
            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;
       219: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isIndexed:()Z
            ifeq 220
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isMap:()Z
            ifne 220
            iconst_1
            goto 221
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.persister.collection.AbstractCollectionPersister
       220: iconst_0
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.persister.collection.AbstractCollectionPersister int
       221: invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.generateSelectSizeString:(Z)Ljava/lang/String;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlSelectSizeString:Ljava/lang/String;
       222: .line 506
            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;
       223: .line 507
            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;
       224: .line 508
            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;
       225: .line 510
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.logStaticSQL:()V
       226: .line 512
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isLazy:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isLazy:Z
       227: .line 513
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isExtraLazy:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isExtraLazy:Z
       228: .line 515
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isInverse:()Z
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
       229: .line 517
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.isArray:()Z
            ifeq 232
       230: .line 518
            aload 0 /* this */
            aload 1 /* collectionBinding */
            checkcast org.hibernate.mapping.Array
            invokevirtual org.hibernate.mapping.Array.getElementClass:()Ljava/lang/Class;
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementClass:Ljava/lang/Class;
       231: .line 519
            goto 233
       232: .line 522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementClass:Ljava/lang/Class;
       233: .line 525
      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 243
       234: .line 526
            aload 0 /* this */
            new org.hibernate.persister.collection.CompositeElementPropertyMapping
            dup
       235: .line 527
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
       236: .line 528
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnReaders:[Ljava/lang/String;
       237: .line 529
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnReaderTemplates:[Ljava/lang/String;
       238: .line 530
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementFormulaTemplates:[Ljava/lang/String;
       239: .line 531
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementType:Lorg/hibernate/type/Type;
            checkcast org.hibernate.type.CompositeType
       240: .line 532
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            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
       241: .line 526
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPropertyMapping:Lorg/hibernate/persister/entity/PropertyMapping;
       242: .line 534
            goto 256
       243: .line 535
      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 249
       244: .line 536
            aload 0 /* this */
            new org.hibernate.persister.collection.ElementPropertyMapping
            dup
       245: .line 537
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
       246: .line 538
            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
       247: .line 536
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPropertyMapping:Lorg/hibernate/persister/entity/PropertyMapping;
       248: .line 540
            goto 256
       249: .line 542
      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 252
       250: .line 543
            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;
       251: .line 544
            goto 256
       252: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.hibernate.persister.collection.ElementPropertyMapping
            dup
       253: .line 547
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnNames:[Ljava/lang/String;
       254: .line 548
            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
       255: .line 546
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPropertyMapping:Lorg/hibernate/persister/entity/PropertyMapping;
       256: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getOrderBy:()Ljava/lang/String;
            ifnull 257
            iconst_1
            goto 258
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
       257: iconst_0
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister int
       258: putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasOrder:Z
       259: .line 554
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasOrder:Z
            ifeq 269
       260: .line 555
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Translating order-by fragment [%s] for collection role : %s"
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getOrderBy:()Ljava/lang/String;
            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;Ljava/lang/Object;)V
       261: .line 556
            aload 0 /* this */
       262: .line 557
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getOrderBy:()Ljava/lang/String;
       263: .line 558
            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
       264: .line 559
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
       265: .line 560
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
       266: .line 561
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSqlFunctionRegistry:()Lorg/hibernate/dialect/function/SQLFunctionRegistry;
       267: .line 556
            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;
       268: .line 563
            goto 270
       269: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.orderByTranslation:Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
       270: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.hibernate.internal.FilterHelper
            dup
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getFilters:()Ljava/util/List;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            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;
       271: .line 572
            aload 0 /* this */
            new org.hibernate.internal.FilterHelper
            dup
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getManyToManyFilters:()Ljava/util/List;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            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;
       272: .line 573
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getManyToManyWhere:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 274
       273: .line 574
            new java.lang.StringBuilder
            dup
            ldc "( "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* collectionBinding */
            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 275
       274: .line 575
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            aconst_null
       275: .line 573
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyWhereString:Ljava/lang/String;
       276: .line 576
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyWhereString:Ljava/lang/String;
            ifnonnull 278
       277: .line 577
            aconst_null
            goto 279
       278: .line 578
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyWhereString:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            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;
       279: .line 576
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister java.lang.String
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyWhereTemplate:Ljava/lang/String;
       280: .line 580
            aload 0 /* this */
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getManyToManyOrdering:()Ljava/lang/String;
            ifnull 281
            iconst_1
            goto 282
      StackMap locals:
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister
       281: iconst_0
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.mapping.Collection org.hibernate.cache.spi.access.CollectionDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.mapping.Table int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.persister.collection.AbstractCollectionPersister int
       282: putfield org.hibernate.persister.collection.AbstractCollectionPersister.hasManyToManyOrder:Z
       283: .line 581
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasManyToManyOrder:Z
            ifeq 293
       284: .line 582
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Translating many-to-many order-by fragment [%s] for collection role : %s"
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getOrderBy:()Ljava/lang/String;
            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;Ljava/lang/Object;)V
       285: .line 583
            aload 0 /* this */
       286: .line 584
            aload 1 /* collectionBinding */
            invokevirtual org.hibernate.mapping.Collection.getManyToManyOrdering:()Ljava/lang/String;
       287: .line 585
            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 586
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
       289: .line 587
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.dialect:Lorg/hibernate/dialect/Dialect;
       290: .line 588
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.factory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSqlFunctionRegistry:()Lorg/hibernate/dialect/function/SQLFunctionRegistry;
       291: .line 583
            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 590
            goto 294
       293: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyOrderByTranslation:Lorg/hibernate/sql/ordering/antlr/OrderByTranslation;
       294: .line 595
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.initCollectionPropertyMap:()V
       295: .line 596
            return
        end local 15 // int j
        end local 14 // boolean hasNotNullableColumns
        end local 13 // boolean isPureFormula
        end local 12 // int elementSpan
        end local 11 // int k
        end local 10 // int keySpan
        end local 9 // int batch
        end local 8 // java.util.Iterator iter
        end local 7 // int spacesSize
        end local 6 // org.hibernate.mapping.Table table
        end local 5 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        end local 4 // org.hibernate.boot.model.relational.Database database
        end local 3 // org.hibernate.persister.spi.PersisterCreationContext creationContext
        end local 2 // org.hibernate.cache.spi.access.CollectionDataAccess cacheAccessStrategy
        end local 1 // org.hibernate.mapping.Collection collectionBinding
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0  296     0                      this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0  296     1         collectionBinding  Lorg/hibernate/mapping/Collection;
            0  296     2       cacheAccessStrategy  Lorg/hibernate/cache/spi/access/CollectionDataAccess;
            0  296     3           creationContext  Lorg/hibernate/persister/spi/PersisterCreationContext;
            4  296     4                  database  Lorg/hibernate/boot/model/relational/Database;
            5  296     5           jdbcEnvironment  Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
           24  296     6                     table  Lorg/hibernate/mapping/Table;
           31  296     7                spacesSize  I
           34  296     8                      iter  Ljava/util/Iterator;
           35   39     9                         i  I
           51  296     9                     batch  I
           58  296    10                   keySpan  I
           61  296    11                         k  I
           63   66    12                       col  Lorg/hibernate/mapping/Column;
           69   70    12                entityName  Ljava/lang/String;
           73  296    12               elementSpan  I
           83  296    13             isPureFormula  Z
           84  296    14     hasNotNullableColumns  Z
           85  296    15                         j  I
           88  107    16                selectable  Lorg/hibernate/mapping/Selectable;
           91   93    17                      form  Lorg/hibernate/mapping/Formula;
           95  106    17                       col  Lorg/hibernate/mapping/Column;
          114  149    16         indexedCollection  Lorg/hibernate/mapping/IndexedCollection;
          116  149    17                 indexSpan  I
          117  149    18  indexColumnInsertability  [Z
          118  149    19   indexColumnUpdatability  [Z
          126  149    20                         i  I
          127  149    21                hasFormula  Z
          129  143    22                         s  Lorg/hibernate/mapping/Selectable;
          132  135    23                 indexForm  Lorg/hibernate/mapping/Formula;
          137  142    23                  indexCol  Lorg/hibernate/mapping/Column;
          164  176    16                    idColl  Lorg/hibernate/mapping/IdentifierCollection;
          167  176    17                       col  Lorg/hibernate/mapping/Column;
    Exceptions:
      throws org.hibernate.MappingException, org.hibernate.cache.CacheException
    MethodParameters:
                     Name  Flags
      collectionBinding    
      cacheAccessStrategy  
      creationContext      

  protected java.lang.String determineTableName(org.hibernate.mapping.Table, org.hibernate.engine.jdbc.env.spi.JdbcEnvironment);
    descriptor: (Lorg/hibernate/mapping/Table;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;)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 // org.hibernate.mapping.Table table
        start local 2 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
         0: .line 599
            aload 1 /* table */
            invokevirtual org.hibernate.mapping.Table.getSubselect:()Ljava/lang/String;
            ifnull 2
         1: .line 600
            new java.lang.StringBuilder
            dup
            ldc "( "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* table */
            invokevirtual org.hibernate.mapping.Table.getSubselect:()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;
            areturn
         2: .line 603
      StackMap locals:
      StackMap stack:
            aload 2 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getQualifiedObjectNameFormatter:()Lorg/hibernate/engine/jdbc/env/spi/QualifiedObjectNameFormatter;
         3: .line 604
            aload 1 /* table */
            invokevirtual org.hibernate.mapping.Table.getQualifiedTableName:()Lorg/hibernate/boot/model/relational/QualifiedTableName;
         4: .line 605
            aload 2 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
         5: .line 603
            invokeinterface org.hibernate.engine.jdbc.env.spi.QualifiedObjectNameFormatter.format:(Lorg/hibernate/boot/model/relational/QualifiedTableName;Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            areturn
        end local 2 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        end local 1 // org.hibernate.mapping.Table table
        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            table  Lorg/hibernate/mapping/Table;
            0    6     2  jdbcEnvironment  Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
    MethodParameters:
                 Name  Flags
      table            
      jdbcEnvironment  

  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 656
            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 657
            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 659
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         4: .line 660
            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 666
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.queryLoaderName:Ljava/lang/String;
            ifnonnull 2
         1: .line 667
            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 668
      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 666
      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 669
            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 672
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 10
         1: .line 673
            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 674
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLInsertRowString:()Ljava/lang/String;
            ifnull 4
         3: .line 675
            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
         4: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLUpdateRowString:()Ljava/lang/String;
            ifnull 6
         5: .line 678
            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
         6: .line 680
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteRowString:()Ljava/lang/String;
            ifnull 8
         7: .line 681
            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
         8: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteString:()Ljava/lang/String;
            ifnull 10
         9: .line 684
            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
        10: .line 687
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;

  public void initialize(java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=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.SharedSessionContractImplementor session
         0: .line 691
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* session */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getAppropriateInitializer:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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/SharedSessionContractImplementor;)V
         1: .line 692
            return
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      key      
      session  

  protected org.hibernate.loader.collection.CollectionInitializer getAppropriateInitializer(java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 695
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.queryLoaderName:Ljava/lang/String;
            ifnull 2
         1: .line 698
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.initializer:Lorg/hibernate/loader/collection/CollectionInitializer;
            areturn
         2: .line 700
      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/SharedSessionContractImplementor;)Lorg/hibernate/loader/collection/CollectionInitializer;
            astore 3 /* subselectInitializer */
        start local 3 // org.hibernate.loader.collection.CollectionInitializer subselectInitializer
         3: .line 701
            aload 3 /* subselectInitializer */
            ifnull 5
         4: .line 702
            aload 3 /* subselectInitializer */
            areturn
         5: .line 704
      StackMap locals: org.hibernate.loader.collection.CollectionInitializer
      StackMap stack:
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            invokevirtual org.hibernate.engine.spi.LoadQueryInfluencers.getEnabledFilters:()Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 7
         6: .line 705
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.initializer:Lorg/hibernate/loader/collection/CollectionInitializer;
            areturn
         7: .line 708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.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.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
            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.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 714
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isSubselectLoadable:()Z
            ifne 2
         1: .line 715
            aconst_null
            areturn
         2: .line 718
      StackMap locals:
      StackMap stack:
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            astore 3 /* persistenceContext */
        start local 3 // org.hibernate.engine.spi.PersistenceContext persistenceContext
         3: .line 720
            aload 3 /* persistenceContext */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getBatchFetchQueue:()Lorg/hibernate/engine/spi/BatchFetchQueue;
         4: .line 721
            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.SharedSessionContractImplementor.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 720
            astore 4 /* subselect */
        start local 4 // org.hibernate.engine.spi.SubselectFetch subselect
         6: .line 723
            aload 4 /* subselect */
            ifnonnull 8
         7: .line 724
            aconst_null
            areturn
         8: .line 730
      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 731
            goto 12
        10: .line 732
      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 733
            aload 5 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        12: .line 731
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 738
            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/SharedSessionContractImplementor;)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.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
            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.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SubselectFetch;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.metamodel.model.domain.NavigableRole getNavigableRole();
    descriptor: ()Lorg/hibernate/metamodel/model/domain/NavigableRole;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 749
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.navigableRole:Lorg/hibernate/metamodel/model/domain/NavigableRole;
            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.access.CollectionDataAccess getCacheAccessStrategy();
    descriptor: ()Lorg/hibernate/cache/spi/access/CollectionDataAccess;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
         0: .line 754
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.cacheAccessStrategy:Lorg/hibernate/cache/spi/access/CollectionDataAccess;
            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 759
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.cacheAccessStrategy:Lorg/hibernate/cache/spi/access/CollectionDataAccess;
            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 764
            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 768
            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 773
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.hasOrdering:()Z
            ifeq 2
         1: .line 774
            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 775
      StackMap locals:
      StackMap stack:
            ldc ""
         3: .line 773
      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 780
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.hasManyToManyOrdering:()Z
            ifeq 2
         1: .line 781
            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 782
      StackMap locals:
      StackMap stack:
            ldc ""
         3: .line 780
      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 787
            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 792
            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 797
            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 802
            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 806
            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 810
            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 814
            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 818
            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 823
            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 828
            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 833
            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 841
            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.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/ResultSet;Ljava/lang/Object;[Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 847
            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/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    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.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 853
            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/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* index */
        start local 4 // java.lang.Object index
         1: .line 854
            aload 4 /* index */
            ifnonnull 3
         2: .line 855
            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.navigableRole:Lorg/hibernate/metamodel/model/domain/NavigableRole;
            invokevirtual org.hibernate.metamodel.model.domain.NavigableRole.getFullPath:()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 857
      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 858
            aload 4 /* index */
            areturn
        end local 4 // java.lang.Object index
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
            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 862
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.baseIndex:I
            ifeq 2
         1: .line 863
            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 865
      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.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/ResultSet;Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 871
            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/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* id */
        start local 4 // java.lang.Object id
         1: .line 872
            aload 4 /* id */
            ifnonnull 3
         2: .line 873
            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.navigableRole:Lorg/hibernate/metamodel/model/domain/NavigableRole;
            invokevirtual org.hibernate.metamodel.model.domain.NavigableRole.getFullPath:()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 875
      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.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
            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.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 889
            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.hydrate:(Ljava/sql/ResultSet;[Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* hydratedKey */
        start local 4 // java.lang.Object hydratedKey
         1: .line 890
            aload 4 /* hydratedKey */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getKeyType:()Lorg/hibernate/type/Type;
            aload 4 /* hydratedKey */
            aload 3 /* session */
            aconst_null
            invokeinterface org.hibernate.type.Type.resolve:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 4 // java.lang.Object hydratedKey
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor 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    4     0         this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0    4     1           rs  Ljava/sql/ResultSet;
            0    4     2      aliases  [Ljava/lang/String;
            0    4     3      session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1    4     4  hydratedKey  Ljava/lang/Object;
    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.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/io/Serializable;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 899
            aload 2 /* key */
            ifnonnull 2
         1: .line 900
            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.navigableRole:Lorg/hibernate/metamodel/model/domain/NavigableRole;
            invokevirtual org.hibernate.metamodel.model.domain.NavigableRole.getFullPath:()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 902
      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/SharedSessionContractImplementor;)V
         3: .line 903
            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.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    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.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 911
            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/SharedSessionContractImplementor;)V
         1: .line 912
            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.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    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.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 921
            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/SharedSessionContractImplementor;)V
         1: .line 922
            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.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    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 926
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.baseIndex:I
            ifeq 2
         1: .line 927
            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 929
      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.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 937
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementIsPureFormula:Z
            ifeq 2
         1: .line 938
            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 940
      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/SharedSessionContractImplementor;)V
         3: .line 941
            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.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    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.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 950
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexContainsFormula:Z
            ifeq 2
         1: .line 951
            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 953
      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/SharedSessionContractImplementor;)V
         3: .line 954
            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.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    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.SharedSessionContractImplementor);
    descriptor: (Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 963
            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/SharedSessionContractImplementor;)V
         1: .line 964
            iload 3 /* i */
            iconst_1
            iadd
            ireturn
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    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 969
            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 974
            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 979
            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 984
            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 989
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 2
         1: .line 990
            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 993
      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 999
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 2
         1: .line 1000
            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 1003
      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 1009
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 2
         1: .line 1010
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierColumnName:Ljava/lang/String;
            areturn
         2: .line 1013
      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 1022
            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 1023
            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 1024
            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 1025
            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 1027
            aload 3 /* frag */
            invokevirtual org.hibernate.sql.SelectFragment.toFragmentString:()Ljava/lang/String;
         5: .line 1028
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
         6: .line 1027
            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 1032
            iload 1 /* isIntegerIndexed */
            ifeq 2
         1: .line 1033
            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 1034
      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 1032
      StackMap locals:
      StackMap stack: java.lang.String
            astore 2 /* selectValue */
        start local 2 // java.lang.String selectValue
         4: .line 1035
            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 1036
            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 1037
            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 1038
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlWhereString:Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.addWhereToken:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         8: .line 1039
            aload 2 /* selectValue */
            invokevirtual org.hibernate.sql.SimpleSelect.addColumn:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         9: .line 1040
            invokevirtual org.hibernate.sql.SimpleSelect.toStatementString:()Ljava/lang/String;
        10: .line 1035
            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   11     0              this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   11     1  isIntegerIndexed  Z
            4   11     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 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 */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlWhereString:Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.addWhereToken:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         8: .line 1053
            ldc "1"
            invokevirtual org.hibernate.sql.SimpleSelect.addColumn:(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 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 1058
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:()Z
            ifne 2
         1: .line 1059
            aconst_null
            areturn
         2: .line 1061
      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 1062
            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 1063
            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 1064
            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 1065
            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 1066
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlWhereString:Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.addWhereToken:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         8: .line 1067
            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;
         9: .line 1068
            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;
        10: .line 1069
            invokevirtual org.hibernate.sql.SimpleSelect.toStatementString:()Ljava/lang/String;
        11: .line 1061
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     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 1073
            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 1074
            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 1075
            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 1076
            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 1077
            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 1078
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlWhereString:Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.addWhereToken:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         6: .line 1079
            ldc "1"
            invokevirtual org.hibernate.sql.SimpleSelect.addColumn:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         7: .line 1080
            invokevirtual org.hibernate.sql.SimpleSelect.toStatementString:()Ljava/lang/String;
         8: .line 1073
            areturn
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     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 1084
            new org.hibernate.sql.SelectFragment
            dup
            invokespecial org.hibernate.sql.SelectFragment.<init>:()V
         1: .line 1085
            aload 2 /* columnSuffix */
            invokevirtual org.hibernate.sql.SelectFragment.setSuffix:(Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
         2: .line 1086
            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 1084
            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 1090
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 7
         2: .line 1091
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementColumnIsSettable:[Z
            iload 3 /* i */
            baload
            ifeq 5
         3: .line 1092
            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 1093
            goto 6
         5: .line 1095
      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 1090
      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 1098
            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 1101
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 9
         1: .line 1102
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 1103
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexColumnIsGettable:[Z
            iload 3 /* i */
            baload
            ifeq 6
         4: .line 1104
            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 1105
            goto 7
         6: .line 1107
      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 1102
      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.indexColumnIsGettable:[Z
            arraylength
            if_icmplt 3
        end local 3 // int i
         9: .line 1111
      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 1114
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 2
         1: .line 1115
            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 1117
      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 1121
            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 1126
            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 1131
            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 1136
            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 1140
            aload 1 /* columnNames */
            arraylength
            istore 3 /* span */
        start local 3 // int span
         1: .line 1141
            iload 3 /* span */
            anewarray java.lang.String
            astore 4 /* result */
        start local 4 // java.lang.String[] result
         2: .line 1142
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 9
         4: .line 1143
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 1 /* columnNames */
            iload 5 /* i */
            aaload
            ifnonnull 7
         5: .line 1144
            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 1145
            goto 8
         7: .line 1147
      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 1142
      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 1150
            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 1155
            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 1160
            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 1165
            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 1170
            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 1175
            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 1180
            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.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1187
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
            ifne 60
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isRowDeleteEnabled:()Z
            ifeq 60
         1: .line 1189
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 5
         2: .line 1190
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Deleting collection: %s"
         3: .line 1191
            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 1190
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 1197
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* offset */
        start local 3 // int offset
         6: .line 1198
            aconst_null
            astore 4 /* st */
        start local 4 // java.sql.PreparedStatement st
         7: .line 1199
            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 1200
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isDeleteAllCallable:()Z
            istore 6 /* callable */
        start local 6 // boolean callable
         9: .line 1201
            aload 5 /* expectation */
            invokeinterface org.hibernate.jdbc.Expectation.canBeBatched:()Z
            istore 7 /* useBatch */
        start local 7 // boolean useBatch
        10: .line 1202
            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 1203
            iload 7 /* useBatch */
            ifeq 23
        12: .line 1204
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.removeBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
            ifnonnull 17
        13: .line 1205
            aload 0 /* this */
            new org.hibernate.engine.jdbc.batch.internal.BasicBatchKey
            dup
        14: .line 1206
            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 1207
            aload 5 /* expectation */
            invokespecial org.hibernate.engine.jdbc.batch.internal.BasicBatchKey.<init>:(Ljava/lang/String;Lorg/hibernate/jdbc/Expectation;)V
        16: .line 1205
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.removeBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
        17: .line 1210
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor int java.sql.PreparedStatement org.hibernate.jdbc.Expectation int int java.lang.String
      StackMap stack:
            aload 2 /* session */
        18: .line 1211
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        19: .line 1212
            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 1213
            aload 8 /* sql */
            iload 6 /* callable */
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.getBatchStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        21: .line 1210
            astore 4 /* st */
        22: .line 1214
            goto 28
        23: .line 1216
      StackMap locals:
      StackMap stack:
            aload 2 /* session */
        24: .line 1217
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        25: .line 1218
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
        26: .line 1219
            aload 8 /* sql */
            iload 6 /* callable */
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        27: .line 1216
            astore 4 /* st */
        28: .line 1223
      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 1225
            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/SharedSessionContractImplementor;)I
            pop
        30: .line 1226
            iload 7 /* useBatch */
            ifeq 36
        31: .line 1227
            aload 2 /* session */
        32: .line 1228
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        33: .line 1229
            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 1230
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.addToBatch:()V
        35: .line 1231
            goto 47
        36: .line 1233
      StackMap locals:
      StackMap stack:
            aload 5 /* expectation */
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            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 1235
            goto 47
        38: .line 1236
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 9 /* sqle */
        start local 9 // java.sql.SQLException sqle
        39: .line 1237
            iload 7 /* useBatch */
            ifeq 41
        40: .line 1238
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.abortBatch:()V
        41: .line 1240
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 9 /* sqle */
            athrow
        end local 9 // java.sql.SQLException sqle
        42: .line 1242
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor int java.sql.PreparedStatement org.hibernate.jdbc.Expectation int int java.lang.String
      StackMap stack: java.lang.Throwable
            astore 10
        43: .line 1243
            iload 7 /* useBatch */
            ifne 46
        44: .line 1244
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 4 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        45: .line 1245
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        46: .line 1247
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor int java.sql.PreparedStatement org.hibernate.jdbc.Expectation int int java.lang.String top java.lang.Throwable
      StackMap stack:
            aload 10
            athrow
        47: .line 1243
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor int java.sql.PreparedStatement org.hibernate.jdbc.Expectation int int java.lang.String
      StackMap stack:
            iload 7 /* useBatch */
            ifne 50
        48: .line 1244
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 4 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        49: .line 1245
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        50: .line 1249
      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
        51: .line 1250
            goto 60
        52: .line 1251
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor
      StackMap stack: java.sql.SQLException
            astore 3 /* sqle */
        start local 3 // java.sql.SQLException sqle
        53: .line 1252
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlExceptionHelper:Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        54: .line 1253
            aload 3 /* sqle */
        55: .line 1254
            new java.lang.StringBuilder
            dup
            ldc "could not delete collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        56: .line 1255
            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;
        57: .line 1254
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        58: .line 1256
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteString:()Ljava/lang/String;
        59: .line 1252
            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
        60: .line 1262
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   61     0         this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   61     1           id  Ljava/io/Serializable;
            0   61     2      session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            6   51     3       offset  I
            7   51     4           st  Ljava/sql/PreparedStatement;
            8   51     5  expectation  Lorg/hibernate/jdbc/Expectation;
            9   51     6     callable  Z
           10   51     7     useBatch  Z
           11   51     8          sql  Ljava/lang/String;
           39   42     9         sqle  Ljava/sql/SQLException;
           53   60     3         sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          28    37      38  Class java.sql.SQLException
          28    42      42  any
           5    51      52  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.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1270
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
            ifeq 2
         1: .line 1271
            return
         2: .line 1274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isRowInsertEnabled:()Z
            ifne 4
         3: .line 1275
            return
         4: .line 1279
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 9
         5: .line 1280
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         6: .line 1281
            ldc "Inserting collection: %s"
         7: .line 1282
            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/SharedSessionContractImplementor;)Ljava/lang/String;
         8: .line 1280
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 1288
      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
        10: .line 1289
            aload 4 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 73
        11: .line 1290
            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
        12: .line 1291
            aload 1 /* collection */
            aload 0 /* this */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.preInsert:(Lorg/hibernate/persister/collection/CollectionPersister;)V
        13: .line 1292
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: .line 1293
            iconst_0
            istore 7 /* count */
        start local 7 // int count
        15: .line 1294
            goto 70
        16: .line 1296
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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
        17: .line 1297
            aload 1 /* collection */
            aload 8 /* entry */
            iload 6 /* i */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.entryExists:(Ljava/lang/Object;I)Z
            ifeq 69
        18: .line 1298
            iconst_1
            istore 9 /* offset */
        start local 9 // int offset
        19: .line 1299
            aconst_null
            astore 10 /* st */
        start local 10 // java.sql.PreparedStatement st
        20: .line 1300
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isInsertCallable:()Z
            istore 11 /* callable */
        start local 11 // boolean callable
        21: .line 1301
            aload 5 /* expectation */
            invokeinterface org.hibernate.jdbc.Expectation.canBeBatched:()Z
            istore 12 /* useBatch */
        start local 12 // boolean useBatch
        22: .line 1302
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLInsertRowString:()Ljava/lang/String;
            astore 13 /* sql */
        start local 13 // java.lang.String sql
        23: .line 1304
            iload 12 /* useBatch */
            ifeq 35
        24: .line 1305
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.recreateBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
            ifnonnull 29
        25: .line 1306
            aload 0 /* this */
            new org.hibernate.engine.jdbc.batch.internal.BasicBatchKey
            dup
        26: .line 1307
            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;
        27: .line 1308
            aload 5 /* expectation */
            invokespecial org.hibernate.engine.jdbc.batch.internal.BasicBatchKey.<init>:(Ljava/lang/String;Lorg/hibernate/jdbc/Expectation;)V
        28: .line 1306
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.recreateBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
        29: .line 1311
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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 */
        30: .line 1312
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        31: .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;
        32: .line 1314
            aload 13 /* sql */
            iload 11 /* callable */
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.getBatchStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        33: .line 1311
            astore 10 /* st */
        34: .line 1315
            goto 40
        35: .line 1317
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
        36: .line 1318
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        37: .line 1319
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
        38: .line 1320
            aload 13 /* sql */
            iload 11 /* callable */
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        39: .line 1317
            astore 10 /* st */
        40: .line 1324
      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 */
        41: .line 1327
            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/SharedSessionContractImplementor;)I
            istore 14 /* loc */
        start local 14 // int loc
        42: .line 1328
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 44
        43: .line 1329
            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/SharedSessionContractImplementor;)I
            istore 14 /* loc */
        44: .line 1331
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 46
        45: .line 1332
            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/SharedSessionContractImplementor;)I
            istore 14 /* loc */
        46: .line 1334
      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/SharedSessionContractImplementor;)I
            istore 14 /* loc */
        47: .line 1336
            iload 12 /* useBatch */
            ifeq 53
        48: .line 1337
            aload 3 /* session */
        49: .line 1338
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        50: .line 1339
            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;
        51: .line 1340
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.addToBatch:()V
        52: .line 1341
            goto 54
        53: .line 1343
      StackMap locals:
      StackMap stack:
            aload 5 /* expectation */
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            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
        54: .line 1346
      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
        55: .line 1347
            iinc 7 /* count */ 1
        end local 14 // int loc
        56: .line 1348
            goto 66
        57: .line 1349
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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
        58: .line 1350
            iload 12 /* useBatch */
            ifeq 60
        59: .line 1351
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.abortBatch:()V
        60: .line 1353
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 14 /* sqle */
            athrow
        end local 14 // java.sql.SQLException sqle
        61: .line 1355
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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
        62: .line 1356
            iload 12 /* useBatch */
            ifne 65
        63: .line 1357
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 10 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        64: .line 1358
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        65: .line 1360
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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
        66: .line 1356
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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 69
        67: .line 1357
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 10 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        68: .line 1358
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        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
        69: .line 1363
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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
        70: .line 1294
      StackMap locals:
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        71: .line 1366
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done inserting collection: %s rows inserted"
            iload 7 /* count */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;I)V
        end local 7 // int count
        end local 6 // int i
        end local 5 // org.hibernate.jdbc.Expectation expectation
        72: .line 1368
            goto 83
        73: .line 1370
      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
        74: .line 1372
            goto 83
        75: .line 1373
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor
      StackMap stack: java.sql.SQLException
            astore 4 /* sqle */
        start local 4 // java.sql.SQLException sqle
        76: .line 1374
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlExceptionHelper:Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        77: .line 1375
            aload 4 /* sqle */
        78: .line 1376
            new java.lang.StringBuilder
            dup
            ldc "could not insert collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        79: .line 1377
            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/SharedSessionContractImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        80: .line 1376
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        81: .line 1378
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLInsertRowString:()Ljava/lang/String;
        82: .line 1374
            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
        83: .line 1381
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   84     0         this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   84     1   collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0   84     2           id  Ljava/io/Serializable;
            0   84     3      session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
           10   74     4      entries  Ljava/util/Iterator;
           12   72     5  expectation  Lorg/hibernate/jdbc/Expectation;
           14   72     6            i  I
           15   72     7        count  I
           17   70     8        entry  Ljava/lang/Object;
           19   69     9       offset  I
           20   69    10           st  Ljava/sql/PreparedStatement;
           21   69    11     callable  Z
           22   69    12     useBatch  Z
           23   69    13          sql  Ljava/lang/String;
           42   56    14          loc  I
           58   61    14         sqle  Ljava/sql/SQLException;
           76   83     4         sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          40    56      57  Class java.sql.SQLException
          40    61      61  any
           9    74      75  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 1384
            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.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1393
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
            ifeq 2
         1: .line 1394
            return
         2: .line 1397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isRowDeleteEnabled:()Z
            ifne 4
         3: .line 1398
            return
         4: .line 1401
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 9
         5: .line 1402
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         6: .line 1403
            ldc "Deleting rows of collection: %s"
         7: .line 1404
            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/SharedSessionContractImplementor;)Ljava/lang/String;
         8: .line 1402
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 1408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isOneToMany:()Z
            ifne 10
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 10
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexContainsFormula:Z
            ifne 10
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 4 /* deleteByIndex */
        start local 4 // boolean deleteByIndex
        12: .line 1409
            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
        13: .line 1412
            aload 1 /* collection */
            aload 0 /* this */
            iload 4 /* deleteByIndex */
            ifeq 14
            iconst_0
            goto 15
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.jdbc.Expectation
      StackMap stack: org.hibernate.collection.spi.PersistentCollection org.hibernate.persister.collection.AbstractCollectionPersister
        14: iconst_1
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.jdbc.Expectation
      StackMap stack: org.hibernate.collection.spi.PersistentCollection org.hibernate.persister.collection.AbstractCollectionPersister int
        15: 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
        16: .line 1413
            aload 6 /* deletes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 76
        17: .line 1414
            iconst_1
            istore 7 /* offset */
        start local 7 // int offset
        18: .line 1415
            iconst_0
            istore 8 /* count */
        start local 8 // int count
        19: .line 1416
            goto 74
        20: .line 1417
      StackMap locals: java.util.Iterator int int
      StackMap stack:
            aconst_null
            astore 9 /* st */
        start local 9 // java.sql.PreparedStatement st
        21: .line 1418
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isDeleteCallable:()Z
            istore 10 /* callable */
        start local 10 // boolean callable
        22: .line 1419
            aload 5 /* expectation */
            invokeinterface org.hibernate.jdbc.Expectation.canBeBatched:()Z
            istore 11 /* useBatch */
        start local 11 // boolean useBatch
        23: .line 1420
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteRowString:()Ljava/lang/String;
            astore 12 /* sql */
        start local 12 // java.lang.String sql
        24: .line 1422
            iload 11 /* useBatch */
            ifeq 36
        25: .line 1423
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
            ifnonnull 30
        26: .line 1424
            aload 0 /* this */
            new org.hibernate.engine.jdbc.batch.internal.BasicBatchKey
            dup
        27: .line 1425
            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;
        28: .line 1426
            aload 5 /* expectation */
            invokespecial org.hibernate.engine.jdbc.batch.internal.BasicBatchKey.<init>:(Ljava/lang/String;Lorg/hibernate/jdbc/Expectation;)V
        29: .line 1424
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.deleteBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
        30: .line 1429
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.jdbc.Expectation java.util.Iterator int int java.sql.PreparedStatement int int java.lang.String
      StackMap stack:
            aload 3 /* session */
        31: .line 1430
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        32: .line 1431
            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;
        33: .line 1432
            aload 12 /* sql */
            iload 10 /* callable */
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.getBatchStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        34: .line 1429
            astore 9 /* st */
        35: .line 1433
            goto 41
        36: .line 1435
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
        37: .line 1436
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        38: .line 1437
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
        39: .line 1438
            aload 12 /* sql */
            iload 10 /* callable */
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        40: .line 1435
            astore 9 /* st */
        41: .line 1442
      StackMap locals:
      StackMap stack:
            aload 5 /* expectation */
            aload 9 /* st */
            invokeinterface org.hibernate.jdbc.Expectation.prepare:(Ljava/sql/PreparedStatement;)I
            pop
        42: .line 1444
            aload 6 /* deletes */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 13 /* entry */
        start local 13 // java.lang.Object entry
        43: .line 1445
            iload 7 /* offset */
            istore 14 /* loc */
        start local 14 // int loc
        44: .line 1446
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 47
        45: .line 1447
            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/SharedSessionContractImplementor;)I
            pop
        46: .line 1448
            goto 52
        47: .line 1450
      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/SharedSessionContractImplementor;)I
            istore 14 /* loc */
        48: .line 1451
            iload 4 /* deleteByIndex */
            ifeq 51
        49: .line 1452
            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/SharedSessionContractImplementor;)I
            pop
        50: .line 1453
            goto 52
        51: .line 1455
      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/SharedSessionContractImplementor;)I
            pop
        52: .line 1459
      StackMap locals:
      StackMap stack:
            iload 11 /* useBatch */
            ifeq 58
        53: .line 1460
            aload 3 /* session */
        54: .line 1461
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        55: .line 1462
            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;
        56: .line 1463
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.addToBatch:()V
        57: .line 1464
            goto 59
        58: .line 1466
      StackMap locals:
      StackMap stack:
            aload 5 /* expectation */
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            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
        59: .line 1468
      StackMap locals:
      StackMap stack:
            iinc 8 /* count */ 1
        end local 14 // int loc
        end local 13 // java.lang.Object entry
        60: .line 1469
            goto 70
        61: .line 1470
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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
        62: .line 1471
            iload 11 /* useBatch */
            ifeq 64
        63: .line 1472
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.abortBatch:()V
        64: .line 1474
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 13 /* sqle */
            athrow
        end local 13 // java.sql.SQLException sqle
        65: .line 1476
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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
        66: .line 1477
            iload 11 /* useBatch */
            ifne 69
        67: .line 1478
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 9 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        68: .line 1479
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        69: .line 1481
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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
        70: .line 1477
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.jdbc.Expectation java.util.Iterator int int java.sql.PreparedStatement int int java.lang.String
      StackMap stack:
            iload 11 /* useBatch */
            ifne 73
        71: .line 1478
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 9 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        72: .line 1479
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        73: .line 1483
      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 */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;I)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
        74: .line 1416
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.jdbc.Expectation java.util.Iterator int int
      StackMap stack:
            aload 6 /* deletes */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        end local 8 // int count
        end local 7 // int offset
        75: .line 1485
            goto 86
        76: .line 1487
      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
        77: .line 1489
            goto 86
        78: .line 1490
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor int org.hibernate.jdbc.Expectation
      StackMap stack: java.sql.SQLException
            astore 6 /* sqle */
        start local 6 // java.sql.SQLException sqle
        79: .line 1491
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlExceptionHelper:Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        80: .line 1492
            aload 6 /* sqle */
        81: .line 1493
            new java.lang.StringBuilder
            dup
            ldc "could not delete collection rows: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        82: .line 1494
            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/SharedSessionContractImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        83: .line 1493
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        84: .line 1495
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLDeleteRowString:()Ljava/lang/String;
        85: .line 1491
            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
        86: .line 1498
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.hibernate.jdbc.Expectation expectation
        end local 4 // boolean deleteByIndex
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   87     0           this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   87     1     collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0   87     2             id  Ljava/io/Serializable;
            0   87     3        session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
           12   87     4  deleteByIndex  Z
           13   87     5    expectation  Lorg/hibernate/jdbc/Expectation;
           16   77     6        deletes  Ljava/util/Iterator;
           18   75     7         offset  I
           19   75     8          count  I
           21   74     9             st  Ljava/sql/PreparedStatement;
           22   74    10       callable  Z
           23   74    11       useBatch  Z
           24   74    12            sql  Ljava/lang/String;
           43   60    13          entry  Ljava/lang/Object;
           44   60    14            loc  I
           62   65    13           sqle  Ljava/sql/SQLException;
           79   86     6           sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          41    60      61  Class java.sql.SQLException
          41    65      65  any
          13    77      78  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 1501
            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.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1510
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.isInverse:Z
            ifeq 2
         1: .line 1511
            return
         2: .line 1514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isRowInsertEnabled:()Z
            ifne 4
         3: .line 1515
            return
         4: .line 1518
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 9
         5: .line 1519
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         6: .line 1520
            ldc "Inserting rows of collection: %s"
         7: .line 1521
            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/SharedSessionContractImplementor;)Ljava/lang/String;
         8: .line 1519
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 1527
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            aload 0 /* this */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.preInsert:(Lorg/hibernate/persister/collection/CollectionPersister;)V
        10: .line 1528
            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
        11: .line 1529
            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
        12: .line 1530
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.isInsertCallable:()Z
            istore 6 /* callable */
        start local 6 // boolean callable
        13: .line 1531
            aload 5 /* expectation */
            invokeinterface org.hibernate.jdbc.Expectation.canBeBatched:()Z
            istore 7 /* useBatch */
        start local 7 // boolean useBatch
        14: .line 1532
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLInsertRowString:()Ljava/lang/String;
            astore 8 /* sql */
        start local 8 // java.lang.String sql
        15: .line 1533
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        16: .line 1534
            iconst_0
            istore 10 /* count */
        start local 10 // int count
        17: .line 1535
            goto 67
        18: .line 1536
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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
        19: .line 1537
            aload 4 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 12 /* entry */
        start local 12 // java.lang.Object entry
        20: .line 1538
            aconst_null
            astore 13 /* st */
        start local 13 // java.sql.PreparedStatement st
        21: .line 1539
            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 66
        22: .line 1541
            iload 7 /* useBatch */
            ifeq 35
        23: .line 1542
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.insertBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
            ifnonnull 28
        24: .line 1543
            aload 0 /* this */
            new org.hibernate.engine.jdbc.batch.internal.BasicBatchKey
            dup
        25: .line 1544
            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;
        26: .line 1545
            aload 5 /* expectation */
            invokespecial org.hibernate.engine.jdbc.batch.internal.BasicBatchKey.<init>:(Ljava/lang/String;Lorg/hibernate/jdbc/Expectation;)V
        27: .line 1543
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.insertBatchKey:Lorg/hibernate/engine/jdbc/batch/internal/BasicBatchKey;
        28: .line 1548
      StackMap locals: int java.lang.Object java.sql.PreparedStatement
      StackMap stack:
            aload 13 /* st */
            ifnonnull 40
        29: .line 1549
            aload 3 /* session */
        30: .line 1550
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        31: .line 1551
            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;
        32: .line 1552
            aload 8 /* sql */
            iload 6 /* callable */
            invokeinterface org.hibernate.engine.jdbc.batch.spi.Batch.getBatchStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        33: .line 1549
            astore 13 /* st */
        34: .line 1554
            goto 40
        35: .line 1556
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
        36: .line 1557
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
        37: .line 1558
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
        38: .line 1559
            aload 8 /* sql */
            iload 6 /* callable */
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;Z)Ljava/sql/PreparedStatement;
        39: .line 1556
            astore 13 /* st */
        40: .line 1563
      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 */
        41: .line 1565
            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/SharedSessionContractImplementor;)I
            istore 11 /* offset */
        42: .line 1566
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 44
        43: .line 1567
            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/SharedSessionContractImplementor;)I
            istore 11 /* offset */
        44: .line 1569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 46
        45: .line 1570
            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/SharedSessionContractImplementor;)I
            istore 11 /* offset */
        46: .line 1572
      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/SharedSessionContractImplementor;)I
            pop
        47: .line 1574
            iload 7 /* useBatch */
            ifeq 50
        48: .line 1575
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.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
        49: .line 1576
            goto 51
        50: .line 1578
      StackMap locals:
      StackMap stack:
            aload 5 /* expectation */
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            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
        51: .line 1580
      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
        52: .line 1581
            iinc 10 /* count */ 1
        53: .line 1582
            goto 63
        54: .line 1583
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 14 /* sqle */
        start local 14 // java.sql.SQLException sqle
        55: .line 1584
            iload 7 /* useBatch */
            ifeq 57
        56: .line 1585
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.abortBatch:()V
        57: .line 1587
      StackMap locals: java.sql.SQLException
      StackMap stack:
            aload 14 /* sqle */
            athrow
        end local 14 // java.sql.SQLException sqle
        58: .line 1589
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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
        59: .line 1590
            iload 7 /* useBatch */
            ifne 62
        60: .line 1591
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 13 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        61: .line 1592
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        62: .line 1594
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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
        63: .line 1590
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor 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 66
        64: .line 1591
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 13 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        65: .line 1592
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        66: .line 1596
      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
        67: .line 1535
      StackMap locals:
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        68: .line 1598
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done inserting rows: %s inserted"
            iload 10 /* count */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;I)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
        69: .line 1599
            goto 78
        70: .line 1600
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister org.hibernate.collection.spi.PersistentCollection java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor
      StackMap stack: java.sql.SQLException
            astore 4 /* sqle */
        start local 4 // java.sql.SQLException sqle
        71: .line 1601
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlExceptionHelper:Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        72: .line 1602
            aload 4 /* sqle */
        73: .line 1603
            new java.lang.StringBuilder
            dup
            ldc "could not insert collection rows: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        74: .line 1604
            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/SharedSessionContractImplementor;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        75: .line 1603
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        76: .line 1605
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLInsertRowString:()Ljava/lang/String;
        77: .line 1601
            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
        78: .line 1608
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.persister.collection.AbstractCollectionPersister this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   79     0         this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   79     1   collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0   79     2           id  Ljava/io/Serializable;
            0   79     3      session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
           11   69     4      entries  Ljava/util/Iterator;
           12   69     5  expectation  Lorg/hibernate/jdbc/Expectation;
           13   69     6     callable  Z
           14   69     7     useBatch  Z
           15   69     8          sql  Ljava/lang/String;
           16   69     9            i  I
           17   69    10        count  I
           19   67    11       offset  I
           20   67    12        entry  Ljava/lang/Object;
           21   67    13           st  Ljava/sql/PreparedStatement;
           55   58    14         sqle  Ljava/sql/SQLException;
           71   78     4         sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          40    53      54  Class java.sql.SQLException
          40    58      58  any
           9    69      70  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 1612
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.navigableRole:Lorg/hibernate/metamodel/model/domain/NavigableRole;
            invokevirtual org.hibernate.metamodel.model.domain.NavigableRole.getFullPath:()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 1616
            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 1621
            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 1626
            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 1631
            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 1636
            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 1641
            ldc "index"
            aload 1 /* propertyName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1642
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexType:Lorg/hibernate/type/Type;
            areturn
         2: .line 1644
      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 1652
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* buffer */
        start local 3 // java.lang.StringBuilder buffer
         1: .line 1653
            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 1655
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.manyToManyWhereString:Ljava/lang/String;
            ifnull 5
         3: .line 1656
            aload 3 /* buffer */
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 1657
            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 1660
      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 1665
            ldc "index"
            aload 2 /* propertyName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1666
            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 1668
      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 1675
            ldc "index"
            aload 1 /* propertyName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         1: .line 1676
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFragments:[Ljava/lang/String;
            ifnonnull 12
         2: .line 1677
            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 1678
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 11
         5: .line 1679
      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 1680
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFormulas:[Ljava/lang/String;
            iload 3 /* i */
            aaload
            goto 8
         7: .line 1681
      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 1679
      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 1682
            aload 0 /* this */
            aload 2 /* tmp */
            putfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFragments:[Ljava/lang/String;
        10: .line 1678
            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 1685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.indexFragments:[Ljava/lang/String;
            areturn
        13: .line 1688
      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 1693
            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 1698
            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 1703
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.elementPersister:Lorg/hibernate/persister/entity/EntityPersister;
            ifnonnull 2
         1: .line 1704
            new org.hibernate.AssertionFailure
            dup
            ldc "not an association"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1706
      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 1711
            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 1716
            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.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1731
            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 1733
            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.navigableRole:Lorg/hibernate/metamodel/model/domain/NavigableRole;
            invokevirtual org.hibernate.metamodel.model.domain.NavigableRole.getFullPath:()Ljava/lang/String;
            aload 2 /* id */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 1736
            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/SharedSessionContractImplementor;)I
            istore 4 /* count */
        start local 4 // int count
         3: .line 1738
            getstatic org.hibernate.persister.collection.AbstractCollectionPersister.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Done updating rows: %s updated"
            iload 4 /* count */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;I)V
        end local 4 // int count
         4: .line 1740
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.persister.collection.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/SharedSessionContractImplementor;
            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.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1748
            aload 1 /* collection */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.hasQueuedOperations:()Z
            ifeq 2
         1: .line 1749
            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/SharedSessionContractImplementor;)V
         2: .line 1751
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    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.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;ILorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1768
            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/SharedSessionContractImplementor;)V
         1: .line 1769
            return
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    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.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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 1776
            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 1781
            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 1785
            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 1789
            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 1794
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sessionFilterFragment */
        start local 3 // java.lang.StringBuilder sessionFilterFragment
         1: .line 1795
            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 1797
            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 1805
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sessionFilterFragment */
        start local 4 // java.lang.StringBuilder sessionFilterFragment
         1: .line 1806
            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 1808
            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 1813
            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 1818
            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 1822
            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 1826
            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 1830
            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 1834
            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 1838
            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 1842
            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 1846
            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 1850
            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 1855
            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.navigableRole:Lorg/hibernate/metamodel/model/domain/NavigableRole;
            invokevirtual org.hibernate.metamodel.model.domain.NavigableRole.getFullPath:()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 1860
            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;

  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 1865
            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 1870
            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 1875
            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.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1880
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.filterHelper:Lorg/hibernate/internal/FilterHelper;
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            invokevirtual org.hibernate.engine.spi.LoadQueryInfluencers.getEnabledFilters:()Ljava/util/Map;
            invokevirtual org.hibernate.internal.FilterHelper.isAffectedBy:(Ljava/util/Map;)Z
            ifne 3
         1: .line 1881
            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.SharedSessionContractImplementor.getLoadQueryInfluencers:()Lorg/hibernate/engine/spi/LoadQueryInfluencers;
            invokevirtual org.hibernate.engine.spi.LoadQueryInfluencers.getEnabledFilters:()Ljava/util/Map;
            invokevirtual org.hibernate.internal.FilterHelper.isAffectedBy:(Ljava/util/Map;)Z
            ifne 3
         2: .line 1880
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    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 1885
            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 1890
            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 1895
            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 1897
            aload 3 /* rawAliases */
            ifnonnull 3
         2: .line 1898
            aconst_null
            areturn
         3: .line 1901
      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 1902
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 8
         6: .line 1903
      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 1902
            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 1905
            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 1911
            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 1912
            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 1913
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:Z
            ifeq 4
         3: .line 1914
            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 1916
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.hasIdentifier:Z
            ifeq 11
         5: .line 1917
            aload 0 /* this */
         6: .line 1918
            ldc "id"
         7: .line 1919
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.identifierType:Lorg/hibernate/type/Type;
         8: .line 1920
            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 1921
            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 1917
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.initCollectionPropertyMap:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;)V
        11: .line 1923
      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 1927
            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 1928
            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 1930
            aload 2 /* type */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 12
         3: .line 1931
            aload 2 /* type */
            checkcast org.hibernate.type.CompositeType
            astore 5 /* ct */
        start local 5 // org.hibernate.type.CompositeType ct
         4: .line 1932
            aload 5 /* ct */
            invokeinterface org.hibernate.type.CompositeType.getPropertyNames:()[Ljava/lang/String;
            astore 6 /* propertyNames */
        start local 6 // java.lang.String[] propertyNames
         5: .line 1933
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 11
         7: .line 1934
      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 1935
            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 1936
            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 1933
            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 1940
      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.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1945
            aload 2 /* session */
         1: .line 1946
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
         2: .line 1947
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
         3: .line 1948
            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 1945
            astore 3 /* st */
        start local 3 // java.sql.PreparedStatement st
         5: .line 1950
            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/SharedSessionContractImplementor;)V
         6: .line 1951
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            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 1953
            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 1956
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 4 /* rs */
            aload 3 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        11: .line 1960
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 3 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        12: .line 1961
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        13: .line 1953
            iload 6
            ireturn
        14: .line 1955
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        15: .line 1956
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 4 /* rs */
            aload 3 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        16: .line 1957
            aload 5
            athrow
        end local 4 // java.sql.ResultSet rs
        17: .line 1959
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
            astore 7
        18: .line 1960
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 3 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        19: .line 1961
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        20: .line 1962
            aload 7
            athrow
        end local 3 // java.sql.PreparedStatement st
        21: .line 1964
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable org.hibernate.engine.spi.SharedSessionContractImplementor
      StackMap stack: java.sql.SQLException
            astore 3 /* sqle */
        start local 3 // java.sql.SQLException sqle
        22: .line 1965
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        23: .line 1966
            aload 3 /* sqle */
        24: .line 1967
            new java.lang.StringBuilder
            dup
            ldc "could not retrieve collection size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 1968
            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 1967
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1969
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlSelectSizeString:Ljava/lang/String;
        28: .line 1965
            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.SharedSessionContractImplementor session
        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  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            5   21     3       st  Ljava/sql/PreparedStatement;
            7   17     4       rs  Ljava/sql/ResultSet;
           22   29     3     sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           7    10      14  any
           5    11      17  any
          14    17      17  any
           0    13      21  Class java.sql.SQLException
          14    21      21  Class java.sql.SQLException
    MethodParameters:
         Name  Flags
      key      
      session  

  public boolean indexExists(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1976
            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/SharedSessionContractImplementor;)Z
            ireturn
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    MethodParameters:
         Name  Flags
      key      
      index    
      session  

  public boolean elementExists(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1981
            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/SharedSessionContractImplementor;)Z
            ireturn
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor 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/SharedSessionContractImplementor;
    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.SharedSessionContractImplementor);
    descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/type/Type;Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)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.SharedSessionContractImplementor session
         0: .line 1986
            aload 5 /* session */
         1: .line 1987
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
         2: .line 1988
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
         3: .line 1989
            aload 4 /* sql */
            invokeinterface org.hibernate.engine.jdbc.spi.StatementPreparer.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
         4: .line 1986
            astore 6 /* st */
        start local 6 // java.sql.PreparedStatement st
         5: .line 1991
            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/SharedSessionContractImplementor;)V
         6: .line 1992
            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/SharedSessionContractImplementor;)V
         7: .line 1993
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            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 1995
            aload 7 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            istore 9
         9: .line 1998
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 7 /* rs */
            aload 6 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        10: .line 2005
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 6 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        11: .line 2006
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        12: .line 1995
            iload 9
            ireturn
        13: .line 1997
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable java.lang.Object org.hibernate.type.Type java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor java.sql.PreparedStatement java.sql.ResultSet
      StackMap stack: java.lang.Throwable
            astore 8
        14: .line 1998
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 7 /* rs */
            aload 6 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        15: .line 1999
            aload 8
            athrow
        end local 7 // java.sql.ResultSet rs
        16: .line 2001
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable java.lang.Object org.hibernate.type.Type java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor java.sql.PreparedStatement
      StackMap stack: org.hibernate.TransientObjectException
            pop
        17: .line 2005
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 6 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        18: .line 2006
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        19: .line 2002
            iconst_0
            ireturn
        20: .line 2004
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
        21: .line 2005
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 6 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        22: .line 2006
            aload 5 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        23: .line 2007
            aload 10
            athrow
        end local 6 // java.sql.PreparedStatement st
        24: .line 2009
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable java.lang.Object org.hibernate.type.Type java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor
      StackMap stack: java.sql.SQLException
            astore 6 /* sqle */
        start local 6 // java.sql.SQLException sqle
        25: .line 2010
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        26: .line 2011
            aload 6 /* sqle */
        27: .line 2012
            new java.lang.StringBuilder
            dup
            ldc "could not check row existence: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        28: .line 2013
            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;
        29: .line 2012
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 2014
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlSelectSizeString:Ljava/lang/String;
        31: .line 2010
            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.SharedSessionContractImplementor 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   32     0                this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   32     1                 key  Ljava/io/Serializable;
            0   32     2      indexOrElement  Ljava/lang/Object;
            0   32     3  indexOrElementType  Lorg/hibernate/type/Type;
            0   32     4                 sql  Ljava/lang/String;
            0   32     5             session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            5   24     6                  st  Ljava/sql/PreparedStatement;
            8   16     7                  rs  Ljava/sql/ResultSet;
           25   32     6                sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           8     9      13  any
           5    10      16  Class org.hibernate.TransientObjectException
          13    16      16  Class org.hibernate.TransientObjectException
           5    10      20  any
          13    17      20  any
           0    12      24  Class java.sql.SQLException
          13    19      24  Class java.sql.SQLException
          20    24      24  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.SharedSessionContractImplementor, java.lang.Object);
    descriptor: (Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;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.SharedSessionContractImplementor session
        start local 4 // java.lang.Object owner
         0: .line 2022
            aload 3 /* session */
         1: .line 2023
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
         2: .line 2024
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getStatementPreparer:()Lorg/hibernate/engine/jdbc/spi/StatementPreparer;
         3: .line 2025
            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 2022
            astore 5 /* st */
        start local 5 // java.sql.PreparedStatement st
         5: .line 2027
            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/SharedSessionContractImplementor;)V
         6: .line 2028
            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/SharedSessionContractImplementor;)V
         7: .line 2029
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResultSetReturn:()Lorg/hibernate/engine/jdbc/spi/ResultSetReturn;
            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 2031
            aload 6 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifeq 14
         9: .line 2032
            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/SharedSessionContractImplementor;Ljava/lang/Object;)Ljava/lang/Object;
            astore 8
        10: .line 2039
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 6 /* rs */
            aload 5 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        11: .line 2043
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 5 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        12: .line 2044
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        13: .line 2032
            aload 8
            areturn
        14: .line 2039
      StackMap locals: java.sql.PreparedStatement java.sql.ResultSet
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 6 /* rs */
            aload 5 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        15: .line 2043
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 5 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        16: .line 2044
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        17: .line 2035
            aconst_null
            areturn
        18: .line 2038
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        19: .line 2039
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 6 /* rs */
            aload 5 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/ResultSet;Ljava/sql/Statement;)V
        20: .line 2040
            aload 7
            athrow
        end local 6 // java.sql.ResultSet rs
        21: .line 2042
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor java.lang.Object java.sql.PreparedStatement
      StackMap stack: java.lang.Throwable
            astore 9
        22: .line 2043
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.getResourceRegistry:()Lorg/hibernate/resource/jdbc/ResourceRegistry;
            aload 5 /* st */
            invokeinterface org.hibernate.resource.jdbc.ResourceRegistry.release:(Ljava/sql/Statement;)V
        23: .line 2044
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.afterStatementExecution:()V
        24: .line 2045
            aload 9
            athrow
        end local 5 // java.sql.PreparedStatement st
        25: .line 2047
      StackMap locals: org.hibernate.persister.collection.AbstractCollectionPersister java.io.Serializable java.lang.Object org.hibernate.engine.spi.SharedSessionContractImplementor java.lang.Object
      StackMap stack: java.sql.SQLException
            astore 5 /* sqle */
        start local 5 // java.sql.SQLException sqle
        26: .line 2048
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.getSQLExceptionHelper:()Lorg/hibernate/engine/jdbc/spi/SqlExceptionHelper;
        27: .line 2049
            aload 5 /* sqle */
        28: .line 2050
            new java.lang.StringBuilder
            dup
            ldc "could not read row: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 2051
            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;
        30: .line 2050
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 2052
            aload 0 /* this */
            getfield org.hibernate.persister.collection.AbstractCollectionPersister.sqlSelectSizeString:Ljava/lang/String;
        32: .line 2048
            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.SharedSessionContractImplementor 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   33     0     this  Lorg/hibernate/persister/collection/AbstractCollectionPersister;
            0   33     1      key  Ljava/io/Serializable;
            0   33     2    index  Ljava/lang/Object;
            0   33     3  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            0   33     4    owner  Ljava/lang/Object;
            5   25     5       st  Ljava/sql/PreparedStatement;
            8   21     6       rs  Ljava/sql/ResultSet;
           26   33     5     sqle  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           8    10      18  any
           5    11      21  any
          14    15      21  any
          18    21      21  any
           0    13      25  Class java.sql.SQLException
          14    17      25  Class java.sql.SQLException
          18    25      25  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 2059
            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 2063
            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 2073
            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 2078
            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 2083
            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 2111
            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 2116
            aload 0 /* this */
            invokevirtual org.hibernate.persister.collection.AbstractCollectionPersister.hasIndex:()Z
            ifne 2
         1: .line 2117
            aconst_null
            areturn
         2: .line 2120
      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 2191
            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