public abstract class org.hibernate.collection.internal.AbstractPersistentCollection implements java.io.Serializable, org.hibernate.collection.spi.PersistentCollection
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.collection.internal.AbstractPersistentCollection
  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 transient org.hibernate.engine.spi.SharedSessionContractImplementor session;
    descriptor: Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private boolean isTempSession;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean initialized;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private transient java.util.List<org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation> operationQueue;
    descriptor: Ljava/util/List;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/List<Lorg/hibernate/collection/internal/AbstractPersistentCollection$DelayedOperation;>;

  private transient boolean directlyAccessible;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient boolean initializing;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private java.lang.Object owner;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private int cachedSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  private java.io.Serializable key;
    descriptor: Ljava/io/Serializable;
    flags: (0x0002) ACC_PRIVATE

  private boolean dirty;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  protected boolean elementRemoved;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  private java.io.Serializable storedSnapshot;
    descriptor: Ljava/io/Serializable;
    flags: (0x0002) ACC_PRIVATE

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

  private boolean allowLoadOutsideTransaction;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  protected static final java.lang.Object UNKNOWN;
    descriptor: Ljava/lang/Object;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 56
            ldc Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
            putstatic org.hibernate.collection.internal.AbstractPersistentCollection.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 344
            new org.hibernate.internal.util.MarkerObject
            dup
            ldc "UNKNOWN"
            invokespecial org.hibernate.internal.util.MarkerObject.<init>:(Ljava/lang/String;)V
            putstatic org.hibernate.collection.internal.AbstractPersistentCollection.UNKNOWN:Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.isTempSession:Z
         2: .line 65
            aload 0 /* this */
            iconst_m1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.cachedSize:I
         3: .line 83
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  protected void <init>(org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 85
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.isTempSession:Z
         2: .line 65
            aload 0 /* this */
            iconst_m1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.cachedSize:I
         3: .line 86
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
         4: .line 87
            return
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    5     1  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    MethodParameters:
         Name  Flags
      session  

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

  public final java.io.Serializable getKey();
    descriptor: ()Ljava/io/Serializable;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 96
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.key:Ljava/io/Serializable;
            areturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public final boolean isUnreferenced();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 101
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.role:Ljava/lang/String;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public final boolean isDirty();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 106
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.dirty:Z
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

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

  public final void clearDirty();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 116
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.dirty:Z
         1: .line 117
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.elementRemoved:Z
         2: .line 118
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public final void dirty();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 122
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.dirty:Z
         1: .line 123
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public final java.io.Serializable getStoredSnapshot();
    descriptor: ()Ljava/io/Serializable;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 127
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.storedSnapshot:Ljava/io/Serializable;
            areturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

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

  protected final void read();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 139
            aload 0 /* this */
            iconst_0
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.initialize:(Z)V
         1: .line 140
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  protected boolean readSize();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 147
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 8
         1: .line 148
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.cachedSize:I
            iconst_m1
            if_icmpeq 3
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.hasQueuedOperations:()Z
            ifne 3
         2: .line 149
            iconst_1
            ireturn
         3: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         4: .line 153
            new org.hibernate.collection.internal.AbstractPersistentCollection$1
            dup
            aload 0 /* this */
            invokespecial org.hibernate.collection.internal.AbstractPersistentCollection$1.<init>:(Lorg/hibernate/collection/internal/AbstractPersistentCollection;)V
         5: .line 152
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded:(Lorg/hibernate/collection/internal/AbstractPersistentCollection$LazyInitializationWork;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 1 /* isExtraLazy */
        start local 1 // boolean isExtraLazy
         6: .line 178
            iload 1 /* isExtraLazy */
            ifeq 8
         7: .line 179
            iconst_1
            ireturn
        end local 1 // boolean isExtraLazy
         8: .line 183
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            6    8     1  isExtraLazy  Z

  private <T> T withTemporarySessionIfNeeded(org.hibernate.collection.internal.AbstractPersistentCollection$LazyInitializationWork<T>);
    descriptor: (Lorg/hibernate/collection/internal/AbstractPersistentCollection$LazyInitializationWork;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // org.hibernate.collection.internal.AbstractPersistentCollection$LazyInitializationWork lazyInitializationWork
         0: .line 201
            aconst_null
            astore 2 /* tempSession */
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor tempSession
         1: .line 203
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            ifnonnull 7
         2: .line 204
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.allowLoadOutsideTransaction:Z
            ifeq 5
         3: .line 205
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.openTemporarySessionForLoading:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            astore 2 /* tempSession */
         4: .line 206
            goto 18
         5: .line 208
      StackMap locals: org.hibernate.engine.spi.SharedSessionContractImplementor
      StackMap stack:
            aload 0 /* this */
            ldc "could not initialize proxy - no Session"
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException:(Ljava/lang/String;)V
         6: .line 210
            goto 18
         7: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.isOpenOrWaitingForAutoClose:()Z
            ifne 13
         8: .line 212
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.allowLoadOutsideTransaction:Z
            ifeq 11
         9: .line 213
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.openTemporarySessionForLoading:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            astore 2 /* tempSession */
        10: .line 214
            goto 18
        11: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "could not initialize proxy - the owning Session was closed"
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException:(Ljava/lang/String;)V
        12: .line 218
            goto 18
        13: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.isConnected:()Z
            ifne 18
        14: .line 220
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.allowLoadOutsideTransaction:Z
            ifeq 17
        15: .line 221
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.openTemporarySessionForLoading:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            astore 2 /* tempSession */
        16: .line 222
            goto 18
        17: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "could not initialize proxy - the owning Session is disconnected"
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException:(Ljava/lang/String;)V
        18: .line 228
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* originalSession */
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor originalSession
        19: .line 229
            iconst_0
            istore 4 /* isJTA */
        start local 4 // boolean isJTA
        20: .line 231
            aload 2 /* tempSession */
            ifnull 31
        21: .line 232
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.isTempSession:Z
        22: .line 233
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            astore 3 /* originalSession */
        23: .line 234
            aload 0 /* this */
            aload 2 /* tempSession */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
        24: .line 236
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getTransactionCoordinator:()Lorg/hibernate/resource/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinator.getTransactionCoordinatorBuilder:()Lorg/hibernate/resource/transaction/spi/TransactionCoordinatorBuilder;
            invokeinterface org.hibernate.resource.transaction.spi.TransactionCoordinatorBuilder.isJta:()Z
            istore 4 /* isJTA */
        25: .line 238
            iload 4 /* isJTA */
            ifne 27
        26: .line 244
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.beginTransaction:()Lorg/hibernate/Transaction;
            pop
        27: .line 247
      StackMap locals: org.hibernate.engine.spi.SharedSessionContractImplementor int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
        28: .line 248
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.getRole:()Ljava/lang/String;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getCollectionPersister:(Ljava/lang/String;)Lorg/hibernate/persister/collection/CollectionPersister;
        29: .line 249
            aload 0 /* this */
        30: .line 247
            invokeinterface org.hibernate.engine.spi.PersistenceContext.addUninitializedDetachedCollection:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;)V
        31: .line 254
      StackMap locals:
      StackMap stack:
            aload 1 /* lazyInitializationWork */
            invokeinterface org.hibernate.collection.internal.AbstractPersistentCollection$LazyInitializationWork.doWork:()Ljava/lang/Object;
            astore 6
        32: .line 257
            aload 2 /* tempSession */
            ifnull 41
        33: .line 259
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.isTempSession:Z
        34: .line 260
            aload 0 /* this */
            aload 3 /* originalSession */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
        35: .line 263
            iload 4 /* isJTA */
            ifne 37
        36: .line 264
            aload 2 /* tempSession */
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.getTransaction:()Lorg/hibernate/Transaction;
            invokeinterface org.hibernate.Transaction.commit:()V
        37: .line 266
      StackMap locals: org.hibernate.collection.internal.AbstractPersistentCollection org.hibernate.collection.internal.AbstractPersistentCollection$LazyInitializationWork org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.SharedSessionContractImplementor int top java.lang.Object
      StackMap stack:
            aload 2 /* tempSession */
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.close:()V
        38: .line 267
            goto 41
        39: .line 268
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        40: .line 269
            getstatic org.hibernate.collection.internal.AbstractPersistentCollection.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Unable to close temporary session used to load lazy collection associated to no session"
            invokeinterface org.hibernate.internal.CoreMessageLogger.warn:(Ljava/lang/Object;)V
        41: .line 254
      StackMap locals:
      StackMap stack:
            aload 6
            areturn
        42: .line 256
      StackMap locals: org.hibernate.collection.internal.AbstractPersistentCollection org.hibernate.collection.internal.AbstractPersistentCollection$LazyInitializationWork org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.engine.spi.SharedSessionContractImplementor int
      StackMap stack: java.lang.Throwable
            astore 5
        43: .line 257
            aload 2 /* tempSession */
            ifnull 52
        44: .line 259
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.isTempSession:Z
        45: .line 260
            aload 0 /* this */
            aload 3 /* originalSession */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
        46: .line 263
            iload 4 /* isJTA */
            ifne 48
        47: .line 264
            aload 2 /* tempSession */
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.getTransaction:()Lorg/hibernate/Transaction;
            invokeinterface org.hibernate.Transaction.commit:()V
        48: .line 266
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2 /* tempSession */
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.close:()V
        49: .line 267
            goto 52
        50: .line 268
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        51: .line 269
            getstatic org.hibernate.collection.internal.AbstractPersistentCollection.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Unable to close temporary session used to load lazy collection associated to no session"
            invokeinterface org.hibernate.internal.CoreMessageLogger.warn:(Ljava/lang/Object;)V
        52: .line 272
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        end local 4 // boolean isJTA
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor originalSession
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor tempSession
        end local 1 // org.hibernate.collection.internal.AbstractPersistentCollection$LazyInitializationWork lazyInitializationWork
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   53     0                    this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0   53     1  lazyInitializationWork  Lorg/hibernate/collection/internal/AbstractPersistentCollection$LazyInitializationWork<TT;>;
            1   53     2             tempSession  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
           19   53     3         originalSession  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
           20   53     4                   isJTA  Z
      Exception table:
        from    to  target  type
          35    38      39  Class java.lang.Exception
          31    32      42  any
          46    49      50  Class java.lang.Exception
    Signature: <T:Ljava/lang/Object;>(Lorg/hibernate/collection/internal/AbstractPersistentCollection$LazyInitializationWork<TT;>;)TT;
    MethodParameters:
                        Name  Flags
      lazyInitializationWork  

  private org.hibernate.engine.spi.SharedSessionContractImplementor openTemporarySessionForLoading();
    descriptor: ()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 276
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.sessionFactoryUuid:Ljava/lang/String;
            ifnonnull 2
         1: .line 277
            aload 0 /* this */
            ldc "SessionFactory UUID not known to create temporary Session for loading"
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException:(Ljava/lang/String;)V
         2: .line 281
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.internal.SessionFactoryRegistry.INSTANCE:Lorg/hibernate/internal/SessionFactoryRegistry;
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.sessionFactoryUuid:Ljava/lang/String;
            invokevirtual org.hibernate.internal.SessionFactoryRegistry.getSessionFactory:(Ljava/lang/String;)Lorg/hibernate/SessionFactory;
         3: .line 280
            checkcast org.hibernate.engine.spi.SessionFactoryImplementor
            astore 1 /* sf */
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sf
         4: .line 282
            aload 1 /* sf */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.openSession:()Lorg/hibernate/Session;
            checkcast org.hibernate.engine.spi.SharedSessionContractImplementor
            astore 2 /* session */
        start local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         5: .line 283
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            iconst_1
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
         6: .line 284
            aload 2 /* session */
            getstatic org.hibernate.FlushMode.MANUAL:Lorg/hibernate/FlushMode;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.setFlushMode:(Lorg/hibernate/FlushMode;)V
         7: .line 285
            aload 2 /* session */
            areturn
        end local 2 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sf
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            4    8     1       sf  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            5    8     2  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;

  protected java.lang.Boolean readIndexExistence(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Boolean;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // java.lang.Object index
         0: .line 289
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 6
         1: .line 290
            aload 0 /* this */
         2: .line 291
            new org.hibernate.collection.internal.AbstractPersistentCollection$2
            dup
            aload 0 /* this */
            aload 1 /* index */
            invokespecial org.hibernate.collection.internal.AbstractPersistentCollection$2.<init>:(Lorg/hibernate/collection/internal/AbstractPersistentCollection;Ljava/lang/Object;)V
         3: .line 290
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded:(Lorg/hibernate/collection/internal/AbstractPersistentCollection$LazyInitializationWork;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 2 /* extraLazyExistenceCheck */
        start local 2 // java.lang.Boolean extraLazyExistenceCheck
         4: .line 309
            aload 2 /* extraLazyExistenceCheck */
            ifnull 6
         5: .line 310
            aload 2 /* extraLazyExistenceCheck */
            areturn
        end local 2 // java.lang.Boolean extraLazyExistenceCheck
         6: .line 313
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Object index
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    7     0                     this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    7     1                    index  Ljava/lang/Object;
            4    6     2  extraLazyExistenceCheck  Ljava/lang/Boolean;
    MethodParameters:
       Name  Flags
      index  final

  protected java.lang.Boolean readElementExistence(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Boolean;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // java.lang.Object element
         0: .line 317
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 6
         1: .line 318
            aload 0 /* this */
         2: .line 319
            new org.hibernate.collection.internal.AbstractPersistentCollection$3
            dup
            aload 0 /* this */
            aload 1 /* element */
            invokespecial org.hibernate.collection.internal.AbstractPersistentCollection$3.<init>:(Lorg/hibernate/collection/internal/AbstractPersistentCollection;Ljava/lang/Object;)V
         3: .line 318
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded:(Lorg/hibernate/collection/internal/AbstractPersistentCollection$LazyInitializationWork;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 2 /* extraLazyExistenceCheck */
        start local 2 // java.lang.Boolean extraLazyExistenceCheck
         4: .line 337
            aload 2 /* extraLazyExistenceCheck */
            ifnull 6
         5: .line 338
            aload 2 /* extraLazyExistenceCheck */
            areturn
        end local 2 // java.lang.Boolean extraLazyExistenceCheck
         6: .line 341
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Object element
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    7     0                     this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    7     1                  element  Ljava/lang/Object;
            4    6     2  extraLazyExistenceCheck  Ljava/lang/Boolean;
    MethodParameters:
         Name  Flags
      element  final

  protected java.lang.Object readElementByIndex(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // java.lang.Object index
         0: .line 347
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 5
         1: .line 370
            new org.hibernate.collection.internal.AbstractPersistentCollection$1ExtraLazyElementByIndexReader
            dup
            aload 0 /* this */
            aload 1 /* index */
            invokespecial org.hibernate.collection.internal.AbstractPersistentCollection$1ExtraLazyElementByIndexReader.<init>:(Lorg/hibernate/collection/internal/AbstractPersistentCollection;Ljava/lang/Object;)V
            astore 2 /* reader */
        start local 2 // org.hibernate.collection.internal.AbstractPersistentCollection$1ExtraLazyElementByIndexReader reader
         2: .line 372
            aload 0 /* this */
            aload 2 /* reader */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded:(Lorg/hibernate/collection/internal/AbstractPersistentCollection$LazyInitializationWork;)Ljava/lang/Object;
            pop
         3: .line 373
            aload 2 /* reader */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection$1ExtraLazyElementByIndexReader.isExtraLazy:Z
            ifeq 5
         4: .line 374
            aload 2 /* reader */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection$1ExtraLazyElementByIndexReader.element:Ljava/lang/Object;
            areturn
        end local 2 // org.hibernate.collection.internal.AbstractPersistentCollection$1ExtraLazyElementByIndexReader reader
         5: .line 377
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.collection.internal.AbstractPersistentCollection.UNKNOWN:Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object index
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    6     1   index  Ljava/lang/Object;
            2    5     2  reader  Lorg/hibernate/collection/internal/AbstractPersistentCollection$1ExtraLazyElementByIndexReader;
    MethodParameters:
       Name  Flags
      index  final

  protected int getCachedSize();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 382
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.cachedSize:I
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  protected boolean isConnectedToSession();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 386
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            ifnull 4
         1: .line 387
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.isOpen:()Z
            ifeq 4
         2: .line 388
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 0 /* this */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.containsCollection:(Lorg/hibernate/collection/spi/PersistentCollection;)Z
            ifeq 4
         3: .line 386
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

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

  protected final void write();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 399
            aload 0 /* this */
            iconst_1
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.initialize:(Z)V
         1: .line 400
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.dirty:()V
         2: .line 401
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  protected boolean isOperationQueueEnabled();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 409
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 4
         1: .line 410
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isConnectedToSession:()Z
            ifeq 4
         2: .line 411
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isInverseCollection:()Z
            ifeq 4
         3: .line 409
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  protected boolean isPutQueueEnabled();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 421
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 4
         1: .line 422
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isConnectedToSession:()Z
            ifeq 4
         2: .line 423
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isInverseOneToManyOrNoOrphanDelete:()Z
            ifeq 4
         3: .line 421
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  protected boolean isClearQueueEnabled();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 433
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 4
         1: .line 434
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isConnectedToSession:()Z
            ifeq 4
         2: .line 435
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isInverseCollectionNoOrphanDelete:()Z
            ifeq 4
         3: .line 433
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  protected boolean isInverseCollection();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 443
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 0 /* this */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
            astore 1 /* ce */
        start local 1 // org.hibernate.engine.spi.CollectionEntry ce
         1: .line 444
            aload 1 /* ce */
            ifnull 2
            aload 1 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.isInverse:()Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: org.hibernate.engine.spi.CollectionEntry
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // org.hibernate.engine.spi.CollectionEntry ce
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            1    3     1    ce  Lorg/hibernate/engine/spi/CollectionEntry;

  protected boolean isInverseCollectionNoOrphanDelete();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 453
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 0 /* this */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
            astore 1 /* ce */
        start local 1 // org.hibernate.engine.spi.CollectionEntry ce
         1: .line 454
            aload 1 /* ce */
            ifnull 5
         2: .line 456
            aload 1 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.isInverse:()Z
            ifeq 5
         3: .line 457
            aload 1 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.hasOrphanDelete:()Z
            ifne 5
         4: .line 454
            iconst_1
            ireturn
      StackMap locals: org.hibernate.engine.spi.CollectionEntry
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // org.hibernate.engine.spi.CollectionEntry ce
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            1    6     1    ce  Lorg/hibernate/engine/spi/CollectionEntry;

  protected boolean isInverseOneToManyOrNoOrphanDelete();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 466
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 0 /* this */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
            astore 1 /* ce */
        start local 1 // org.hibernate.engine.spi.CollectionEntry ce
         1: .line 467
            aload 1 /* ce */
            ifnull 5
         2: .line 468
            aload 1 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.isInverse:()Z
            ifeq 5
         3: .line 469
            aload 1 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.isOneToMany:()Z
            ifne 4
            aload 1 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.hasOrphanDelete:()Z
            ifne 5
         4: .line 467
      StackMap locals: org.hibernate.engine.spi.CollectionEntry
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // org.hibernate.engine.spi.CollectionEntry ce
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            1    6     1    ce  Lorg/hibernate/engine/spi/CollectionEntry;

  protected final void queueOperation(org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation);
    descriptor: (Lorg/hibernate/collection/internal/AbstractPersistentCollection$DelayedOperation;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation operation
         0: .line 477
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
            ifnonnull 2
         1: .line 478
            aload 0 /* this */
            new java.util.ArrayList
            dup
            bipush 10
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
         2: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
            aload 1 /* operation */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 482
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.dirty:Z
         4: .line 483
            return
        end local 1 // org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation operation
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    5     1  operation  Lorg/hibernate/collection/internal/AbstractPersistentCollection$DelayedOperation;
    MethodParameters:
           Name  Flags
      operation  

  public final void replaceQueuedOperationValues(org.hibernate.persister.collection.CollectionPersister, java.util.Map);
    descriptor: (Lorg/hibernate/persister/collection/CollectionPersister;Ljava/util/Map;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // org.hibernate.persister.collection.CollectionPersister persister
        start local 2 // java.util.Map copyCache
         0: .line 492
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.hibernate.collection.internal.AbstractPersistentCollection org.hibernate.persister.collection.CollectionPersister java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation
            astore 3 /* operation */
        start local 3 // org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation operation
         2: .line 493
            ldc Lorg/hibernate/collection/internal/AbstractPersistentCollection$ValueDelayedOperation;
            aload 3 /* operation */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 494
            aload 3 /* operation */
            checkcast org.hibernate.collection.internal.AbstractPersistentCollection$ValueDelayedOperation
            aload 1 /* persister */
            aload 2 /* copyCache */
            invokeinterface org.hibernate.collection.internal.AbstractPersistentCollection$ValueDelayedOperation.replace:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/util/Map;)V
        end local 3 // org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation operation
         4: .line 492
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 497
            return
        end local 2 // java.util.Map copyCache
        end local 1 // org.hibernate.persister.collection.CollectionPersister persister
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    6     1  persister  Lorg/hibernate/persister/collection/CollectionPersister;
            0    6     2  copyCache  Ljava/util/Map;
            2    4     3  operation  Lorg/hibernate/collection/internal/AbstractPersistentCollection$DelayedOperation;
    MethodParameters:
           Name  Flags
      persister  
      copyCache  

  protected final void performQueuedOperations();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 504
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.hibernate.collection.internal.AbstractPersistentCollection top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation
            astore 1 /* operation */
        start local 1 // org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation operation
         2: .line 505
            aload 1 /* operation */
            invokeinterface org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation.operate:()V
        end local 1 // org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation operation
         3: .line 504
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 507
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            2    3     1  operation  Lorg/hibernate/collection/internal/AbstractPersistentCollection$DelayedOperation;

  public void setSnapshot(java.io.Serializable, java.lang.String, java.io.Serializable);
    descriptor: (Ljava/io/Serializable;Ljava/lang/String;Ljava/io/Serializable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // java.io.Serializable key
        start local 2 // java.lang.String role
        start local 3 // java.io.Serializable snapshot
         0: .line 511
            aload 0 /* this */
            aload 1 /* key */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.key:Ljava/io/Serializable;
         1: .line 512
            aload 0 /* this */
            aload 2 /* role */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.role:Ljava/lang/String;
         2: .line 513
            aload 0 /* this */
            aload 3 /* snapshot */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.storedSnapshot:Ljava/io/Serializable;
         3: .line 514
            return
        end local 3 // java.io.Serializable snapshot
        end local 2 // java.lang.String role
        end local 1 // java.io.Serializable key
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    4     1       key  Ljava/io/Serializable;
            0    4     2      role  Ljava/lang/String;
            0    4     3  snapshot  Ljava/io/Serializable;
    MethodParameters:
          Name  Flags
      key       
      role      
      snapshot  

  public void postAction();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 518
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
         1: .line 519
            aload 0 /* this */
            iconst_m1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.cachedSize:I
         2: .line 520
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.clearDirty:()V
         3: .line 521
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public java.lang.Object getValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 525
            aload 0 /* this */
            areturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public void beginRead();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 531
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.initializing:Z
         1: .line 532
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public boolean endRead();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 537
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.afterInitialize:()Z
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public boolean afterInitialize();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 542
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.setInitialized:()V
         1: .line 544
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
            ifnull 6
         2: .line 545
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.performQueuedOperations:()V
         3: .line 546
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
         4: .line 547
            aload 0 /* this */
            iconst_m1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.cachedSize:I
         5: .line 548
            iconst_0
            ireturn
         6: .line 551
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  protected final void initialize(boolean);
    descriptor: (Z)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // boolean writing
         0: .line 564
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifeq 2
         1: .line 565
            return
         2: .line 568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 569
            new org.hibernate.collection.internal.AbstractPersistentCollection$4
            dup
            aload 0 /* this */
            iload 1 /* writing */
            invokespecial org.hibernate.collection.internal.AbstractPersistentCollection$4.<init>:(Lorg/hibernate/collection/internal/AbstractPersistentCollection;Z)V
         4: .line 568
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded:(Lorg/hibernate/collection/internal/AbstractPersistentCollection$LazyInitializationWork;)Ljava/lang/Object;
            pop
         5: .line 577
            return
        end local 1 // boolean writing
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    6     1  writing  Z
    MethodParameters:
         Name  Flags
      writing  final

  private void throwLazyInitializationExceptionIfNotConnected();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 580
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isConnectedToSession:()Z
            ifne 2
         1: .line 581
            aload 0 /* this */
            ldc "no session or session was closed"
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException:(Ljava/lang/String;)V
         2: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.isConnected:()Z
            ifne 4
         3: .line 584
            aload 0 /* this */
            ldc "session is disconnected"
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException:(Ljava/lang/String;)V
         4: .line 586
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  private void throwLazyInitializationException(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // java.lang.String message
         0: .line 589
            new org.hibernate.LazyInitializationException
            dup
         1: .line 590
            new java.lang.StringBuilder
            dup
            ldc "failed to lazily initialize a collection"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 591
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.role:Ljava/lang/String;
            ifnonnull 3
            ldc ""
            goto 4
      StackMap locals: org.hibernate.collection.internal.AbstractPersistentCollection java.lang.String
      StackMap stack: new 0 new 0 java.lang.StringBuilder
         3: new java.lang.StringBuilder
            dup
            ldc " of role: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.role:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: org.hibernate.collection.internal.AbstractPersistentCollection java.lang.String
      StackMap stack: new 0 new 0 java.lang.StringBuilder java.lang.String
         4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 592
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 590
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 589
            invokespecial org.hibernate.LazyInitializationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String message
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    8     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  protected final void setInitialized();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 597
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.initializing:Z
         1: .line 598
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
         2: .line 599
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  protected final void setDirectlyAccessible(boolean);
    descriptor: (Z)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // boolean directlyAccessible
         0: .line 602
            aload 0 /* this */
            iload 1 /* directlyAccessible */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.directlyAccessible:Z
         1: .line 603
            return
        end local 1 // boolean directlyAccessible
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    2     1  directlyAccessible  Z
    MethodParameters:
                    Name  Flags
      directlyAccessible  

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

  public final boolean unsetSession(org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor currentSession
         0: .line 612
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.prepareForPossibleLoadingOutsideTransaction:()V
         1: .line 613
            aload 1 /* currentSession */
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            if_acmpne 5
         2: .line 614
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.isTempSession:Z
            ifne 4
         3: .line 615
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
         4: .line 617
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            ifnull 7
         6: .line 621
            getstatic org.hibernate.collection.internal.AbstractPersistentCollection.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 0 /* this */
            aload 1 /* currentSession */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.generateUnexpectedSessionStateMessage:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.logCannotUnsetUnexpectedSessionInCollection:(Ljava/lang/String;)V
         7: .line 623
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor currentSession
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    8     1  currentSession  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    MethodParameters:
                Name  Flags
      currentSession  

  protected void prepareForPossibleLoadingOutsideTransaction();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 628
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            ifnull 4
         1: .line 629
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.isInitializeLazyStateOutsideTransactionsEnabled:()Z
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.allowLoadOutsideTransaction:Z
         2: .line 631
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.allowLoadOutsideTransaction:Z
            ifeq 4
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.sessionFactoryUuid:Ljava/lang/String;
            ifnonnull 4
         3: .line 632
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getUuid:()Ljava/lang/String;
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.sessionFactoryUuid:Ljava/lang/String;
         4: .line 635
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public final boolean setCurrentSession(org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 639
            aload 1 /* session */
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            if_acmpne 2
         1: .line 640
            iconst_0
            ireturn
         2: .line 643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            ifnull 11
         3: .line 644
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.generateUnexpectedSessionStateMessage:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         4: .line 645
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isConnectedToSession:()Z
            ifeq 8
         5: .line 646
            new org.hibernate.HibernateException
            dup
         6: .line 647
            new java.lang.StringBuilder
            dup
            ldc "Illegal attempt to associate a collection with two open sessions. "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 646
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 651
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic org.hibernate.collection.internal.AbstractPersistentCollection.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 2 /* msg */
            invokeinterface org.hibernate.internal.CoreMessageLogger.logUnexpectedSessionInCollectionNotConnected:(Ljava/lang/String;)V
         9: .line 652
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
        10: .line 653
            iconst_1
            ireturn
        end local 2 // java.lang.String msg
        11: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
        12: .line 658
            iconst_1
            ireturn
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0   13     1  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            4   11     2      msg  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
         Name  Flags
      session  

  private java.lang.String generateUnexpectedSessionStateMessage(org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 672
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.role:Ljava/lang/String;
            astore 2 /* roleCurrent */
        start local 2 // java.lang.String roleCurrent
         1: .line 673
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.key:Ljava/io/Serializable;
            astore 3 /* keyCurrent */
        start local 3 // java.io.Serializable keyCurrent
         2: .line 675
            new java.lang.StringBuilder
            dup
            ldc "Collection : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         3: .line 676
            aload 2 /* roleCurrent */
            ifnull 6
         4: .line 677
            aload 4 /* sb */
            aload 2 /* roleCurrent */
            aload 3 /* keyCurrent */
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 678
            goto 17
         6: .line 680
      StackMap locals: java.lang.String java.io.Serializable java.lang.StringBuilder
      StackMap stack:
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 0 /* this */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
            astore 5 /* ce */
        start local 5 // org.hibernate.engine.spi.CollectionEntry ce
         7: .line 681
            aload 5 /* ce */
            ifnull 16
         8: .line 682
            aload 4 /* sb */
         9: .line 684
            aload 5 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
        10: .line 685
            aload 0 /* this */
        11: .line 686
            aload 5 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedKey:()Ljava/io/Serializable;
        12: .line 687
            aload 1 /* session */
        13: .line 683
            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;
        14: .line 682
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 690
            goto 17
        16: .line 692
      StackMap locals: org.hibernate.engine.spi.CollectionEntry
      StackMap stack:
            aload 4 /* sb */
            ldc "<unknown>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // org.hibernate.engine.spi.CollectionEntry ce
        17: .line 696
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.collection.internal.AbstractPersistentCollection.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 22
        18: .line 697
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.wasInitialized:()Z
            ifeq 19
            aload 0 /* this */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 20
      StackMap locals:
      StackMap stack:
        19: ldc "<uninitialized>"
      StackMap locals:
      StackMap stack: java.lang.String
        20: astore 5 /* collectionContents */
        start local 5 // java.lang.String collectionContents
        21: .line 698
            aload 4 /* sb */
            ldc "\nCollection contents: ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* collectionContents */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.lang.String collectionContents
        22: .line 700
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder sb
        end local 3 // java.io.Serializable keyCurrent
        end local 2 // java.lang.String roleCurrent
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0                this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0   23     1             session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            1   23     2         roleCurrent  Ljava/lang/String;
            2   23     3          keyCurrent  Ljava/io/Serializable;
            3   23     4                  sb  Ljava/lang/StringBuilder;
            7   17     5                  ce  Lorg/hibernate/engine/spi/CollectionEntry;
           21   22     5  collectionContents  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      session  

  public boolean needsRecreate(org.hibernate.persister.collection.CollectionPersister);
    descriptor: (Lorg/hibernate/persister/collection/CollectionPersister;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // org.hibernate.persister.collection.CollectionPersister persister
         0: .line 717
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.hasIndex:()Z
            ifeq 3
         1: .line 718
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getIndexType:()Lorg/hibernate/type/Type;
            astore 2 /* whereType */
        start local 2 // org.hibernate.type.Type whereType
         2: .line 719
            goto 4
        end local 2 // org.hibernate.type.Type whereType
         3: .line 721
      StackMap locals:
      StackMap stack:
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            astore 2 /* whereType */
        start local 2 // org.hibernate.type.Type whereType
         4: .line 723
      StackMap locals: org.hibernate.type.Type
      StackMap stack:
            aload 2 /* whereType */
            instanceof org.hibernate.type.CompositeType
            ifeq 9
         5: .line 724
            aload 2 /* whereType */
            checkcast org.hibernate.type.CompositeType
            astore 3 /* componentIndexType */
        start local 3 // org.hibernate.type.CompositeType componentIndexType
         6: .line 725
            aload 3 /* componentIndexType */
            invokeinterface org.hibernate.type.CompositeType.hasNotNullProperty:()Z
            ifeq 7
            iconst_0
            goto 8
      StackMap locals: org.hibernate.type.CompositeType
      StackMap stack:
         7: iconst_1
      StackMap locals:
      StackMap stack: int
         8: ireturn
        end local 3 // org.hibernate.type.CompositeType componentIndexType
         9: .line 727
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.hibernate.type.Type whereType
        end local 1 // org.hibernate.persister.collection.CollectionPersister persister
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0   10     1           persister  Lorg/hibernate/persister/collection/CollectionPersister;
            2    3     2           whereType  Lorg/hibernate/type/Type;
            4   10     2           whereType  Lorg/hibernate/type/Type;
            6    9     3  componentIndexType  Lorg/hibernate/type/CompositeType;
    MethodParameters:
           Name  Flags
      persister  

  public final void forceInitialization();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 732
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 4
         1: .line 733
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initializing:Z
            ifeq 3
         2: .line 734
            new org.hibernate.AssertionFailure
            dup
            ldc "force initialize loading collection"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 736
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.initialize:(Z)V
         4: .line 738
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
    Exceptions:
      throws org.hibernate.HibernateException

  protected final java.io.Serializable getSnapshot();
    descriptor: ()Ljava/io/Serializable;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 746
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 0 /* this */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getSnapshot:(Lorg/hibernate/collection/spi/PersistentCollection;)Ljava/io/Serializable;
            areturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public final boolean wasInitialized();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 751
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

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

  public final boolean hasQueuedOperations();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 761
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public final java.util.Iterator queuedAdditionIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 766
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.hasQueuedOperations:()Z
            ifeq 2
         1: .line 767
            new org.hibernate.collection.internal.AbstractPersistentCollection$5
            dup
            aload 0 /* this */
            invokespecial org.hibernate.collection.internal.AbstractPersistentCollection$5.<init>:(Lorg/hibernate/collection/internal/AbstractPersistentCollection;)V
            areturn
         2: .line 787
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.internal.util.collections.EmptyIterator.INSTANCE:Ljava/util/Iterator;
            areturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public final java.util.Collection getQueuedOrphans(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Collection;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // java.lang.String entityName
         0: .line 794
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.hasQueuedOperations:()Z
            ifeq 9
         1: .line 795
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* additions */
        start local 2 // java.util.Collection additions
         2: .line 796
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* removals */
        start local 3 // java.util.Collection removals
         3: .line 797
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.hibernate.collection.internal.AbstractPersistentCollection java.lang.String java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation
            astore 4 /* operation */
        start local 4 // org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation operation
         5: .line 798
            aload 2 /* additions */
            aload 4 /* operation */
            invokeinterface org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation.getAddedInstance:()Ljava/lang/Object;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         6: .line 799
            aload 3 /* removals */
            aload 4 /* operation */
            invokeinterface org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation.getOrphan:()Ljava/lang/Object;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation operation
         7: .line 797
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 801
            aload 3 /* removals */
            aload 2 /* additions */
            aload 1 /* entityName */
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokestatic org.hibernate.collection.internal.AbstractPersistentCollection.getOrphans:(Ljava/util/Collection;Ljava/util/Collection;Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/util/Collection;
            areturn
        end local 3 // java.util.Collection removals
        end local 2 // java.util.Collection additions
         9: .line 804
      StackMap locals: org.hibernate.collection.internal.AbstractPersistentCollection java.lang.String
      StackMap stack:
            getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
            areturn
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0   10     1  entityName  Ljava/lang/String;
            2    9     2   additions  Ljava/util/Collection;
            3    9     3    removals  Ljava/util/Collection;
            5    7     4   operation  Lorg/hibernate/collection/internal/AbstractPersistentCollection$DelayedOperation;
    MethodParameters:
            Name  Flags
      entityName  

  public void preInsert(org.hibernate.persister.collection.CollectionPersister);
    descriptor: (Lorg/hibernate/persister/collection/CollectionPersister;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // org.hibernate.persister.collection.CollectionPersister persister
         0: .line 810
            return
        end local 1 // org.hibernate.persister.collection.CollectionPersister persister
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    1     1  persister  Lorg/hibernate/persister/collection/CollectionPersister;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
           Name  Flags
      persister  

  public void afterRowInsert(org.hibernate.persister.collection.CollectionPersister, java.lang.Object, int);
    descriptor: (Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // org.hibernate.persister.collection.CollectionPersister persister
        start local 2 // java.lang.Object entry
        start local 3 // int i
         0: .line 814
            return
        end local 3 // int i
        end local 2 // java.lang.Object entry
        end local 1 // org.hibernate.persister.collection.CollectionPersister persister
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    1     1  persister  Lorg/hibernate/persister/collection/CollectionPersister;
            0    1     2      entry  Ljava/lang/Object;
            0    1     3          i  I
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
           Name  Flags
      persister  
      entry      
      i          

  public abstract java.util.Collection getOrphans(java.io.Serializable, java.lang.String);
    descriptor: (Ljava/io/Serializable;Ljava/lang/String;)Ljava/util/Collection;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      snapshot    
      entityName  

  public final org.hibernate.engine.spi.SharedSessionContractImplementor getSession();
    descriptor: ()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 825
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            areturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  protected static java.util.Collection getOrphans(java.util.Collection, java.util.Collection, java.lang.String, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/util/Collection;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // java.util.Collection oldElements
        start local 1 // java.util.Collection currentElements
        start local 2 // java.lang.String entityName
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1196
            aload 1 /* currentElements */
            invokeinterface java.util.Collection.size:()I
            ifne 2
         1: .line 1198
            aload 0 /* oldElements */
            areturn
         2: .line 1200
      StackMap locals:
      StackMap stack:
            aload 0 /* oldElements */
            invokeinterface java.util.Collection.size:()I
            ifne 4
         3: .line 1202
            aload 0 /* oldElements */
            areturn
         4: .line 1205
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 2 /* entityName */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 4 /* entityPersister */
        start local 4 // org.hibernate.persister.entity.EntityPersister entityPersister
         5: .line 1206
            aload 4 /* entityPersister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifierType:()Lorg/hibernate/type/Type;
            astore 5 /* idType */
        start local 5 // org.hibernate.type.Type idType
         6: .line 1207
            aload 5 /* idType */
            invokestatic org.hibernate.collection.internal.AbstractPersistentCollection.mayUseIdDirect:(Lorg/hibernate/type/Type;)Z
            istore 6 /* useIdDirect */
        start local 6 // boolean useIdDirect
         7: .line 1210
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* res */
        start local 7 // java.util.Collection res
         8: .line 1213
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 8 /* currentIds */
        start local 8 // java.util.Set currentIds
         9: .line 1214
            new org.hibernate.internal.util.collections.IdentitySet
            dup
            invokespecial org.hibernate.internal.util.collections.IdentitySet.<init>:()V
            astore 9 /* currentSaving */
        start local 9 // java.util.Set currentSaving
        10: .line 1215
            aload 1 /* currentElements */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 24
      StackMap locals: java.util.Collection java.util.Collection java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type int java.util.Collection java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        11: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 10 /* current */
        start local 10 // java.lang.Object current
        12: .line 1216
            aload 10 /* current */
            ifnull 24
            aload 2 /* entityName */
            aload 10 /* current */
            aconst_null
            aload 3 /* session */
            invokestatic org.hibernate.engine.internal.ForeignKeys.isNotTransient:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Boolean;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
            ifeq 24
        13: .line 1217
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 10 /* current */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 12 /* ee */
        start local 12 // org.hibernate.engine.spi.EntityEntry ee
        14: .line 1218
            aload 12 /* ee */
            ifnull 17
            aload 12 /* ee */
            invokeinterface org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
            getstatic org.hibernate.engine.spi.Status.SAVING:Lorg/hibernate/engine/spi/Status;
            if_acmpne 17
        15: .line 1219
            aload 9 /* currentSaving */
            aload 10 /* current */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1220
            goto 24
        17: .line 1223
      StackMap locals: java.util.Collection java.util.Collection java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type int java.util.Collection java.util.Set java.util.Set java.lang.Object java.util.Iterator org.hibernate.engine.spi.EntityEntry
      StackMap stack:
            aload 2 /* entityName */
        18: .line 1224
            aload 10 /* current */
        19: .line 1225
            aload 3 /* session */
        20: .line 1222
            invokestatic org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/io/Serializable;
            astore 13 /* currentId */
        start local 13 // java.io.Serializable currentId
        21: .line 1227
            aload 8 /* currentIds */
            iload 6 /* useIdDirect */
            ifeq 22
            aload 13 /* currentId */
            goto 23
      StackMap locals: java.util.Collection java.util.Collection java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type int java.util.Collection java.util.Set java.util.Set java.lang.Object java.util.Iterator org.hibernate.engine.spi.EntityEntry java.io.Serializable
      StackMap stack: java.util.Set
        22: new org.hibernate.engine.spi.TypedValue
            dup
            aload 5 /* idType */
            aload 13 /* currentId */
            invokespecial org.hibernate.engine.spi.TypedValue.<init>:(Lorg/hibernate/type/Type;Ljava/lang/Object;)V
      StackMap locals: java.util.Collection java.util.Collection java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type int java.util.Collection java.util.Set java.util.Set java.lang.Object java.util.Iterator org.hibernate.engine.spi.EntityEntry java.io.Serializable
      StackMap stack: java.util.Set java.io.Serializable
        23: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // java.io.Serializable currentId
        end local 12 // org.hibernate.engine.spi.EntityEntry ee
        end local 10 // java.lang.Object current
        24: .line 1215
      StackMap locals: java.util.Collection java.util.Collection java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type int java.util.Collection java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        25: .line 1233
            aload 0 /* oldElements */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 33
      StackMap locals:
      StackMap stack:
        26: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 10 /* old */
        start local 10 // java.lang.Object old
        27: .line 1234
            aload 9 /* currentSaving */
            aload 10 /* old */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 33
        28: .line 1235
            aload 2 /* entityName */
            aload 10 /* old */
            aload 3 /* session */
            invokestatic org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/io/Serializable;
            astore 12 /* oldId */
        start local 12 // java.io.Serializable oldId
        29: .line 1236
            aload 8 /* currentIds */
            iload 6 /* useIdDirect */
            ifeq 30
            aload 12 /* oldId */
            goto 31
      StackMap locals: java.util.Collection java.util.Collection java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type int java.util.Collection java.util.Set java.util.Set java.lang.Object java.util.Iterator java.io.Serializable
      StackMap stack: java.util.Set
        30: new org.hibernate.engine.spi.TypedValue
            dup
            aload 5 /* idType */
            aload 12 /* oldId */
            invokespecial org.hibernate.engine.spi.TypedValue.<init>:(Lorg/hibernate/type/Type;Ljava/lang/Object;)V
      StackMap locals: java.util.Collection java.util.Collection java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type int java.util.Collection java.util.Set java.util.Set java.lang.Object java.util.Iterator java.io.Serializable
      StackMap stack: java.util.Set java.io.Serializable
        31: invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 33
        32: .line 1237
            aload 7 /* res */
            aload 10 /* old */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.io.Serializable oldId
        end local 10 // java.lang.Object old
        33: .line 1233
      StackMap locals: java.util.Collection java.util.Collection java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type int java.util.Collection java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        34: .line 1242
            aload 7 /* res */
            areturn
        end local 9 // java.util.Set currentSaving
        end local 8 // java.util.Set currentIds
        end local 7 // java.util.Collection res
        end local 6 // boolean useIdDirect
        end local 5 // org.hibernate.type.Type idType
        end local 4 // org.hibernate.persister.entity.EntityPersister entityPersister
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.lang.String entityName
        end local 1 // java.util.Collection currentElements
        end local 0 // java.util.Collection oldElements
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   35     0      oldElements  Ljava/util/Collection;
            0   35     1  currentElements  Ljava/util/Collection;
            0   35     2       entityName  Ljava/lang/String;
            0   35     3          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            5   35     4  entityPersister  Lorg/hibernate/persister/entity/EntityPersister;
            6   35     5           idType  Lorg/hibernate/type/Type;
            7   35     6      useIdDirect  Z
            8   35     7              res  Ljava/util/Collection;
            9   35     8       currentIds  Ljava/util/Set;
           10   35     9    currentSaving  Ljava/util/Set;
           12   24    10          current  Ljava/lang/Object;
           14   24    12               ee  Lorg/hibernate/engine/spi/EntityEntry;
           21   24    13        currentId  Ljava/io/Serializable;
           27   33    10              old  Ljava/lang/Object;
           29   33    12            oldId  Ljava/io/Serializable;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      oldElements      
      currentElements  
      entityName       
      session          

  private static boolean mayUseIdDirect(org.hibernate.type.Type);
    descriptor: (Lorg/hibernate/type/Type;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.type.Type idType
         0: .line 1246
            aload 0 /* idType */
            getstatic org.hibernate.type.StringType.INSTANCE:Lorg/hibernate/type/StringType;
            if_acmpeq 7
         1: .line 1247
            aload 0 /* idType */
            getstatic org.hibernate.type.IntegerType.INSTANCE:Lorg/hibernate/type/IntegerType;
            if_acmpeq 7
         2: .line 1248
            aload 0 /* idType */
            getstatic org.hibernate.type.LongType.INSTANCE:Lorg/hibernate/type/LongType;
            if_acmpeq 7
         3: .line 1249
            aload 0 /* idType */
            getstatic org.hibernate.type.UUIDBinaryType.INSTANCE:Lorg/hibernate/type/UUIDBinaryType;
            if_acmpeq 7
         4: .line 1250
            aload 0 /* idType */
            getstatic org.hibernate.type.UUIDCharType.INSTANCE:Lorg/hibernate/type/UUIDCharType;
            if_acmpeq 7
         5: .line 1251
            aload 0 /* idType */
            getstatic org.hibernate.type.PostgresUUIDType.INSTANCE:Lorg/hibernate/type/PostgresUUIDType;
            if_acmpeq 7
         6: .line 1246
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_1
            ireturn
        end local 0 // org.hibernate.type.Type idType
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  idType  Lorg/hibernate/type/Type;
    MethodParameters:
        Name  Flags
      idType  

  public static void identityRemove(java.util.Collection, java.lang.Object, java.lang.String, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Ljava/util/Collection;Ljava/lang/Object;Ljava/lang/String;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // java.util.Collection list
        start local 1 // java.lang.Object entityInstance
        start local 2 // java.lang.String entityName
        start local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 1268
            aload 1 /* entityInstance */
            ifnull 11
            aload 2 /* entityName */
            aload 1 /* entityInstance */
            aconst_null
            aload 3 /* session */
            invokestatic org.hibernate.engine.internal.ForeignKeys.isNotTransient:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Boolean;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Z
            ifeq 11
         1: .line 1269
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 2 /* entityName */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 4 /* entityPersister */
        start local 4 // org.hibernate.persister.entity.EntityPersister entityPersister
         2: .line 1270
            aload 4 /* entityPersister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifierType:()Lorg/hibernate/type/Type;
            astore 5 /* idType */
        start local 5 // org.hibernate.type.Type idType
         3: .line 1272
            aload 2 /* entityName */
            aload 1 /* entityInstance */
            aload 3 /* session */
            invokestatic org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/io/Serializable;
            astore 6 /* idOfCurrent */
        start local 6 // java.io.Serializable idOfCurrent
         4: .line 1273
            aload 0 /* list */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7 /* itr */
        start local 7 // java.util.Iterator itr
         5: .line 1274
            goto 10
         6: .line 1275
      StackMap locals: java.util.Collection java.lang.Object java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type java.io.Serializable java.util.Iterator
      StackMap stack:
            aload 2 /* entityName */
            aload 7 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            aload 3 /* session */
            invokestatic org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)Ljava/io/Serializable;
            astore 8 /* idOfOld */
        start local 8 // java.io.Serializable idOfOld
         7: .line 1276
            aload 5 /* idType */
            aload 6 /* idOfCurrent */
            aload 8 /* idOfOld */
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.Type.isEqual:(Ljava/lang/Object;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Z
            ifeq 10
         8: .line 1277
            aload 7 /* itr */
            invokeinterface java.util.Iterator.remove:()V
         9: .line 1278
            goto 11
        end local 8 // java.io.Serializable idOfOld
        10: .line 1274
      StackMap locals:
      StackMap stack:
            aload 7 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 7 // java.util.Iterator itr
        end local 6 // java.io.Serializable idOfCurrent
        end local 5 // org.hibernate.type.Type idType
        end local 4 // org.hibernate.persister.entity.EntityPersister entityPersister
        11: .line 1283
      StackMap locals: java.util.Collection java.lang.Object java.lang.String org.hibernate.engine.spi.SharedSessionContractImplementor
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 2 // java.lang.String entityName
        end local 1 // java.lang.Object entityInstance
        end local 0 // java.util.Collection list
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             list  Ljava/util/Collection;
            0   12     1   entityInstance  Ljava/lang/Object;
            0   12     2       entityName  Ljava/lang/String;
            0   12     3          session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            2   11     4  entityPersister  Lorg/hibernate/persister/entity/EntityPersister;
            3   11     5           idType  Lorg/hibernate/type/Type;
            4   11     6      idOfCurrent  Ljava/io/Serializable;
            5   11     7              itr  Ljava/util/Iterator;
            7   10     8          idOfOld  Ljava/io/Serializable;
    MethodParameters:
                Name  Flags
      list            
      entityInstance  
      entityName      
      session         

  public java.lang.Object getIdentifier(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // java.lang.Object entry
        start local 2 // int i
         0: .line 1287
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // int i
        end local 1 // java.lang.Object entry
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    1     1  entry  Ljava/lang/Object;
            0    1     2      i  I
    MethodParameters:
       Name  Flags
      entry  
      i      

  public java.lang.Object getOwner();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 1292
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.owner:Ljava/lang/Object;
            areturn
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;

  public void setOwner(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // java.lang.Object owner
         0: .line 1297
            aload 0 /* this */
            aload 1 /* owner */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.owner:Ljava/lang/Object;
         1: .line 1298
            return
        end local 1 // java.lang.Object owner
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0    2     1  owner  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      owner  
}
SourceFile: "AbstractPersistentCollection.java"
NestMembers:
  org.hibernate.collection.internal.AbstractPersistentCollection$1  org.hibernate.collection.internal.AbstractPersistentCollection$1ExtraLazyElementByIndexReader  org.hibernate.collection.internal.AbstractPersistentCollection$2  org.hibernate.collection.internal.AbstractPersistentCollection$3  org.hibernate.collection.internal.AbstractPersistentCollection$4  org.hibernate.collection.internal.AbstractPersistentCollection$5  org.hibernate.collection.internal.AbstractPersistentCollection$AbstractValueDelayedOperation  org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation  org.hibernate.collection.internal.AbstractPersistentCollection$IteratorProxy  org.hibernate.collection.internal.AbstractPersistentCollection$LazyInitializationWork  org.hibernate.collection.internal.AbstractPersistentCollection$ListIteratorProxy  org.hibernate.collection.internal.AbstractPersistentCollection$ListProxy  org.hibernate.collection.internal.AbstractPersistentCollection$SetProxy  org.hibernate.collection.internal.AbstractPersistentCollection$ValueDelayedOperation
InnerClasses:
  org.hibernate.collection.internal.AbstractPersistentCollection$1
  ExtraLazyElementByIndexReader = org.hibernate.collection.internal.AbstractPersistentCollection$1ExtraLazyElementByIndexReader
  org.hibernate.collection.internal.AbstractPersistentCollection$2
  org.hibernate.collection.internal.AbstractPersistentCollection$3
  org.hibernate.collection.internal.AbstractPersistentCollection$4
  org.hibernate.collection.internal.AbstractPersistentCollection$5
  protected abstract AbstractValueDelayedOperation = org.hibernate.collection.internal.AbstractPersistentCollection$AbstractValueDelayedOperation of org.hibernate.collection.internal.AbstractPersistentCollection
  protected abstract DelayedOperation = org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation of org.hibernate.collection.internal.AbstractPersistentCollection
  protected final IteratorProxy = org.hibernate.collection.internal.AbstractPersistentCollection$IteratorProxy of org.hibernate.collection.internal.AbstractPersistentCollection
  public abstract LazyInitializationWork = org.hibernate.collection.internal.AbstractPersistentCollection$LazyInitializationWork of org.hibernate.collection.internal.AbstractPersistentCollection
  protected final ListIteratorProxy = org.hibernate.collection.internal.AbstractPersistentCollection$ListIteratorProxy of org.hibernate.collection.internal.AbstractPersistentCollection
  protected final ListProxy = org.hibernate.collection.internal.AbstractPersistentCollection$ListProxy of org.hibernate.collection.internal.AbstractPersistentCollection
  protected SetProxy = org.hibernate.collection.internal.AbstractPersistentCollection$SetProxy of org.hibernate.collection.internal.AbstractPersistentCollection
  protected abstract ValueDelayedOperation = org.hibernate.collection.internal.AbstractPersistentCollection$ValueDelayedOperation of org.hibernate.collection.internal.AbstractPersistentCollection