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.SessionImplementor session;
    descriptor: Lorg/hibernate/engine/spi/SessionImplementor;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  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

  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 68
            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 349
            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 92
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            iconst_m1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.cachedSize:I
         2: .line 93
            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 void <init>(org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 95
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            iconst_m1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.cachedSize:I
         2: .line 96
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
         3: .line 97
            return
        end local 1 // org.hibernate.engine.spi.SessionImplementor session
        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  session  Lorg/hibernate/engine/spi/SessionImplementor;
    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 101
            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 106
            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 111
            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 116
            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 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 121
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.dirty:Z
         1: .line 122
            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 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 126
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.dirty:Z
         1: .line 127
            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 131
            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 143
            aload 0 /* this */
            iconst_0
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.initialize:(Z)V
         1: .line 144
            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 151
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 8
         1: .line 152
            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 153
            iconst_1
            ireturn
         3: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         4: .line 157
            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 156
            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 182
            iload 1 /* isExtraLazy */
            ifeq 8
         7: .line 183
            iconst_1
            ireturn
        end local 1 // boolean isExtraLazy
         8: .line 187
      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 205
            aconst_null
            astore 2 /* originalSession */
        start local 2 // org.hibernate.engine.spi.SessionImplementor originalSession
         1: .line 206
            iconst_0
            istore 3 /* isTempSession */
        start local 3 // boolean isTempSession
         2: .line 207
            iconst_0
            istore 4 /* isJTA */
        start local 4 // boolean isJTA
         3: .line 209
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnonnull 10
         4: .line 210
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.allowLoadOutsideTransaction:Z
            ifeq 8
         5: .line 211
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.openTemporarySessionForLoading:()Lorg/hibernate/engine/spi/SessionImplementor;
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
         6: .line 212
            iconst_1
            istore 3 /* isTempSession */
         7: .line 213
            goto 25
         8: .line 215
      StackMap locals: org.hibernate.engine.spi.SessionImplementor int int
      StackMap stack:
            aload 0 /* this */
            ldc "could not initialize proxy - no Session"
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException:(Ljava/lang/String;)V
         9: .line 217
            goto 25
        10: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isOpen:()Z
            ifne 18
        11: .line 219
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.allowLoadOutsideTransaction:Z
            ifeq 16
        12: .line 220
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            astore 2 /* originalSession */
        13: .line 221
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.openTemporarySessionForLoading:()Lorg/hibernate/engine/spi/SessionImplementor;
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
        14: .line 222
            iconst_1
            istore 3 /* isTempSession */
        15: .line 223
            goto 25
        16: .line 225
      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
        17: .line 227
            goto 25
        18: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isConnected:()Z
            ifne 25
        19: .line 229
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.allowLoadOutsideTransaction:Z
            ifeq 24
        20: .line 230
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            astore 2 /* originalSession */
        21: .line 231
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.openTemporarySessionForLoading:()Lorg/hibernate/engine/spi/SessionImplementor;
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
        22: .line 232
            iconst_1
            istore 3 /* isTempSession */
        23: .line 233
            goto 25
        24: .line 235
      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
        25: .line 239
      StackMap locals:
      StackMap stack:
            iload 3 /* isTempSession */
            ifeq 37
        26: .line 240
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
        27: .line 241
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getTransactionContext:()Lorg/hibernate/engine/transaction/spi/TransactionContext;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionContext.getTransactionEnvironment:()Lorg/hibernate/engine/transaction/spi/TransactionEnvironment;
        28: .line 242
            invokeinterface org.hibernate.engine.transaction.spi.TransactionEnvironment.getTransactionFactory:()Lorg/hibernate/engine/transaction/spi/TransactionFactory;
        29: .line 243
            invokeinterface org.hibernate.engine.transaction.spi.TransactionFactory.compatibleWithJtaSynchronization:()Z
        30: .line 240
            istore 4 /* isJTA */
        31: .line 245
            iload 4 /* isJTA */
            ifne 33
        32: .line 251
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.beginTransaction:()Lorg/hibernate/Transaction;
            pop
        33: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
        34: .line 255
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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;
        35: .line 256
            aload 0 /* this */
        36: .line 254
            invokeinterface org.hibernate.engine.spi.PersistenceContext.addUninitializedDetachedCollection:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;)V
        37: .line 261
      StackMap locals:
      StackMap stack:
            aload 1 /* lazyInitializationWork */
            invokeinterface org.hibernate.collection.internal.AbstractPersistentCollection$LazyInitializationWork.doWork:()Ljava/lang/Object;
            astore 6
        38: .line 264
            iload 3 /* isTempSession */
            ifeq 46
        39: .line 267
            iload 4 /* isJTA */
            ifne 41
        40: .line 268
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.getTransaction:()Lorg/hibernate/Transaction;
            invokeinterface org.hibernate.Transaction.commit:()V
        41: .line 270
      StackMap locals: org.hibernate.collection.internal.AbstractPersistentCollection org.hibernate.collection.internal.AbstractPersistentCollection$LazyInitializationWork org.hibernate.engine.spi.SessionImplementor int int top java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.close:()Ljava/sql/Connection;
            pop
        42: .line 271
            goto 45
        43: .line 272
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        44: .line 273
            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
        45: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* originalSession */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
        46: .line 261
      StackMap locals:
      StackMap stack:
            aload 6
            areturn
        47: .line 263
      StackMap locals: org.hibernate.collection.internal.AbstractPersistentCollection org.hibernate.collection.internal.AbstractPersistentCollection$LazyInitializationWork org.hibernate.engine.spi.SessionImplementor int int
      StackMap stack: java.lang.Throwable
            astore 5
        48: .line 264
            iload 3 /* isTempSession */
            ifeq 56
        49: .line 267
            iload 4 /* isJTA */
            ifne 51
        50: .line 268
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.getTransaction:()Lorg/hibernate/Transaction;
            invokeinterface org.hibernate.Transaction.commit:()V
        51: .line 270
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.close:()Ljava/sql/Connection;
            pop
        52: .line 271
            goto 55
        53: .line 272
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        54: .line 273
            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
        55: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* originalSession */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
        56: .line 277
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        end local 4 // boolean isJTA
        end local 3 // boolean isTempSession
        end local 2 // org.hibernate.engine.spi.SessionImplementor originalSession
        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   57     0                    this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
            0   57     1  lazyInitializationWork  Lorg/hibernate/collection/internal/AbstractPersistentCollection$LazyInitializationWork<TT;>;
            1   57     2         originalSession  Lorg/hibernate/engine/spi/SessionImplementor;
            2   57     3           isTempSession  Z
            3   57     4                   isJTA  Z
      Exception table:
        from    to  target  type
          39    42      43  Class java.lang.Exception
          37    38      47  any
          49    52      53  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.SessionImplementor openTemporarySessionForLoading();
    descriptor: ()Lorg/hibernate/engine/spi/SessionImplementor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 281
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.sessionFactoryUuid:Ljava/lang/String;
            ifnonnull 2
         1: .line 282
            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 286
      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 285
            checkcast org.hibernate.engine.spi.SessionFactoryImplementor
            astore 1 /* sf */
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sf
         4: .line 287
            aload 1 /* sf */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.openSession:()Lorg/hibernate/Session;
            checkcast org.hibernate.engine.spi.SessionImplementor
            astore 2 /* session */
        start local 2 // org.hibernate.engine.spi.SessionImplementor session
         5: .line 288
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            iconst_1
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
         6: .line 289
            aload 2 /* session */
            getstatic org.hibernate.FlushMode.MANUAL:Lorg/hibernate/FlushMode;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.setFlushMode:(Lorg/hibernate/FlushMode;)V
         7: .line 290
            aload 2 /* session */
            areturn
        end local 2 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;

  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 294
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 6
         1: .line 295
            aload 0 /* this */
         2: .line 296
            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 295
            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 314
            aload 2 /* extraLazyExistenceCheck */
            ifnull 6
         5: .line 315
            aload 2 /* extraLazyExistenceCheck */
            areturn
        end local 2 // java.lang.Boolean extraLazyExistenceCheck
         6: .line 318
      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 322
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 6
         1: .line 323
            aload 0 /* this */
         2: .line 324
            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 323
            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 342
            aload 2 /* extraLazyExistenceCheck */
            ifnull 6
         5: .line 343
            aload 2 /* extraLazyExistenceCheck */
            areturn
        end local 2 // java.lang.Boolean extraLazyExistenceCheck
         6: .line 346
      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 352
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 5
         1: .line 375
            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 377
            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 378
            aload 2 /* reader */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection$1ExtraLazyElementByIndexReader.isExtraLazy:Z
            ifeq 5
         4: .line 379
            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 382
      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 387
            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;

  private boolean isConnectedToSession();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 391
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnull 4
         1: .line 392
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isOpen:()Z
            ifeq 4
         2: .line 393
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 391
            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 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 400
            aload 0 /* this */
            iconst_1
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.initialize:(Z)V
         1: .line 401
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.dirty:()V
         2: .line 402
            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 410
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 4
         1: .line 411
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isConnectedToSession:()Z
            ifeq 4
         2: .line 412
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isInverseCollection:()Z
            ifeq 4
         3: .line 410
            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 422
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 4
         1: .line 423
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isConnectedToSession:()Z
            ifeq 4
         2: .line 424
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isInverseOneToManyOrNoOrphanDelete:()Z
            ifeq 4
         3: .line 422
            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 434
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 4
         1: .line 435
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isConnectedToSession:()Z
            ifeq 4
         2: .line 436
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isInverseCollectionNoOrphanDelete:()Z
            ifeq 4
         3: .line 434
            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;

  private boolean isInverseCollection();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 444
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 445
            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;

  private boolean isInverseCollectionNoOrphanDelete();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 454
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 455
            aload 1 /* ce */
            ifnull 5
         2: .line 457
            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 458
            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 455
            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;

  private boolean isInverseOneToManyOrNoOrphanDelete();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 467
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 468
            aload 1 /* ce */
            ifnull 5
         2: .line 469
            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 470
            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 468
      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 478
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
            ifnonnull 2
         1: .line 479
            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 481
      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 483
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.dirty:Z
         4: .line 484
            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  

  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 491
            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 492
            aload 1 /* operation */
            invokeinterface org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation.operate:()V
        end local 1 // org.hibernate.collection.internal.AbstractPersistentCollection$DelayedOperation operation
         3: .line 491
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 494
            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 498
            aload 0 /* this */
            aload 1 /* key */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.key:Ljava/io/Serializable;
         1: .line 499
            aload 0 /* this */
            aload 2 /* role */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.role:Ljava/lang/String;
         2: .line 500
            aload 0 /* this */
            aload 3 /* snapshot */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.storedSnapshot:Ljava/io/Serializable;
         3: .line 501
            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 505
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
         1: .line 506
            aload 0 /* this */
            iconst_m1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.cachedSize:I
         2: .line 507
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.clearDirty:()V
         3: .line 508
            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 512
            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 518
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.initializing:Z
         1: .line 519
            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 524
            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 529
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.setInitialized:()V
         1: .line 531
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
            ifnull 6
         2: .line 532
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.performQueuedOperations:()V
         3: .line 533
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.operationQueue:Ljava/util/List;
         4: .line 534
            aload 0 /* this */
            iconst_m1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.cachedSize:I
         5: .line 535
            iconst_0
            ireturn
         6: .line 538
      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 551
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifeq 2
         1: .line 552
            return
         2: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 556
            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 555
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded:(Lorg/hibernate/collection/internal/AbstractPersistentCollection$LazyInitializationWork;)Ljava/lang/Object;
            pop
         5: .line 564
            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 567
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isConnectedToSession:()Z
            ifne 2
         1: .line 568
            aload 0 /* this */
            ldc "no session or session was closed"
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException:(Ljava/lang/String;)V
         2: .line 570
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isConnected:()Z
            ifne 4
         3: .line 571
            aload 0 /* this */
            ldc "session is disconnected"
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException:(Ljava/lang/String;)V
         4: .line 573
      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 576
            new org.hibernate.LazyInitializationException
            dup
         1: .line 577
            new java.lang.StringBuilder
            dup
            ldc "failed to lazily initialize a collection"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 578
            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 579
            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 577
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 576
            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 584
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.initializing:Z
         1: .line 585
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
         2: .line 586
            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 589
            aload 0 /* this */
            iload 1 /* directlyAccessible */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.directlyAccessible:Z
         1: .line 590
            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 594
            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.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor currentSession
         0: .line 599
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.prepareForPossibleLoadingOutsideTransaction:()V
         1: .line 600
            aload 1 /* currentSession */
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            if_acmpne 4
         2: .line 601
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
         3: .line 602
            iconst_1
            ireturn
         4: .line 605
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnull 6
         5: .line 606
            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/SessionImplementor;)Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.logCannotUnsetUnexpectedSessionInCollection:(Ljava/lang/String;)V
         6: .line 608
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.hibernate.engine.spi.SessionImplementor currentSession
        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  currentSession  Lorg/hibernate/engine/spi/SessionImplementor;
    MethodParameters:
                Name  Flags
      currentSession  

  protected void prepareForPossibleLoadingOutsideTransaction();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
         0: .line 613
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnull 6
         1: .line 614
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isInitializeLazyStateOutsideTransactionsEnabled:()Z
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.allowLoadOutsideTransaction:Z
         2: .line 616
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.allowLoadOutsideTransaction:Z
            ifeq 6
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.sessionFactoryUuid:Ljava/lang/String;
            ifnonnull 6
         3: .line 618
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getReference:()Ljavax/naming/Reference;
            ldc "uuid"
            invokevirtual javax.naming.Reference.get:(Ljava/lang/String;)Ljavax/naming/RefAddr;
            invokevirtual javax.naming.RefAddr.getContent:()Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.sessionFactoryUuid:Ljava/lang/String;
         4: .line 619
            goto 6
         5: .line 620
      StackMap locals:
      StackMap stack: javax.naming.NamingException
            pop
         6: .line 625
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/collection/internal/AbstractPersistentCollection;
      Exception table:
        from    to  target  type
           3     4       5  Class javax.naming.NamingException

  public final boolean setCurrentSession(org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 629
            aload 1 /* session */
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            if_acmpne 2
         1: .line 630
            iconst_0
            ireturn
         2: .line 633
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnull 11
         3: .line 634
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.generateUnexpectedSessionStateMessage:(Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         4: .line 635
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.isConnectedToSession:()Z
            ifeq 8
         5: .line 636
            new org.hibernate.HibernateException
            dup
         6: .line 637
            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 636
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 641
      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 642
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
        10: .line 643
            iconst_1
            ireturn
        end local 2 // java.lang.String msg
        11: .line 647
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
        12: .line 648
            iconst_1
            ireturn
        end local 1 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
            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.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 662
            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 663
            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 665
            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 666
            aload 2 /* roleCurrent */
            ifnull 6
         4: .line 667
            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 668
            goto 17
         6: .line 670
      StackMap locals: java.lang.String java.io.Serializable java.lang.StringBuilder
      StackMap stack:
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 671
            aload 5 /* ce */
            ifnull 16
         8: .line 672
            aload 4 /* sb */
         9: .line 674
            aload 5 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
        10: .line 675
            aload 0 /* this */
        11: .line 676
            aload 5 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedKey:()Ljava/io/Serializable;
        12: .line 677
            aload 1 /* session */
        13: .line 673
            invokestatic org.hibernate.pretty.MessageHelper.collectionInfoString:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/String;
        14: .line 672
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 680
            goto 17
        16: .line 682
      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 686
      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 687
            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 688
            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 690
      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.SessionImplementor 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/SessionImplementor;
            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=3, args_size=2
        start local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
        start local 1 // org.hibernate.persister.collection.CollectionPersister persister
         0: .line 703
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            instanceof org.hibernate.type.ComponentType
            ifeq 5
         1: .line 704
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getElementType:()Lorg/hibernate/type/Type;
            checkcast org.hibernate.type.ComponentType
            astore 2 /* componentType */
        start local 2 // org.hibernate.type.ComponentType componentType
         2: .line 705
            aload 2 /* componentType */
            invokevirtual org.hibernate.type.ComponentType.hasNotNullProperty:()Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: org.hibernate.type.ComponentType
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 2 // org.hibernate.type.ComponentType componentType
         5: .line 707
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        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;
            2    5     2  componentType  Lorg/hibernate/type/ComponentType;
    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 712
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initialized:Z
            ifne 8
         1: .line 713
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.initializing:Z
            ifeq 3
         2: .line 714
            new org.hibernate.AssertionFailure
            dup
            ldc "force initialize loading collection"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 716
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnonnull 5
         4: .line 717
            new org.hibernate.HibernateException
            dup
            ldc "collection is not associated with any session"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isConnected:()Z
            ifne 7
         6: .line 720
            new org.hibernate.HibernateException
            dup
            ldc "disconnected session"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 0 /* this */
            iconst_0
            invokeinterface org.hibernate.engine.spi.SessionImplementor.initializeCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Z)V
         8: .line 724
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.collection.internal.AbstractPersistentCollection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     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 732
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 737
            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 742
            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 747
            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 752
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.hasQueuedOperations:()Z
            ifeq 2
         1: .line 753
            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 773
      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 780
            aload 0 /* this */
            invokevirtual org.hibernate.collection.internal.AbstractPersistentCollection.hasQueuedOperations:()Z
            ifeq 9
         1: .line 781
            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 782
            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 783
            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 784
            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 785
            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 783
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 787
            aload 3 /* removals */
            aload 2 /* additions */
            aload 1 /* entityName */
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokestatic org.hibernate.collection.internal.AbstractPersistentCollection.getOrphans:(Ljava/util/Collection;Ljava/util/Collection;Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/util/Collection;
            areturn
        end local 3 // java.util.Collection removals
        end local 2 // java.util.Collection additions
         9: .line 790
      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 796
            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 800
            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.SessionImplementor getSession();
    descriptor: ()Lorg/hibernate/engine/spi/SessionImplementor;
    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 811
            aload 0 /* this */
            getfield org.hibernate.collection.internal.AbstractPersistentCollection.session:Lorg/hibernate/engine/spi/SessionImplementor;
            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.SessionImplementor);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/util/Collection;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=13, 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.SessionImplementor session
         0: .line 1148
            aload 1 /* currentElements */
            invokeinterface java.util.Collection.size:()I
            ifne 2
         1: .line 1150
            aload 0 /* oldElements */
            areturn
         2: .line 1152
      StackMap locals:
      StackMap stack:
            aload 0 /* oldElements */
            invokeinterface java.util.Collection.size:()I
            ifne 4
         3: .line 1154
            aload 0 /* oldElements */
            areturn
         4: .line 1157
      StackMap locals:
      StackMap stack:
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 1158
            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 1161
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* res */
        start local 6 // java.util.Collection res
         7: .line 1164
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* currentIds */
        start local 7 // java.util.Set currentIds
         8: .line 1165
            new org.hibernate.internal.util.collections.IdentitySet
            dup
            invokespecial org.hibernate.internal.util.collections.IdentitySet.<init>:()V
            astore 8 /* currentSaving */
        start local 8 // java.util.Set currentSaving
         9: .line 1166
            aload 1 /* currentElements */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10
            goto 21
      StackMap locals: java.util.Collection java.util.Collection java.lang.String org.hibernate.engine.spi.SessionImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type java.util.Collection java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        10: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 9 /* current */
        start local 9 // java.lang.Object current
        11: .line 1167
            aload 9 /* current */
            ifnull 21
            aload 2 /* entityName */
            aload 9 /* 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/SessionImplementor;)Z
            ifeq 21
        12: .line 1168
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 9 /* current */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 11 /* ee */
        start local 11 // org.hibernate.engine.spi.EntityEntry ee
        13: .line 1169
            aload 11 /* ee */
            ifnull 16
            aload 11 /* ee */
            invokevirtual 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 16
        14: .line 1170
            aload 8 /* currentSaving */
            aload 9 /* current */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 1171
            goto 21
        16: .line 1174
      StackMap locals: java.util.Collection java.util.Collection java.lang.String org.hibernate.engine.spi.SessionImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type 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 */
        17: .line 1175
            aload 9 /* current */
        18: .line 1176
            aload 3 /* session */
        19: .line 1173
            invokestatic org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
            astore 12 /* currentId */
        start local 12 // java.io.Serializable currentId
        20: .line 1178
            aload 7 /* currentIds */
            new org.hibernate.engine.spi.TypedValue
            dup
            aload 5 /* idType */
            aload 12 /* currentId */
            invokespecial org.hibernate.engine.spi.TypedValue.<init>:(Lorg/hibernate/type/Type;Ljava/lang/Object;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.io.Serializable currentId
        end local 11 // org.hibernate.engine.spi.EntityEntry ee
        end local 9 // java.lang.Object current
        21: .line 1166
      StackMap locals: java.util.Collection java.util.Collection java.lang.String org.hibernate.engine.spi.SessionImplementor org.hibernate.persister.entity.EntityPersister org.hibernate.type.Type java.util.Collection java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        22: .line 1184
            aload 0 /* oldElements */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10
            goto 28
      StackMap locals:
      StackMap stack:
        23: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 9 /* old */
        start local 9 // java.lang.Object old
        24: .line 1185
            aload 8 /* currentSaving */
            aload 9 /* old */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 28
        25: .line 1186
            aload 2 /* entityName */
            aload 9 /* old */
            aload 3 /* session */
            invokestatic org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
            astore 11 /* oldId */
        start local 11 // java.io.Serializable oldId
        26: .line 1187
            aload 7 /* currentIds */
            new org.hibernate.engine.spi.TypedValue
            dup
            aload 5 /* idType */
            aload 11 /* oldId */
            invokespecial org.hibernate.engine.spi.TypedValue.<init>:(Lorg/hibernate/type/Type;Ljava/lang/Object;)V
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 28
        27: .line 1188
            aload 6 /* res */
            aload 9 /* old */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.io.Serializable oldId
        end local 9 // java.lang.Object old
        28: .line 1184
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        29: .line 1193
            aload 6 /* res */
            areturn
        end local 8 // java.util.Set currentSaving
        end local 7 // java.util.Set currentIds
        end local 6 // java.util.Collection res
        end local 5 // org.hibernate.type.Type idType
        end local 4 // org.hibernate.persister.entity.EntityPersister entityPersister
        end local 3 // org.hibernate.engine.spi.SessionImplementor 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   30     0      oldElements  Ljava/util/Collection;
            0   30     1  currentElements  Ljava/util/Collection;
            0   30     2       entityName  Ljava/lang/String;
            0   30     3          session  Lorg/hibernate/engine/spi/SessionImplementor;
            5   30     4  entityPersister  Lorg/hibernate/persister/entity/EntityPersister;
            6   30     5           idType  Lorg/hibernate/type/Type;
            7   30     6              res  Ljava/util/Collection;
            8   30     7       currentIds  Ljava/util/Set;
            9   30     8    currentSaving  Ljava/util/Set;
           11   21     9          current  Ljava/lang/Object;
           13   21    11               ee  Lorg/hibernate/engine/spi/EntityEntry;
           20   21    12        currentId  Ljava/io/Serializable;
           24   28     9              old  Ljava/lang/Object;
           26   28    11            oldId  Ljava/io/Serializable;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      oldElements      
      currentElements  
      entityName       
      session          

  public static void identityRemove(java.util.Collection, java.lang.Object, java.lang.String, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/util/Collection;Ljava/lang/Object;Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)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.SessionImplementor session
         0: .line 1210
            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/SessionImplementor;)Z
            ifeq 11
         1: .line 1211
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 1212
            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 1214
            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/SessionImplementor;)Ljava/io/Serializable;
            astore 6 /* idOfCurrent */
        start local 6 // java.io.Serializable idOfCurrent
         4: .line 1215
            aload 0 /* list */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7 /* itr */
        start local 7 // java.util.Iterator itr
         5: .line 1216
            goto 10
         6: .line 1217
      StackMap locals: java.util.Collection java.lang.Object java.lang.String org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;)Ljava/io/Serializable;
            astore 8 /* idOfOld */
        start local 8 // java.io.Serializable idOfOld
         7: .line 1218
            aload 5 /* idType */
            aload 6 /* idOfCurrent */
            aload 8 /* idOfOld */
            aload 3 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.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 1219
            aload 7 /* itr */
            invokeinterface java.util.Iterator.remove:()V
         9: .line 1220
            goto 11
        end local 8 // java.io.Serializable idOfOld
        10: .line 1216
      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 1225
      StackMap locals: java.util.Collection java.lang.Object java.lang.String org.hibernate.engine.spi.SessionImplementor
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SessionImplementor 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/SessionImplementor;
            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 1229
            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 1234
            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 1239
            aload 0 /* this */
            aload 1 /* owner */
            putfield org.hibernate.collection.internal.AbstractPersistentCollection.owner:Ljava/lang/Object;
         1: .line 1240
            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$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
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 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