public class org.hibernate.engine.internal.StatefulPersistenceContext implements org.hibernate.engine.spi.PersistenceContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.engine.internal.StatefulPersistenceContext
  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 static final boolean TRACE_ENABLED;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int INIT_COLL_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

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

  private java.util.Map<org.hibernate.engine.spi.EntityKey, java.lang.Object> entitiesByKey;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;>;

  private java.util.Map<org.hibernate.engine.spi.EntityUniqueKey, java.lang.Object> entitiesByUniqueKey;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lorg/hibernate/engine/spi/EntityUniqueKey;Ljava/lang/Object;>;

  private org.hibernate.engine.internal.EntityEntryContext entityEntryContext;
    descriptor: Lorg/hibernate/engine/internal/EntityEntryContext;
    flags: (0x0002) ACC_PRIVATE

  private java.util.concurrent.ConcurrentMap<org.hibernate.engine.spi.EntityKey, java.lang.Object> proxiesByKey;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ConcurrentMap<Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;>;

  private java.util.Map<org.hibernate.engine.spi.EntityKey, java.lang.Object> entitySnapshotsByKey;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;>;

  private java.util.Map<java.lang.Object, org.hibernate.collection.spi.PersistentCollection> arrayHolders;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Object;Lorg/hibernate/collection/spi/PersistentCollection;>;

  private org.hibernate.internal.util.collections.IdentityMap<org.hibernate.collection.spi.PersistentCollection, org.hibernate.engine.spi.CollectionEntry> collectionEntries;
    descriptor: Lorg/hibernate/internal/util/collections/IdentityMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/hibernate/internal/util/collections/IdentityMap<Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;>;

  private java.util.Map<org.hibernate.engine.spi.CollectionKey, org.hibernate.collection.spi.PersistentCollection> collectionsByKey;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lorg/hibernate/engine/spi/CollectionKey;Lorg/hibernate/collection/spi/PersistentCollection;>;

  private java.util.HashSet<org.hibernate.engine.spi.EntityKey> nullifiableEntityKeys;
    descriptor: Ljava/util/HashSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashSet<Lorg/hibernate/engine/spi/EntityKey;>;

  private java.util.HashSet<org.hibernate.engine.spi.AssociationKey> nullAssociations;
    descriptor: Ljava/util/HashSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashSet<Lorg/hibernate/engine/spi/AssociationKey;>;

  private java.util.List<org.hibernate.collection.spi.PersistentCollection> nonlazyCollections;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/hibernate/collection/spi/PersistentCollection;>;

  private java.util.Map<org.hibernate.engine.spi.CollectionKey, org.hibernate.collection.spi.PersistentCollection> unownedCollections;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lorg/hibernate/engine/spi/CollectionKey;Lorg/hibernate/collection/spi/PersistentCollection;>;

  private java.util.Map<java.lang.Object, java.lang.Object> parentsByChild;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;

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

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

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

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

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

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

  private org.hibernate.engine.loading.internal.LoadContexts loadContexts;
    descriptor: Lorg/hibernate/engine/loading/internal/LoadContexts;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.HashMap<java.lang.String, java.util.List<java.io.Serializable>> insertedKeysMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/util/List<Ljava/io/Serializable;>;>;

  private final org.hibernate.engine.internal.NaturalIdXrefDelegate naturalIdXrefDelegate;
    descriptor: Lorg/hibernate/engine/internal/NaturalIdXrefDelegate;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.engine.spi.PersistenceContext$NaturalIdHelper naturalIdHelper;
    descriptor: Lorg/hibernate/engine/spi/PersistenceContext$NaturalIdHelper;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 94
            ldc Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 95
            ldc Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         2: .line 93
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         3: .line 98
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            putstatic org.hibernate.engine.internal.StatefulPersistenceContext.TRACE_ENABLED:Z
         4: .line 99
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 163
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1680
            aload 0 /* this */
            new org.hibernate.engine.internal.NaturalIdXrefDelegate
            dup
            aload 0 /* this */
            invokespecial org.hibernate.engine.internal.NaturalIdXrefDelegate.<init>:(Lorg/hibernate/engine/internal/StatefulPersistenceContext;)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.naturalIdXrefDelegate:Lorg/hibernate/engine/internal/NaturalIdXrefDelegate;
         2: .line 1682
            aload 0 /* this */
            new org.hibernate.engine.internal.StatefulPersistenceContext$1
            dup
            aload 0 /* this */
            invokespecial org.hibernate.engine.internal.StatefulPersistenceContext$1.<init>:(Lorg/hibernate/engine/internal/StatefulPersistenceContext;)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.naturalIdHelper:Lorg/hibernate/engine/spi/PersistenceContext$NaturalIdHelper;
         3: .line 164
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
         4: .line 166
            aload 0 /* this */
            new java.util.HashMap
            dup
            bipush 8
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
         5: .line 167
            aload 0 /* this */
            new java.util.HashMap
            dup
            bipush 8
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByUniqueKey:Ljava/util/Map;
         6: .line 169
            aload 0 /* this */
            new org.hibernate.internal.util.collections.ConcurrentReferenceHashMap
            dup
            bipush 8
            ldc 0.75
            iconst_1
            getstatic org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$ReferenceType.STRONG:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
            getstatic org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$ReferenceType.WEAK:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
            aconst_null
            invokespecial org.hibernate.internal.util.collections.ConcurrentReferenceHashMap.<init>:(IFILorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;Ljava/util/EnumSet;)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
         7: .line 170
            aload 0 /* this */
            new java.util.HashMap
            dup
            bipush 8
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.entitySnapshotsByKey:Ljava/util/Map;
         8: .line 172
            aload 0 /* this */
            new org.hibernate.engine.internal.EntityEntryContext
            dup
            invokespecial org.hibernate.engine.internal.EntityEntryContext.<init>:()V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
         9: .line 174
            aload 0 /* this */
            bipush 8
            invokestatic org.hibernate.internal.util.collections.IdentityMap.instantiateSequenced:(I)Lorg/hibernate/internal/util/collections/IdentityMap;
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
        10: .line 175
            aload 0 /* this */
            new java.util.IdentityHashMap
            dup
            bipush 8
            invokespecial java.util.IdentityHashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.parentsByChild:Ljava/util/Map;
        11: .line 177
            aload 0 /* this */
            new java.util.HashMap
            dup
            bipush 8
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionsByKey:Ljava/util/Map;
        12: .line 178
            aload 0 /* this */
            new java.util.IdentityHashMap
            dup
            bipush 8
            invokespecial java.util.IdentityHashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.arrayHolders:Ljava/util/Map;
        13: .line 180
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.nullifiableEntityKeys:Ljava/util/HashSet;
        14: .line 182
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.initTransientState:()V
        15: .line 183
            return
        end local 1 // org.hibernate.engine.spi.SessionImplementor session
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   16     1  session  Lorg/hibernate/engine/spi/SessionImplementor;
    MethodParameters:
         Name  Flags
      session  

  private void initTransientState();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 186
            aload 0 /* this */
            new java.util.HashSet
            dup
            bipush 8
            invokespecial java.util.HashSet.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.nullAssociations:Ljava/util/HashSet;
         1: .line 187
            aload 0 /* this */
            new java.util.ArrayList
            dup
            bipush 8
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.nonlazyCollections:Ljava/util/List;
         2: .line 188
            return
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public boolean isStateless();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 192
            iconst_0
            ireturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public org.hibernate.engine.spi.SessionImplementor getSession();
    descriptor: ()Lorg/hibernate/engine/spi/SessionImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 197
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public org.hibernate.engine.loading.internal.LoadContexts getLoadContexts();
    descriptor: ()Lorg/hibernate/engine/loading/internal/LoadContexts;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 202
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.loadContexts:Lorg/hibernate/engine/loading/internal/LoadContexts;
            ifnonnull 2
         1: .line 203
            aload 0 /* this */
            new org.hibernate.engine.loading.internal.LoadContexts
            dup
            aload 0 /* this */
            invokespecial org.hibernate.engine.loading.internal.LoadContexts.<init>:(Lorg/hibernate/engine/spi/PersistenceContext;)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.loadContexts:Lorg/hibernate/engine/loading/internal/LoadContexts;
         2: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.loadContexts:Lorg/hibernate/engine/loading/internal/LoadContexts;
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public void addUnownedCollection(org.hibernate.engine.spi.CollectionKey, org.hibernate.collection.spi.PersistentCollection);
    descriptor: (Lorg/hibernate/engine/spi/CollectionKey;Lorg/hibernate/collection/spi/PersistentCollection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.CollectionKey key
        start local 2 // org.hibernate.collection.spi.PersistentCollection collection
         0: .line 210
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.unownedCollections:Ljava/util/Map;
            ifnonnull 2
         1: .line 211
            aload 0 /* this */
            new java.util.HashMap
            dup
            bipush 8
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.unownedCollections:Ljava/util/Map;
         2: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.unownedCollections:Ljava/util/Map;
            aload 1 /* key */
            aload 2 /* collection */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 214
            return
        end local 2 // org.hibernate.collection.spi.PersistentCollection collection
        end local 1 // org.hibernate.engine.spi.CollectionKey key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    4     1         key  Lorg/hibernate/engine/spi/CollectionKey;
            0    4     2  collection  Lorg/hibernate/collection/spi/PersistentCollection;
    MethodParameters:
            Name  Flags
      key         
      collection  

  public org.hibernate.collection.spi.PersistentCollection useUnownedCollection(org.hibernate.engine.spi.CollectionKey);
    descriptor: (Lorg/hibernate/engine/spi/CollectionKey;)Lorg/hibernate/collection/spi/PersistentCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.CollectionKey key
         0: .line 218
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.unownedCollections:Ljava/util/Map;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.unownedCollections:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.collection.spi.PersistentCollection
      StackMap locals:
      StackMap stack: org.hibernate.collection.spi.PersistentCollection
         2: areturn
        end local 1 // org.hibernate.engine.spi.CollectionKey key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    3     1   key  Lorg/hibernate/engine/spi/CollectionKey;
    MethodParameters:
      Name  Flags
      key   

  public org.hibernate.engine.spi.BatchFetchQueue getBatchFetchQueue();
    descriptor: ()Lorg/hibernate/engine/spi/BatchFetchQueue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 223
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.batchFetchQueue:Lorg/hibernate/engine/spi/BatchFetchQueue;
            ifnonnull 2
         1: .line 224
            aload 0 /* this */
            new org.hibernate.engine.spi.BatchFetchQueue
            dup
            aload 0 /* this */
            invokespecial org.hibernate.engine.spi.BatchFetchQueue.<init>:(Lorg/hibernate/engine/spi/PersistenceContext;)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.batchFetchQueue:Lorg/hibernate/engine/spi/BatchFetchQueue;
         2: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.batchFetchQueue:Lorg/hibernate/engine/spi/BatchFetchQueue;
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 231
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 1 /* o */
        start local 1 // java.lang.Object o
         2: .line 232
            aload 1 /* o */
            ifnonnull 4
         3: .line 234
            goto 5
         4: .line 236
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.Object java.util.Iterator
      StackMap stack:
            aload 1 /* o */
            checkcast org.hibernate.proxy.HibernateProxy
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            invokeinterface org.hibernate.proxy.LazyInitializer.unsetSession:()V
        end local 1 // java.lang.Object o
         5: .line 231
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 238
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            invokestatic org.hibernate.internal.util.collections.IdentityMap.concurrentEntries:(Ljava/util/Map;)[Ljava/util/Map$Entry;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 10
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext top int int java.util.Map$Entry[]
      StackMap stack:
         7: aload 4
            iload 2
            aaload
            astore 1 /* aCollectionEntryArray */
        start local 1 // java.util.Map$Entry aCollectionEntryArray
         8: .line 239
            aload 1 /* aCollectionEntryArray */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.hibernate.collection.spi.PersistentCollection
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getSession:()Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.collection.spi.PersistentCollection.unsetSession:(Lorg/hibernate/engine/spi/SessionImplementor;)Z
            pop
        end local 1 // java.util.Map$Entry aCollectionEntryArray
         9: .line 238
            iinc 2 1
      StackMap locals:
      StackMap stack:
        10: iload 2
            iload 3
            if_icmplt 7
        11: .line 241
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.arrayHolders:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        12: .line 242
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        13: .line 243
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByUniqueKey:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        14: .line 244
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.clear:()V
        15: .line 246
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.parentsByChild:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        16: .line 247
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitySnapshotsByKey:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        17: .line 248
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionsByKey:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        18: .line 249
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            invokevirtual org.hibernate.internal.util.collections.IdentityMap.clear:()V
        19: .line 250
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.unownedCollections:Ljava/util/Map;
            ifnull 21
        20: .line 251
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.unownedCollections:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        21: .line 253
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
        22: .line 254
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nullifiableEntityKeys:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.clear:()V
        23: .line 255
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.batchFetchQueue:Lorg/hibernate/engine/spi/BatchFetchQueue;
            ifnull 25
        24: .line 256
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.batchFetchQueue:Lorg/hibernate/engine/spi/BatchFetchQueue;
            invokevirtual org.hibernate.engine.spi.BatchFetchQueue.clear:()V
        25: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.hasNonReadOnlyEntities:Z
        26: .line 260
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.loadContexts:Lorg/hibernate/engine/loading/internal/LoadContexts;
            ifnull 28
        27: .line 261
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.loadContexts:Lorg/hibernate/engine/loading/internal/LoadContexts;
            invokevirtual org.hibernate.engine.loading.internal.LoadContexts.cleanup:()V
        28: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.naturalIdXrefDelegate:Lorg/hibernate/engine/internal/NaturalIdXrefDelegate;
            invokevirtual org.hibernate.engine.internal.NaturalIdXrefDelegate.clear:()V
        29: .line 264
            return
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   30     0                   this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            2    5     1                      o  Ljava/lang/Object;
            8    9     1  aCollectionEntryArray  Ljava/util/Map$Entry<Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;>;

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

  public void setDefaultReadOnly(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // boolean defaultReadOnly
         0: .line 273
            aload 0 /* this */
            iload 1 /* defaultReadOnly */
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.defaultReadOnly:Z
         1: .line 274
            return
        end local 1 // boolean defaultReadOnly
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    2     1  defaultReadOnly  Z
    MethodParameters:
                 Name  Flags
      defaultReadOnly  

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

  public void setEntryStatus(org.hibernate.engine.spi.EntityEntry, org.hibernate.engine.spi.Status);
    descriptor: (Lorg/hibernate/engine/spi/EntityEntry;Lorg/hibernate/engine/spi/Status;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityEntry entry
        start local 2 // org.hibernate.engine.spi.Status status
         0: .line 283
            aload 1 /* entry */
            aload 2 /* status */
            invokevirtual org.hibernate.engine.spi.EntityEntry.setStatus:(Lorg/hibernate/engine/spi/Status;)V
         1: .line 284
            aload 0 /* this */
            aload 2 /* status */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.setHasNonReadOnlyEnties:(Lorg/hibernate/engine/spi/Status;)V
         2: .line 285
            return
        end local 2 // org.hibernate.engine.spi.Status status
        end local 1 // org.hibernate.engine.spi.EntityEntry entry
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    3     1   entry  Lorg/hibernate/engine/spi/EntityEntry;
            0    3     2  status  Lorg/hibernate/engine/spi/Status;
    MethodParameters:
        Name  Flags
      entry   
      status  

  private void setHasNonReadOnlyEnties(org.hibernate.engine.spi.Status);
    descriptor: (Lorg/hibernate/engine/spi/Status;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.Status status
         0: .line 288
            aload 1 /* status */
            getstatic org.hibernate.engine.spi.Status.DELETED:Lorg/hibernate/engine/spi/Status;
            if_acmpeq 1
            aload 1 /* status */
            getstatic org.hibernate.engine.spi.Status.MANAGED:Lorg/hibernate/engine/spi/Status;
            if_acmpeq 1
            aload 1 /* status */
            getstatic org.hibernate.engine.spi.Status.SAVING:Lorg/hibernate/engine/spi/Status;
            if_acmpne 2
         1: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.hasNonReadOnlyEntities:Z
         2: .line 291
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hibernate.engine.spi.Status status
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    3     1  status  Lorg/hibernate/engine/spi/Status;
    MethodParameters:
        Name  Flags
      status  

  public void afterTransactionCompletion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 295
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.cleanUpInsertedKeysAfterTransaction:()V
         1: .line 296
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.downgradeLocks:()V
         2: .line 301
            return
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public java.lang.Object[] getDatabaseSnapshot(java.io.Serializable, org.hibernate.persister.entity.EntityPersister);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.io.Serializable id
        start local 2 // org.hibernate.persister.entity.EntityPersister persister
         0: .line 311
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 1 /* id */
            aload 2 /* persister */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            astore 3 /* key */
        start local 3 // org.hibernate.engine.spi.EntityKey key
         1: .line 312
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitySnapshotsByKey:Ljava/util/Map;
            aload 3 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* cached */
        start local 4 // java.lang.Object cached
         2: .line 313
            aload 4 /* cached */
            ifnull 6
         3: .line 314
            aload 4 /* cached */
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.NO_ROW:Ljava/lang/Object;
            if_acmpne 4
            aconst_null
            goto 5
      StackMap locals: org.hibernate.engine.spi.EntityKey java.lang.Object
      StackMap stack:
         4: aload 4 /* cached */
            checkcast java.lang.Object[]
      StackMap locals:
      StackMap stack: java.lang.Object[]
         5: areturn
         6: .line 317
      StackMap locals:
      StackMap stack:
            aload 2 /* persister */
            aload 1 /* id */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getDatabaseSnapshot:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)[Ljava/lang/Object;
            astore 5 /* snapshot */
        start local 5 // java.lang.Object[] snapshot
         7: .line 318
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitySnapshotsByKey:Ljava/util/Map;
            aload 3 /* key */
            aload 5 /* snapshot */
            ifnonnull 8
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.NO_ROW:Ljava/lang/Object;
            goto 9
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.Serializable org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.EntityKey java.lang.Object java.lang.Object[]
      StackMap stack: java.util.Map org.hibernate.engine.spi.EntityKey
         8: aload 5 /* snapshot */
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.Serializable org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.EntityKey java.lang.Object java.lang.Object[]
      StackMap stack: java.util.Map org.hibernate.engine.spi.EntityKey java.lang.Object
         9: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 319
            aload 5 /* snapshot */
            areturn
        end local 5 // java.lang.Object[] snapshot
        end local 4 // java.lang.Object cached
        end local 3 // org.hibernate.engine.spi.EntityKey key
        end local 2 // org.hibernate.persister.entity.EntityPersister persister
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   11     1         id  Ljava/io/Serializable;
            0   11     2  persister  Lorg/hibernate/persister/entity/EntityPersister;
            1   11     3        key  Lorg/hibernate/engine/spi/EntityKey;
            2   11     4     cached  Ljava/lang/Object;
            7   11     5   snapshot  [Ljava/lang/Object;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
           Name  Flags
      id         
      persister  

  public java.lang.Object[] getNaturalIdSnapshot(java.io.Serializable, org.hibernate.persister.entity.EntityPersister);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.io.Serializable id
        start local 2 // org.hibernate.persister.entity.EntityPersister persister
         0: .line 325
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.hasNaturalIdentifier:()Z
            ifne 2
         1: .line 326
            aconst_null
            areturn
         2: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* persister */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.locateProperPersister:(Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 2 /* persister */
         3: .line 332
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.naturalIdHelper:Lorg/hibernate/engine/spi/PersistenceContext$NaturalIdHelper;
            aload 2 /* persister */
            aload 1 /* id */
            invokeinterface org.hibernate.engine.spi.PersistenceContext$NaturalIdHelper.findCachedNaturalId:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/io/Serializable;)[Ljava/lang/Object;
            astore 3 /* cachedValue */
        start local 3 // java.lang.Object[] cachedValue
         4: .line 333
            aload 3 /* cachedValue */
            ifnull 6
         5: .line 334
            aload 3 /* cachedValue */
            areturn
         6: .line 338
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMetamodel:()Lorg/hibernate/tuple/entity/EntityMetamodel;
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.hasImmutableNaturalId:()Z
            ifeq 14
         7: .line 340
            aload 2 /* persister */
            aload 1 /* id */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getNaturalIdentifierSnapshot:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)[Ljava/lang/Object;
            astore 4 /* dbValue */
        start local 4 // java.lang.Object[] dbValue
         8: .line 341
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.naturalIdHelper:Lorg/hibernate/engine/spi/PersistenceContext$NaturalIdHelper;
         9: .line 342
            aload 2 /* persister */
        10: .line 343
            aload 1 /* id */
        11: .line 344
            aload 4 /* dbValue */
        12: .line 341
            invokeinterface org.hibernate.engine.spi.PersistenceContext$NaturalIdHelper.cacheNaturalIdCrossReferenceFromLoad:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/io/Serializable;[Ljava/lang/Object;)V
        13: .line 346
            aload 4 /* dbValue */
            areturn
        end local 4 // java.lang.Object[] dbValue
        14: .line 351
      StackMap locals:
      StackMap stack:
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getNaturalIdentifierProperties:()[I
            astore 4 /* props */
        start local 4 // int[] props
        15: .line 352
            aload 0 /* this */
            aload 1 /* id */
            aload 2 /* persister */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getDatabaseSnapshot:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)[Ljava/lang/Object;
            astore 5 /* entitySnapshot */
        start local 5 // java.lang.Object[] entitySnapshot
        16: .line 353
            aload 5 /* entitySnapshot */
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.NO_ROW:Ljava/lang/Object;
            if_acmpeq 17
            aload 5 /* entitySnapshot */
            ifnonnull 18
        17: .line 354
      StackMap locals: int[] java.lang.Object[]
      StackMap stack:
            aconst_null
            areturn
        18: .line 357
      StackMap locals:
      StackMap stack:
            aload 4 /* props */
            arraylength
            anewarray java.lang.Object
            astore 6 /* naturalIdSnapshotSubSet */
        start local 6 // java.lang.Object[] naturalIdSnapshotSubSet
        19: .line 358
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        20: goto 23
        21: .line 359
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 6 /* naturalIdSnapshotSubSet */
            iload 7 /* i */
            aload 5 /* entitySnapshot */
            aload 4 /* props */
            iload 7 /* i */
            iaload
            aaload
            aastore
        22: .line 358
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 7 /* i */
            aload 4 /* props */
            arraylength
            if_icmplt 21
        end local 7 // int i
        24: .line 361
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.naturalIdHelper:Lorg/hibernate/engine/spi/PersistenceContext$NaturalIdHelper;
        25: .line 362
            aload 2 /* persister */
        26: .line 363
            aload 1 /* id */
        27: .line 364
            aload 6 /* naturalIdSnapshotSubSet */
        28: .line 361
            invokeinterface org.hibernate.engine.spi.PersistenceContext$NaturalIdHelper.cacheNaturalIdCrossReferenceFromLoad:(Lorg/hibernate/persister/entity/EntityPersister;Ljava/io/Serializable;[Ljava/lang/Object;)V
        29: .line 366
            aload 6 /* naturalIdSnapshotSubSet */
            areturn
        end local 6 // java.lang.Object[] naturalIdSnapshotSubSet
        end local 5 // java.lang.Object[] entitySnapshot
        end local 4 // int[] props
        end local 3 // java.lang.Object[] cachedValue
        end local 2 // org.hibernate.persister.entity.EntityPersister persister
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   30     0                     this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   30     1                       id  Ljava/io/Serializable;
            0   30     2                persister  Lorg/hibernate/persister/entity/EntityPersister;
            4   30     3              cachedValue  [Ljava/lang/Object;
            8   14     4                  dbValue  [Ljava/lang/Object;
           15   30     4                    props  [I
           16   30     5           entitySnapshot  [Ljava/lang/Object;
           19   30     6  naturalIdSnapshotSubSet  [Ljava/lang/Object;
           20   24     7                        i  I
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
           Name  Flags
      id         
      persister  

  private org.hibernate.persister.entity.EntityPersister locateProperPersister(org.hibernate.persister.entity.EntityPersister);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.persister.entity.EntityPersister persister
         0: .line 371
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getRootEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            areturn
        end local 1 // org.hibernate.persister.entity.EntityPersister persister
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  persister  Lorg/hibernate/persister/entity/EntityPersister;
    MethodParameters:
           Name  Flags
      persister  

  public java.lang.Object[] getCachedDatabaseSnapshot(org.hibernate.engine.spi.EntityKey);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey key
         0: .line 376
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitySnapshotsByKey:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* snapshot */
        start local 2 // java.lang.Object snapshot
         1: .line 377
            aload 2 /* snapshot */
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.NO_ROW:Ljava/lang/Object;
            if_acmpne 7
         2: .line 378
            new java.lang.IllegalStateException
            dup
         3: .line 379
            new java.lang.StringBuilder
            dup
            ldc "persistence context reported no row snapshot for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 380
            aload 1 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getEntityName:()Ljava/lang/String;
            aload 1 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
            invokestatic org.hibernate.pretty.MessageHelper.infoString:(Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 379
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 378
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 383
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* snapshot */
            checkcast java.lang.Object[]
            areturn
        end local 2 // java.lang.Object snapshot
        end local 1 // org.hibernate.engine.spi.EntityKey key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    8     1       key  Lorg/hibernate/engine/spi/EntityKey;
            1    8     2  snapshot  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public void addEntity(org.hibernate.engine.spi.EntityKey, java.lang.Object);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey key
        start local 2 // java.lang.Object entity
         0: .line 388
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            aload 1 /* key */
            aload 2 /* entity */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 389
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getBatchFetchQueue:()Lorg/hibernate/engine/spi/BatchFetchQueue;
            aload 1 /* key */
            invokevirtual org.hibernate.engine.spi.BatchFetchQueue.removeBatchLoadableEntityKey:(Lorg/hibernate/engine/spi/EntityKey;)V
         2: .line 390
            return
        end local 2 // java.lang.Object entity
        end local 1 // org.hibernate.engine.spi.EntityKey key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    3     1     key  Lorg/hibernate/engine/spi/EntityKey;
            0    3     2  entity  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      key     
      entity  

  public java.lang.Object getEntity(org.hibernate.engine.spi.EntityKey);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey key
         0: .line 394
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // org.hibernate.engine.spi.EntityKey key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1   key  Lorg/hibernate/engine/spi/EntityKey;
    MethodParameters:
      Name  Flags
      key   

  public boolean containsEntity(org.hibernate.engine.spi.EntityKey);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey key
         0: .line 399
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.hibernate.engine.spi.EntityKey key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1   key  Lorg/hibernate/engine/spi/EntityKey;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.Object removeEntity(org.hibernate.engine.spi.EntityKey);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey key
         0: .line 404
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* entity */
        start local 2 // java.lang.Object entity
         1: .line 405
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByUniqueKey:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* itr */
        start local 3 // java.util.Iterator itr
         2: .line 406
            goto 5
         3: .line 407
      StackMap locals: java.lang.Object java.util.Iterator
      StackMap stack:
            aload 3 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            aload 2 /* entity */
            if_acmpne 5
         4: .line 408
            aload 3 /* itr */
            invokeinterface java.util.Iterator.remove:()V
         5: .line 406
      StackMap locals:
      StackMap stack:
            aload 3 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 412
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.parentsByChild:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         7: .line 413
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitySnapshotsByKey:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 414
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nullifiableEntityKeys:Ljava/util/HashSet;
            aload 1 /* key */
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
         9: .line 415
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getBatchFetchQueue:()Lorg/hibernate/engine/spi/BatchFetchQueue;
            aload 1 /* key */
            invokevirtual org.hibernate.engine.spi.BatchFetchQueue.removeBatchLoadableEntityKey:(Lorg/hibernate/engine/spi/EntityKey;)V
        10: .line 416
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getBatchFetchQueue:()Lorg/hibernate/engine/spi/BatchFetchQueue;
            aload 1 /* key */
            invokevirtual org.hibernate.engine.spi.BatchFetchQueue.removeSubselect:(Lorg/hibernate/engine/spi/EntityKey;)V
        11: .line 417
            aload 2 /* entity */
            areturn
        end local 3 // java.util.Iterator itr
        end local 2 // java.lang.Object entity
        end local 1 // org.hibernate.engine.spi.EntityKey key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   12     1     key  Lorg/hibernate/engine/spi/EntityKey;
            1   12     2  entity  Ljava/lang/Object;
            2   12     3     itr  Ljava/util/Iterator;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.Object getEntity(org.hibernate.engine.spi.EntityUniqueKey);
    descriptor: (Lorg/hibernate/engine/spi/EntityUniqueKey;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityUniqueKey euk
         0: .line 422
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByUniqueKey:Ljava/util/Map;
            aload 1 /* euk */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // org.hibernate.engine.spi.EntityUniqueKey euk
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1   euk  Lorg/hibernate/engine/spi/EntityUniqueKey;
    MethodParameters:
      Name  Flags
      euk   

  public void addEntity(org.hibernate.engine.spi.EntityUniqueKey, java.lang.Object);
    descriptor: (Lorg/hibernate/engine/spi/EntityUniqueKey;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityUniqueKey euk
        start local 2 // java.lang.Object entity
         0: .line 427
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByUniqueKey:Ljava/util/Map;
            aload 1 /* euk */
            aload 2 /* entity */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 428
            return
        end local 2 // java.lang.Object entity
        end local 1 // org.hibernate.engine.spi.EntityUniqueKey euk
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    2     1     euk  Lorg/hibernate/engine/spi/EntityUniqueKey;
            0    2     2  entity  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      euk     
      entity  

  public org.hibernate.engine.spi.EntityEntry getEntry(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object entity
         0: .line 432
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            aload 1 /* entity */
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.getEntityEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            areturn
        end local 1 // java.lang.Object entity
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  entity  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      entity  

  public org.hibernate.engine.spi.EntityEntry removeEntry(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object entity
         0: .line 437
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            aload 1 /* entity */
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.removeEntityEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            areturn
        end local 1 // java.lang.Object entity
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  entity  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      entity  

  public boolean isEntryFor(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object entity
         0: .line 442
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            aload 1 /* entity */
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.hasEntityEntry:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object entity
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  entity  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      entity  

  public org.hibernate.engine.spi.CollectionEntry getCollectionEntry(org.hibernate.collection.spi.PersistentCollection);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.collection.spi.PersistentCollection coll
         0: .line 447
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            aload 1 /* coll */
            invokevirtual org.hibernate.internal.util.collections.IdentityMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.CollectionEntry
            areturn
        end local 1 // org.hibernate.collection.spi.PersistentCollection coll
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  coll  Lorg/hibernate/collection/spi/PersistentCollection;
    MethodParameters:
      Name  Flags
      coll  

  public org.hibernate.engine.spi.EntityEntry addEntity(java.lang.Object, org.hibernate.engine.spi.Status, java.lang.Object[], org.hibernate.engine.spi.EntityKey, java.lang.Object, org.hibernate.LockMode, boolean, org.hibernate.persister.entity.EntityPersister, boolean, boolean);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/engine/spi/Status;[Ljava/lang/Object;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;Lorg/hibernate/LockMode;ZLorg/hibernate/persister/entity/EntityPersister;ZZ)Lorg/hibernate/engine/spi/EntityEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=11, args_size=11
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object entity
        start local 2 // org.hibernate.engine.spi.Status status
        start local 3 // java.lang.Object[] loadedState
        start local 4 // org.hibernate.engine.spi.EntityKey entityKey
        start local 5 // java.lang.Object version
        start local 6 // org.hibernate.LockMode lockMode
        start local 7 // boolean existsInDatabase
        start local 8 // org.hibernate.persister.entity.EntityPersister persister
        start local 9 // boolean disableVersionIncrement
        start local 10 // boolean lazyPropertiesAreUnfetched
         0: .line 462
            aload 0 /* this */
            aload 4 /* entityKey */
            aload 1 /* entity */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.addEntity:(Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;)V
         1: .line 463
            aload 0 /* this */
         2: .line 464
            aload 1 /* entity */
         3: .line 465
            aload 2 /* status */
         4: .line 466
            aload 3 /* loadedState */
         5: .line 467
            aconst_null
         6: .line 468
            aload 4 /* entityKey */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
         7: .line 469
            aload 5 /* version */
         8: .line 470
            aload 6 /* lockMode */
         9: .line 471
            iload 7 /* existsInDatabase */
        10: .line 472
            aload 8 /* persister */
        11: .line 473
            iload 9 /* disableVersionIncrement */
        12: .line 474
            iload 10 /* lazyPropertiesAreUnfetched */
        13: .line 463
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.addEntry:(Ljava/lang/Object;Lorg/hibernate/engine/spi/Status;[Ljava/lang/Object;Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/LockMode;ZLorg/hibernate/persister/entity/EntityPersister;ZZ)Lorg/hibernate/engine/spi/EntityEntry;
            areturn
        end local 10 // boolean lazyPropertiesAreUnfetched
        end local 9 // boolean disableVersionIncrement
        end local 8 // org.hibernate.persister.entity.EntityPersister persister
        end local 7 // boolean existsInDatabase
        end local 6 // org.hibernate.LockMode lockMode
        end local 5 // java.lang.Object version
        end local 4 // org.hibernate.engine.spi.EntityKey entityKey
        end local 3 // java.lang.Object[] loadedState
        end local 2 // org.hibernate.engine.spi.Status status
        end local 1 // java.lang.Object entity
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   14     0                        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   14     1                      entity  Ljava/lang/Object;
            0   14     2                      status  Lorg/hibernate/engine/spi/Status;
            0   14     3                 loadedState  [Ljava/lang/Object;
            0   14     4                   entityKey  Lorg/hibernate/engine/spi/EntityKey;
            0   14     5                     version  Ljava/lang/Object;
            0   14     6                    lockMode  Lorg/hibernate/LockMode;
            0   14     7            existsInDatabase  Z
            0   14     8                   persister  Lorg/hibernate/persister/entity/EntityPersister;
            0   14     9     disableVersionIncrement  Z
            0   14    10  lazyPropertiesAreUnfetched  Z
    MethodParameters:
                            Name  Flags
      entity                      final
      status                      final
      loadedState                 final
      entityKey                   final
      version                     final
      lockMode                    final
      existsInDatabase            final
      persister                   final
      disableVersionIncrement     final
      lazyPropertiesAreUnfetched  

  public org.hibernate.engine.spi.EntityEntry addEntry(java.lang.Object, org.hibernate.engine.spi.Status, java.lang.Object[], java.lang.Object, java.io.Serializable, java.lang.Object, org.hibernate.LockMode, boolean, org.hibernate.persister.entity.EntityPersister, boolean, boolean);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/engine/spi/Status;[Ljava/lang/Object;Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/LockMode;ZLorg/hibernate/persister/entity/EntityPersister;ZZ)Lorg/hibernate/engine/spi/EntityEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=13, args_size=12
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object entity
        start local 2 // org.hibernate.engine.spi.Status status
        start local 3 // java.lang.Object[] loadedState
        start local 4 // java.lang.Object rowId
        start local 5 // java.io.Serializable id
        start local 6 // java.lang.Object version
        start local 7 // org.hibernate.LockMode lockMode
        start local 8 // boolean existsInDatabase
        start local 9 // org.hibernate.persister.entity.EntityPersister persister
        start local 10 // boolean disableVersionIncrement
        start local 11 // boolean lazyPropertiesAreUnfetched
         0: .line 492
            new org.hibernate.engine.spi.EntityEntry
            dup
         1: .line 493
            aload 2 /* status */
         2: .line 494
            aload 3 /* loadedState */
         3: .line 495
            aload 4 /* rowId */
         4: .line 496
            aload 5 /* id */
         5: .line 497
            aload 6 /* version */
         6: .line 498
            aload 7 /* lockMode */
         7: .line 499
            iload 8 /* existsInDatabase */
         8: .line 500
            aload 9 /* persister */
         9: .line 501
            iload 10 /* disableVersionIncrement */
        10: .line 502
            iload 11 /* lazyPropertiesAreUnfetched */
        11: .line 503
            aload 0 /* this */
        12: .line 492
            invokespecial org.hibernate.engine.spi.EntityEntry.<init>:(Lorg/hibernate/engine/spi/Status;[Ljava/lang/Object;Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/LockMode;ZLorg/hibernate/persister/entity/EntityPersister;ZZLorg/hibernate/engine/spi/PersistenceContext;)V
            astore 12 /* e */
        start local 12 // org.hibernate.engine.spi.EntityEntry e
        13: .line 506
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            aload 1 /* entity */
            aload 12 /* e */
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.addEntityEntry:(Ljava/lang/Object;Lorg/hibernate/engine/spi/EntityEntry;)V
        14: .line 509
            aload 0 /* this */
            aload 2 /* status */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.setHasNonReadOnlyEnties:(Lorg/hibernate/engine/spi/Status;)V
        15: .line 510
            aload 12 /* e */
            areturn
        end local 12 // org.hibernate.engine.spi.EntityEntry e
        end local 11 // boolean lazyPropertiesAreUnfetched
        end local 10 // boolean disableVersionIncrement
        end local 9 // org.hibernate.persister.entity.EntityPersister persister
        end local 8 // boolean existsInDatabase
        end local 7 // org.hibernate.LockMode lockMode
        end local 6 // java.lang.Object version
        end local 5 // java.io.Serializable id
        end local 4 // java.lang.Object rowId
        end local 3 // java.lang.Object[] loadedState
        end local 2 // org.hibernate.engine.spi.Status status
        end local 1 // java.lang.Object entity
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   16     0                        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   16     1                      entity  Ljava/lang/Object;
            0   16     2                      status  Lorg/hibernate/engine/spi/Status;
            0   16     3                 loadedState  [Ljava/lang/Object;
            0   16     4                       rowId  Ljava/lang/Object;
            0   16     5                          id  Ljava/io/Serializable;
            0   16     6                     version  Ljava/lang/Object;
            0   16     7                    lockMode  Lorg/hibernate/LockMode;
            0   16     8            existsInDatabase  Z
            0   16     9                   persister  Lorg/hibernate/persister/entity/EntityPersister;
            0   16    10     disableVersionIncrement  Z
            0   16    11  lazyPropertiesAreUnfetched  Z
           13   16    12                           e  Lorg/hibernate/engine/spi/EntityEntry;
    MethodParameters:
                            Name  Flags
      entity                      final
      status                      final
      loadedState                 final
      rowId                       final
      id                          final
      version                     final
      lockMode                    final
      existsInDatabase            final
      persister                   final
      disableVersionIncrement     final
      lazyPropertiesAreUnfetched  

  public boolean containsCollection(org.hibernate.collection.spi.PersistentCollection);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
         0: .line 515
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            aload 1 /* collection */
            invokevirtual org.hibernate.internal.util.collections.IdentityMap.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  collection  Lorg/hibernate/collection/spi/PersistentCollection;
    MethodParameters:
            Name  Flags
      collection  

  public boolean containsProxy(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object entity
         0: .line 520
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* entity */
            invokeinterface java.util.concurrent.ConcurrentMap.containsValue:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object entity
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  entity  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      entity  

  public boolean reassociateIfUninitializedProxy(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object value
         0: .line 525
            aload 1 /* value */
            instanceof org.hibernate.tuple.ElementWrapper
            ifeq 2
         1: .line 526
            aload 1 /* value */
            checkcast org.hibernate.tuple.ElementWrapper
            invokevirtual org.hibernate.tuple.ElementWrapper.getElement:()Lorg/dom4j/Element;
            astore 1 /* value */
         2: .line 529
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokestatic org.hibernate.Hibernate.isInitialized:(Ljava/lang/Object;)Z
            ifne 7
         3: .line 530
            aload 1 /* value */
            checkcast org.hibernate.proxy.HibernateProxy
            astore 2 /* proxy */
        start local 2 // org.hibernate.proxy.HibernateProxy proxy
         4: .line 531
            aload 2 /* proxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            astore 3 /* li */
        start local 3 // org.hibernate.proxy.LazyInitializer li
         5: .line 532
            aload 0 /* this */
            aload 3 /* li */
            aload 2 /* proxy */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.reassociateProxy:(Lorg/hibernate/proxy/LazyInitializer;Lorg/hibernate/proxy/HibernateProxy;)V
         6: .line 533
            iconst_1
            ireturn
        end local 3 // org.hibernate.proxy.LazyInitializer li
        end local 2 // org.hibernate.proxy.HibernateProxy proxy
         7: .line 536
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object value
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    8     1  value  Ljava/lang/Object;
            4    7     2  proxy  Lorg/hibernate/proxy/HibernateProxy;
            5    7     3     li  Lorg/hibernate/proxy/LazyInitializer;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
       Name  Flags
      value  

  public void reassociateProxy(java.lang.Object, java.io.Serializable);
    descriptor: (Ljava/lang/Object;Ljava/io/Serializable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object value
        start local 2 // java.io.Serializable id
         0: .line 542
            aload 1 /* value */
            instanceof org.hibernate.tuple.ElementWrapper
            ifeq 2
         1: .line 543
            aload 1 /* value */
            checkcast org.hibernate.tuple.ElementWrapper
            invokevirtual org.hibernate.tuple.ElementWrapper.getElement:()Lorg/dom4j/Element;
            astore 1 /* value */
         2: .line 546
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 8
         3: .line 547
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Setting proxy identifier: %s"
            aload 2 /* id */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 548
            aload 1 /* value */
            checkcast org.hibernate.proxy.HibernateProxy
            astore 3 /* proxy */
        start local 3 // org.hibernate.proxy.HibernateProxy proxy
         5: .line 549
            aload 3 /* proxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            astore 4 /* li */
        start local 4 // org.hibernate.proxy.LazyInitializer li
         6: .line 550
            aload 4 /* li */
            aload 2 /* id */
            invokeinterface org.hibernate.proxy.LazyInitializer.setIdentifier:(Ljava/io/Serializable;)V
         7: .line 551
            aload 0 /* this */
            aload 4 /* li */
            aload 3 /* proxy */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.reassociateProxy:(Lorg/hibernate/proxy/LazyInitializer;Lorg/hibernate/proxy/HibernateProxy;)V
        end local 4 // org.hibernate.proxy.LazyInitializer li
        end local 3 // org.hibernate.proxy.HibernateProxy proxy
         8: .line 553
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.Serializable id
        end local 1 // java.lang.Object value
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    9     1  value  Ljava/lang/Object;
            0    9     2     id  Ljava/io/Serializable;
            5    8     3  proxy  Lorg/hibernate/proxy/HibernateProxy;
            6    8     4     li  Lorg/hibernate/proxy/LazyInitializer;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
       Name  Flags
      value  
      id     

  private void reassociateProxy(org.hibernate.proxy.LazyInitializer, org.hibernate.proxy.HibernateProxy);
    descriptor: (Lorg/hibernate/proxy/LazyInitializer;Lorg/hibernate/proxy/HibernateProxy;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.proxy.LazyInitializer li
        start local 2 // org.hibernate.proxy.HibernateProxy proxy
         0: .line 562
            aload 1 /* li */
            invokeinterface org.hibernate.proxy.LazyInitializer.getSession:()Lorg/hibernate/engine/spi/SessionImplementor;
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getSession:()Lorg/hibernate/engine/spi/SessionImplementor;
            if_acmpeq 5
         1: .line 563
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 1 /* li */
            invokeinterface org.hibernate.proxy.LazyInitializer.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 3 /* persister */
        start local 3 // org.hibernate.persister.entity.EntityPersister persister
         2: .line 564
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 1 /* li */
            invokeinterface org.hibernate.proxy.LazyInitializer.getIdentifier:()Ljava/io/Serializable;
            aload 3 /* persister */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            astore 4 /* key */
        start local 4 // org.hibernate.engine.spi.EntityKey key
         3: .line 566
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            aload 4 /* key */
            aload 2 /* proxy */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 567
            aload 2 /* proxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.proxy.LazyInitializer.setSession:(Lorg/hibernate/engine/spi/SessionImplementor;)V
        end local 4 // org.hibernate.engine.spi.EntityKey key
        end local 3 // org.hibernate.persister.entity.EntityPersister persister
         5: .line 569
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.proxy.HibernateProxy proxy
        end local 1 // org.hibernate.proxy.LazyInitializer li
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    6     1         li  Lorg/hibernate/proxy/LazyInitializer;
            0    6     2      proxy  Lorg/hibernate/proxy/HibernateProxy;
            2    5     3  persister  Lorg/hibernate/persister/entity/EntityPersister;
            3    5     4        key  Lorg/hibernate/engine/spi/EntityKey;
    MethodParameters:
       Name  Flags
      li     
      proxy  

  public java.lang.Object unproxy(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object maybeProxy
         0: .line 573
            aload 1 /* maybeProxy */
            instanceof org.hibernate.tuple.ElementWrapper
            ifeq 2
         1: .line 574
            aload 1 /* maybeProxy */
            checkcast org.hibernate.tuple.ElementWrapper
            invokevirtual org.hibernate.tuple.ElementWrapper.getElement:()Lorg/dom4j/Element;
            astore 1 /* maybeProxy */
         2: .line 577
      StackMap locals:
      StackMap stack:
            aload 1 /* maybeProxy */
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 10
         3: .line 578
            aload 1 /* maybeProxy */
            checkcast org.hibernate.proxy.HibernateProxy
            astore 2 /* proxy */
        start local 2 // org.hibernate.proxy.HibernateProxy proxy
         4: .line 579
            aload 2 /* proxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            astore 3 /* li */
        start local 3 // org.hibernate.proxy.LazyInitializer li
         5: .line 580
            aload 3 /* li */
            invokeinterface org.hibernate.proxy.LazyInitializer.isUninitialized:()Z
            ifeq 9
         6: .line 581
            new org.hibernate.PersistentObjectException
            dup
         7: .line 582
            new java.lang.StringBuilder
            dup
            ldc "object was an uninitialized proxy for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* li */
            invokeinterface org.hibernate.proxy.LazyInitializer.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 581
            invokespecial org.hibernate.PersistentObjectException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 586
      StackMap locals: org.hibernate.proxy.HibernateProxy org.hibernate.proxy.LazyInitializer
      StackMap stack:
            aload 3 /* li */
            invokeinterface org.hibernate.proxy.LazyInitializer.getImplementation:()Ljava/lang/Object;
            areturn
        end local 3 // org.hibernate.proxy.LazyInitializer li
        end local 2 // org.hibernate.proxy.HibernateProxy proxy
        10: .line 589
      StackMap locals:
      StackMap stack:
            aload 1 /* maybeProxy */
            areturn
        end local 1 // java.lang.Object maybeProxy
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   11     1  maybeProxy  Ljava/lang/Object;
            4   10     2       proxy  Lorg/hibernate/proxy/HibernateProxy;
            5   10     3          li  Lorg/hibernate/proxy/LazyInitializer;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      maybeProxy  

  public java.lang.Object unproxyAndReassociate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object maybeProxy
         0: .line 595
            aload 1 /* maybeProxy */
            instanceof org.hibernate.tuple.ElementWrapper
            ifeq 2
         1: .line 596
            aload 1 /* maybeProxy */
            checkcast org.hibernate.tuple.ElementWrapper
            invokevirtual org.hibernate.tuple.ElementWrapper.getElement:()Lorg/dom4j/Element;
            astore 1 /* maybeProxy */
         2: .line 599
      StackMap locals:
      StackMap stack:
            aload 1 /* maybeProxy */
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 7
         3: .line 600
            aload 1 /* maybeProxy */
            checkcast org.hibernate.proxy.HibernateProxy
            astore 2 /* proxy */
        start local 2 // org.hibernate.proxy.HibernateProxy proxy
         4: .line 601
            aload 2 /* proxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            astore 3 /* li */
        start local 3 // org.hibernate.proxy.LazyInitializer li
         5: .line 602
            aload 0 /* this */
            aload 3 /* li */
            aload 2 /* proxy */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.reassociateProxy:(Lorg/hibernate/proxy/LazyInitializer;Lorg/hibernate/proxy/HibernateProxy;)V
         6: .line 604
            aload 3 /* li */
            invokeinterface org.hibernate.proxy.LazyInitializer.getImplementation:()Ljava/lang/Object;
            areturn
        end local 3 // org.hibernate.proxy.LazyInitializer li
        end local 2 // org.hibernate.proxy.HibernateProxy proxy
         7: .line 607
      StackMap locals:
      StackMap stack:
            aload 1 /* maybeProxy */
            areturn
        end local 1 // java.lang.Object maybeProxy
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    8     1  maybeProxy  Ljava/lang/Object;
            4    7     2       proxy  Lorg/hibernate/proxy/HibernateProxy;
            5    7     3          li  Lorg/hibernate/proxy/LazyInitializer;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      maybeProxy  

  public void checkUniqueness(org.hibernate.engine.spi.EntityKey, java.lang.Object);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey key
        start local 2 // java.lang.Object object
         0: .line 613
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            astore 3 /* entity */
        start local 3 // java.lang.Object entity
         1: .line 614
            aload 3 /* entity */
            aload 2 /* object */
            if_acmpne 3
         2: .line 615
            new org.hibernate.AssertionFailure
            dup
            ldc "object already associated, but no entry was found"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 617
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* entity */
            ifnull 5
         4: .line 618
            new org.hibernate.NonUniqueObjectException
            dup
            aload 1 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
            aload 1 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getEntityName:()Ljava/lang/String;
            invokespecial org.hibernate.NonUniqueObjectException.<init>:(Ljava/io/Serializable;Ljava/lang/String;)V
            athrow
         5: .line 620
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object entity
        end local 2 // java.lang.Object object
        end local 1 // org.hibernate.engine.spi.EntityKey key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    6     1     key  Lorg/hibernate/engine/spi/EntityKey;
            0    6     2  object  Ljava/lang/Object;
            1    6     3  entity  Ljava/lang/Object;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
        Name  Flags
      key     
      object  

  public java.lang.Object narrowProxy(java.lang.Object, org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.EntityKey, java.lang.Object);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=5
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object proxy
        start local 2 // org.hibernate.persister.entity.EntityPersister persister
        start local 3 // org.hibernate.engine.spi.EntityKey key
        start local 4 // java.lang.Object object
         0: .line 627
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getConcreteProxyClass:()Ljava/lang/Class;
            astore 5 /* concreteProxyClass */
        start local 5 // java.lang.Class concreteProxyClass
         1: .line 628
            aload 5 /* concreteProxyClass */
            aload 1 /* proxy */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            istore 6 /* alreadyNarrow */
        start local 6 // boolean alreadyNarrow
         2: .line 630
            iload 6 /* alreadyNarrow */
            ifne 17
         3: .line 631
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 5 /* concreteProxyClass */
            invokeinterface org.hibernate.internal.CoreMessageLogger.narrowingProxy:(Ljava/lang/Class;)V
         4: .line 635
            aload 4 /* object */
            ifnull 7
         5: .line 636
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 637
            aload 4 /* object */
            areturn
         7: .line 642
      StackMap locals: java.lang.Class int
      StackMap stack:
            aload 1 /* proxy */
            checkcast org.hibernate.proxy.HibernateProxy
            astore 7 /* originalHibernateProxy */
        start local 7 // org.hibernate.proxy.HibernateProxy originalHibernateProxy
         8: .line 643
            aload 7 /* originalHibernateProxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            invokeinterface org.hibernate.proxy.LazyInitializer.isUninitialized:()Z
            ifne 13
         9: .line 644
            aload 7 /* originalHibernateProxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            invokeinterface org.hibernate.proxy.LazyInitializer.getImplementation:()Ljava/lang/Object;
            astore 8 /* impl */
        start local 8 // java.lang.Object impl
        10: .line 646
            aload 5 /* concreteProxyClass */
            aload 8 /* impl */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 647
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 648
            aload 8 /* impl */
            areturn
        end local 8 // java.lang.Object impl
        13: .line 654
      StackMap locals: org.hibernate.proxy.HibernateProxy
      StackMap stack:
            aload 2 /* persister */
            aload 3 /* key */
            invokevirtual org.hibernate.engine.spi.EntityKey.getIdentifier:()Ljava/io/Serializable;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.persister.entity.EntityPersister.createProxy:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Object;
            checkcast org.hibernate.proxy.HibernateProxy
            astore 8 /* narrowedProxy */
        start local 8 // org.hibernate.proxy.HibernateProxy narrowedProxy
        14: .line 657
            aload 7 /* originalHibernateProxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            invokeinterface org.hibernate.proxy.LazyInitializer.isReadOnly:()Z
            istore 9 /* readOnlyOrig */
        start local 9 // boolean readOnlyOrig
        15: .line 658
            aload 8 /* narrowedProxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            iload 9 /* readOnlyOrig */
            invokeinterface org.hibernate.proxy.LazyInitializer.setReadOnly:(Z)V
        16: .line 660
            aload 8 /* narrowedProxy */
            areturn
        end local 9 // boolean readOnlyOrig
        end local 8 // org.hibernate.proxy.HibernateProxy narrowedProxy
        end local 7 // org.hibernate.proxy.HibernateProxy originalHibernateProxy
        17: .line 664
      StackMap locals:
      StackMap stack:
            aload 4 /* object */
            ifnull 20
        18: .line 665
            aload 1 /* proxy */
            checkcast org.hibernate.proxy.HibernateProxy
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            astore 7 /* li */
        start local 7 // org.hibernate.proxy.LazyInitializer li
        19: .line 666
            aload 7 /* li */
            aload 4 /* object */
            invokeinterface org.hibernate.proxy.LazyInitializer.setImplementation:(Ljava/lang/Object;)V
        end local 7 // org.hibernate.proxy.LazyInitializer li
        20: .line 668
      StackMap locals:
      StackMap stack:
            aload 1 /* proxy */
            areturn
        end local 6 // boolean alreadyNarrow
        end local 5 // java.lang.Class concreteProxyClass
        end local 4 // java.lang.Object object
        end local 3 // org.hibernate.engine.spi.EntityKey key
        end local 2 // org.hibernate.persister.entity.EntityPersister persister
        end local 1 // java.lang.Object proxy
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   21     0                    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   21     1                   proxy  Ljava/lang/Object;
            0   21     2               persister  Lorg/hibernate/persister/entity/EntityPersister;
            0   21     3                     key  Lorg/hibernate/engine/spi/EntityKey;
            0   21     4                  object  Ljava/lang/Object;
            1   21     5      concreteProxyClass  Ljava/lang/Class;
            2   21     6           alreadyNarrow  Z
            8   17     7  originalHibernateProxy  Lorg/hibernate/proxy/HibernateProxy;
           10   13     8                    impl  Ljava/lang/Object;
           14   17     8           narrowedProxy  Lorg/hibernate/proxy/HibernateProxy;
           15   17     9            readOnlyOrig  Z
           19   20     7                      li  Lorg/hibernate/proxy/LazyInitializer;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
           Name  Flags
      proxy      
      persister  
      key        
      object     

  public java.lang.Object proxyFor(org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.EntityKey, java.lang.Object);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.persister.entity.EntityPersister persister
        start local 2 // org.hibernate.engine.spi.EntityKey key
        start local 3 // java.lang.Object impl
         0: .line 674
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.hasProxy:()Z
            ifne 2
         1: .line 675
            aload 3 /* impl */
            areturn
         2: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            aload 2 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* proxy */
        start local 4 // java.lang.Object proxy
         3: .line 678
            aload 4 /* proxy */
            ifnull 4
            aload 0 /* this */
            aload 4 /* proxy */
            aload 1 /* persister */
            aload 2 /* key */
            aload 3 /* impl */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.narrowProxy:(Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;)Ljava/lang/Object;
            goto 5
      StackMap locals: java.lang.Object
      StackMap stack:
         4: aload 3 /* impl */
      StackMap locals:
      StackMap stack: java.lang.Object
         5: areturn
        end local 4 // java.lang.Object proxy
        end local 3 // java.lang.Object impl
        end local 2 // org.hibernate.engine.spi.EntityKey key
        end local 1 // org.hibernate.persister.entity.EntityPersister persister
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    6     1  persister  Lorg/hibernate/persister/entity/EntityPersister;
            0    6     2        key  Lorg/hibernate/engine/spi/EntityKey;
            0    6     3       impl  Ljava/lang/Object;
            3    6     4      proxy  Ljava/lang/Object;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
           Name  Flags
      persister  
      key        
      impl       

  public java.lang.Object proxyFor(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object impl
         0: .line 683
            aload 0 /* this */
            aload 1 /* impl */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 2 /* e */
        start local 2 // org.hibernate.engine.spi.EntityEntry e
         1: .line 684
            aload 2 /* e */
            ifnonnull 3
         2: .line 685
            aload 1 /* impl */
            areturn
         3: .line 687
      StackMap locals: org.hibernate.engine.spi.EntityEntry
      StackMap stack:
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            aload 2 /* e */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getEntityKey:()Lorg/hibernate/engine/spi/EntityKey;
            aload 1 /* impl */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.proxyFor:(Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // org.hibernate.engine.spi.EntityEntry e
        end local 1 // java.lang.Object impl
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    4     1  impl  Ljava/lang/Object;
            1    4     2     e  Lorg/hibernate/engine/spi/EntityEntry;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
      Name  Flags
      impl  

  public java.lang.Object getCollectionOwner(java.io.Serializable, org.hibernate.persister.collection.CollectionPersister);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/persister/collection/CollectionPersister;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.io.Serializable key
        start local 2 // org.hibernate.persister.collection.CollectionPersister collectionPersister
         0: .line 696
            aload 2 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getOwnerEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            astore 3 /* ownerPersister */
        start local 3 // org.hibernate.persister.entity.EntityPersister ownerPersister
         1: .line 697
            aload 3 /* ownerPersister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifierType:()Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.getReturnedClass:()Ljava/lang/Class;
            aload 1 /* key */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 698
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 1 /* key */
            aload 2 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getOwnerEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            areturn
         3: .line 704
      StackMap locals: org.hibernate.persister.entity.EntityPersister
      StackMap stack:
            aload 3 /* ownerPersister */
            aload 1 /* key */
            invokeinterface org.hibernate.persister.entity.EntityPersister.isInstance:(Ljava/lang/Object;)Z
            ifeq 8
         4: .line 705
            aload 3 /* ownerPersister */
            aload 1 /* key */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getIdentifier:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
            astore 4 /* owenerId */
        start local 4 // java.io.Serializable owenerId
         5: .line 706
            aload 4 /* owenerId */
            ifnonnull 7
         6: .line 707
            aconst_null
            areturn
         7: .line 709
      StackMap locals: java.io.Serializable
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 4 /* owenerId */
            aload 3 /* ownerPersister */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            areturn
        end local 4 // java.io.Serializable owenerId
         8: .line 712
      StackMap locals:
      StackMap stack:
            aload 2 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getCollectionType:()Lorg/hibernate/type/CollectionType;
            astore 4 /* collectionType */
        start local 4 // org.hibernate.type.CollectionType collectionType
         9: .line 717
            aload 4 /* collectionType */
            invokevirtual org.hibernate.type.CollectionType.getLHSPropertyName:()Ljava/lang/String;
            ifnull 24
        10: .line 718
            aload 0 /* this */
        11: .line 719
            new org.hibernate.engine.spi.EntityUniqueKey
            dup
        12: .line 720
            aload 3 /* ownerPersister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
        13: .line 721
            aload 4 /* collectionType */
            invokevirtual org.hibernate.type.CollectionType.getLHSPropertyName:()Ljava/lang/String;
        14: .line 722
            aload 1 /* key */
        15: .line 723
            aload 2 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getKeyType:()Lorg/hibernate/type/Type;
        16: .line 724
            aload 3 /* ownerPersister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityMode:()Lorg/hibernate/EntityMode;
        17: .line 725
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
        18: .line 719
            invokespecial org.hibernate.engine.spi.EntityUniqueKey.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/type/Type;Lorg/hibernate/EntityMode;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
        19: .line 718
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityUniqueKey;)Ljava/lang/Object;
            astore 5 /* owner */
        start local 5 // java.lang.Object owner
        20: .line 728
            aload 5 /* owner */
            ifnull 22
        21: .line 729
            aload 5 /* owner */
            areturn
        22: .line 745
      StackMap locals: org.hibernate.type.CollectionType java.lang.Object
      StackMap stack:
            aload 3 /* ownerPersister */
            aload 1 /* key */
            aload 4 /* collectionType */
            invokevirtual org.hibernate.type.CollectionType.getLHSPropertyName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getIdByUniqueKey:(Ljava/io/Serializable;Ljava/lang/String;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
            astore 6 /* ownerId */
        start local 6 // java.io.Serializable ownerId
        23: .line 746
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 6 /* ownerId */
            aload 3 /* ownerPersister */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            areturn
        end local 6 // java.io.Serializable ownerId
        end local 5 // java.lang.Object owner
        24: .line 750
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 1 /* key */
            aload 2 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getOwnerEntityPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            areturn
        end local 4 // org.hibernate.type.CollectionType collectionType
        end local 3 // org.hibernate.persister.entity.EntityPersister ownerPersister
        end local 2 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        end local 1 // java.io.Serializable key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   25     0                 this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   25     1                  key  Ljava/io/Serializable;
            0   25     2  collectionPersister  Lorg/hibernate/persister/collection/CollectionPersister;
            1   25     3       ownerPersister  Lorg/hibernate/persister/entity/EntityPersister;
            5    8     4             owenerId  Ljava/io/Serializable;
            9   25     4       collectionType  Lorg/hibernate/type/CollectionType;
           20   24     5                owner  Ljava/lang/Object;
           23   24     6              ownerId  Ljava/io/Serializable;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                     Name  Flags
      key                  
      collectionPersister  

  public java.lang.Object getLoadedCollectionOwnerOrNull(org.hibernate.collection.spi.PersistentCollection);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
         0: .line 755
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
            astore 2 /* ce */
        start local 2 // org.hibernate.engine.spi.CollectionEntry ce
         1: .line 756
            aload 2 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
            ifnonnull 3
         2: .line 757
            aconst_null
            areturn
         3: .line 760
      StackMap locals: org.hibernate.engine.spi.CollectionEntry
      StackMap stack:
            aconst_null
            astore 3 /* loadedOwner */
        start local 3 // java.lang.Object loadedOwner
         4: .line 763
            aload 0 /* this */
            aload 2 /* ce */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getLoadedCollectionOwnerIdOrNull:(Lorg/hibernate/engine/spi/CollectionEntry;)Ljava/io/Serializable;
            astore 4 /* entityId */
        start local 4 // java.io.Serializable entityId
         5: .line 764
            aload 4 /* entityId */
            ifnull 7
         6: .line 765
            aload 0 /* this */
            aload 4 /* entityId */
            aload 2 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCollectionOwner:(Ljava/io/Serializable;Lorg/hibernate/persister/collection/CollectionPersister;)Ljava/lang/Object;
            astore 3 /* loadedOwner */
         7: .line 767
      StackMap locals: java.lang.Object java.io.Serializable
      StackMap stack:
            aload 3 /* loadedOwner */
            areturn
        end local 4 // java.io.Serializable entityId
        end local 3 // java.lang.Object loadedOwner
        end local 2 // org.hibernate.engine.spi.CollectionEntry ce
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    8     1   collection  Lorg/hibernate/collection/spi/PersistentCollection;
            1    8     2           ce  Lorg/hibernate/engine/spi/CollectionEntry;
            4    8     3  loadedOwner  Ljava/lang/Object;
            5    8     4     entityId  Ljava/io/Serializable;
    MethodParameters:
            Name  Flags
      collection  

  public java.io.Serializable getLoadedCollectionOwnerIdOrNull(org.hibernate.collection.spi.PersistentCollection);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;)Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
         0: .line 772
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getLoadedCollectionOwnerIdOrNull:(Lorg/hibernate/engine/spi/CollectionEntry;)Ljava/io/Serializable;
            areturn
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  collection  Lorg/hibernate/collection/spi/PersistentCollection;
    MethodParameters:
            Name  Flags
      collection  

  private java.io.Serializable getLoadedCollectionOwnerIdOrNull(org.hibernate.engine.spi.CollectionEntry);
    descriptor: (Lorg/hibernate/engine/spi/CollectionEntry;)Ljava/io/Serializable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.CollectionEntry ce
         0: .line 782
            aload 1 /* ce */
            ifnull 1
            aload 1 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedKey:()Ljava/io/Serializable;
            ifnull 1
            aload 1 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
            ifnonnull 2
         1: .line 783
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 787
      StackMap locals:
      StackMap stack:
            aload 1 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getCollectionType:()Lorg/hibernate/type/CollectionType;
            aload 1 /* ce */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedKey:()Ljava/io/Serializable;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokevirtual org.hibernate.type.CollectionType.getIdOfOwnerOrNull:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
            areturn
        end local 1 // org.hibernate.engine.spi.CollectionEntry ce
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    3     1    ce  Lorg/hibernate/engine/spi/CollectionEntry;
    MethodParameters:
      Name  Flags
      ce    

  public void addUninitializedCollection(org.hibernate.persister.collection.CollectionPersister, org.hibernate.collection.spi.PersistentCollection, java.io.Serializable);
    descriptor: (Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.persister.collection.CollectionPersister persister
        start local 2 // org.hibernate.collection.spi.PersistentCollection collection
        start local 3 // java.io.Serializable id
         0: .line 792
            new org.hibernate.engine.spi.CollectionEntry
            dup
            aload 2 /* collection */
            aload 1 /* persister */
            aload 3 /* id */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.flushing:Z
            invokespecial org.hibernate.engine.spi.CollectionEntry.<init>:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Z)V
            astore 4 /* ce */
        start local 4 // org.hibernate.engine.spi.CollectionEntry ce
         1: .line 793
            aload 0 /* this */
            aload 2 /* collection */
            aload 4 /* ce */
            aload 3 /* id */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.addCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;Ljava/io/Serializable;)V
         2: .line 794
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getBatchSize:()I
            iconst_1
            if_icmple 4
         3: .line 795
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getBatchFetchQueue:()Lorg/hibernate/engine/spi/BatchFetchQueue;
            aload 2 /* collection */
            aload 4 /* ce */
            invokevirtual org.hibernate.engine.spi.BatchFetchQueue.addBatchLoadableCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;)V
         4: .line 797
      StackMap locals: org.hibernate.engine.spi.CollectionEntry
      StackMap stack:
            return
        end local 4 // org.hibernate.engine.spi.CollectionEntry ce
        end local 3 // java.io.Serializable id
        end local 2 // org.hibernate.collection.spi.PersistentCollection collection
        end local 1 // org.hibernate.persister.collection.CollectionPersister persister
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    5     1   persister  Lorg/hibernate/persister/collection/CollectionPersister;
            0    5     2  collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0    5     3          id  Ljava/io/Serializable;
            1    5     4          ce  Lorg/hibernate/engine/spi/CollectionEntry;
    MethodParameters:
            Name  Flags
      persister   
      collection  
      id          

  public void addUninitializedDetachedCollection(org.hibernate.persister.collection.CollectionPersister, org.hibernate.collection.spi.PersistentCollection);
    descriptor: (Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.persister.collection.CollectionPersister persister
        start local 2 // org.hibernate.collection.spi.PersistentCollection collection
         0: .line 801
            new org.hibernate.engine.spi.CollectionEntry
            dup
            aload 1 /* persister */
            aload 2 /* collection */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getKey:()Ljava/io/Serializable;
            invokespecial org.hibernate.engine.spi.CollectionEntry.<init>:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;)V
            astore 3 /* ce */
        start local 3 // org.hibernate.engine.spi.CollectionEntry ce
         1: .line 802
            aload 0 /* this */
            aload 2 /* collection */
            aload 3 /* ce */
            aload 2 /* collection */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getKey:()Ljava/io/Serializable;
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.addCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;Ljava/io/Serializable;)V
         2: .line 803
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getBatchSize:()I
            iconst_1
            if_icmple 4
         3: .line 804
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getBatchFetchQueue:()Lorg/hibernate/engine/spi/BatchFetchQueue;
            aload 2 /* collection */
            aload 3 /* ce */
            invokevirtual org.hibernate.engine.spi.BatchFetchQueue.addBatchLoadableCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;)V
         4: .line 806
      StackMap locals: org.hibernate.engine.spi.CollectionEntry
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.CollectionEntry ce
        end local 2 // org.hibernate.collection.spi.PersistentCollection collection
        end local 1 // org.hibernate.persister.collection.CollectionPersister persister
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    5     1   persister  Lorg/hibernate/persister/collection/CollectionPersister;
            0    5     2  collection  Lorg/hibernate/collection/spi/PersistentCollection;
            1    5     3          ce  Lorg/hibernate/engine/spi/CollectionEntry;
    MethodParameters:
            Name  Flags
      persister   
      collection  

  public void addNewCollection(org.hibernate.persister.collection.CollectionPersister, org.hibernate.collection.spi.PersistentCollection);
    descriptor: (Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.persister.collection.CollectionPersister persister
        start local 2 // org.hibernate.collection.spi.PersistentCollection collection
         0: .line 811
            aload 0 /* this */
            aload 2 /* collection */
            aload 1 /* persister */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.addCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/persister/collection/CollectionPersister;)V
         1: .line 812
            return
        end local 2 // org.hibernate.collection.spi.PersistentCollection collection
        end local 1 // org.hibernate.persister.collection.CollectionPersister persister
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    2     1   persister  Lorg/hibernate/persister/collection/CollectionPersister;
            0    2     2  collection  Lorg/hibernate/collection/spi/PersistentCollection;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      persister   
      collection  

  private void addCollection(org.hibernate.collection.spi.PersistentCollection, org.hibernate.engine.spi.CollectionEntry, java.io.Serializable);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;Ljava/io/Serializable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.collection.spi.PersistentCollection coll
        start local 2 // org.hibernate.engine.spi.CollectionEntry entry
        start local 3 // java.io.Serializable key
         0: .line 822
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            aload 1 /* coll */
            aload 2 /* entry */
            invokevirtual org.hibernate.internal.util.collections.IdentityMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 823
            new org.hibernate.engine.spi.CollectionKey
            dup
            aload 2 /* entry */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getLoadedPersister:()Lorg/hibernate/persister/collection/CollectionPersister;
            aload 3 /* key */
            invokespecial org.hibernate.engine.spi.CollectionKey.<init>:(Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;)V
            astore 4 /* collectionKey */
        start local 4 // org.hibernate.engine.spi.CollectionKey collectionKey
         2: .line 824
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionsByKey:Ljava/util/Map;
            aload 4 /* collectionKey */
            aload 1 /* coll */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.collection.spi.PersistentCollection
            astore 5 /* old */
        start local 5 // org.hibernate.collection.spi.PersistentCollection old
         3: .line 825
            aload 5 /* old */
            ifnull 8
         4: .line 826
            aload 5 /* old */
            aload 1 /* coll */
            if_acmpne 6
         5: .line 827
            new org.hibernate.AssertionFailure
            dup
            ldc "bug adding collection twice"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 830
      StackMap locals: org.hibernate.engine.spi.CollectionKey org.hibernate.collection.spi.PersistentCollection
      StackMap stack:
            aload 5 /* old */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.collection.spi.PersistentCollection.unsetSession:(Lorg/hibernate/engine/spi/SessionImplementor;)Z
            pop
         7: .line 831
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            aload 5 /* old */
            invokevirtual org.hibernate.internal.util.collections.IdentityMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 835
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.hibernate.collection.spi.PersistentCollection old
        end local 4 // org.hibernate.engine.spi.CollectionKey collectionKey
        end local 3 // java.io.Serializable key
        end local 2 // org.hibernate.engine.spi.CollectionEntry entry
        end local 1 // org.hibernate.collection.spi.PersistentCollection coll
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    9     1           coll  Lorg/hibernate/collection/spi/PersistentCollection;
            0    9     2          entry  Lorg/hibernate/engine/spi/CollectionEntry;
            0    9     3            key  Ljava/io/Serializable;
            2    9     4  collectionKey  Lorg/hibernate/engine/spi/CollectionKey;
            3    9     5            old  Lorg/hibernate/collection/spi/PersistentCollection;
    MethodParameters:
       Name  Flags
      coll   
      entry  
      key    

  private void addCollection(org.hibernate.collection.spi.PersistentCollection, org.hibernate.persister.collection.CollectionPersister);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/persister/collection/CollectionPersister;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
        start local 2 // org.hibernate.persister.collection.CollectionPersister persister
         0: .line 844
            new org.hibernate.engine.spi.CollectionEntry
            dup
            aload 2 /* persister */
            aload 1 /* collection */
            invokespecial org.hibernate.engine.spi.CollectionEntry.<init>:(Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;)V
            astore 3 /* ce */
        start local 3 // org.hibernate.engine.spi.CollectionEntry ce
         1: .line 845
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            aload 1 /* collection */
            aload 3 /* ce */
            invokevirtual org.hibernate.internal.util.collections.IdentityMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 846
            return
        end local 3 // org.hibernate.engine.spi.CollectionEntry ce
        end local 2 // org.hibernate.persister.collection.CollectionPersister persister
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    3     1  collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0    3     2   persister  Lorg/hibernate/persister/collection/CollectionPersister;
            1    3     3          ce  Lorg/hibernate/engine/spi/CollectionEntry;
    MethodParameters:
            Name  Flags
      collection  
      persister   

  public void addInitializedDetachedCollection(org.hibernate.persister.collection.CollectionPersister, org.hibernate.collection.spi.PersistentCollection);
    descriptor: (Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        start local 2 // org.hibernate.collection.spi.PersistentCollection collection
         0: .line 851
            aload 2 /* collection */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.isUnreferenced:()Z
            ifeq 3
         1: .line 853
            aload 0 /* this */
            aload 2 /* collection */
            aload 1 /* collectionPersister */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.addCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/persister/collection/CollectionPersister;)V
         2: .line 854
            goto 5
         3: .line 856
      StackMap locals:
      StackMap stack:
            new org.hibernate.engine.spi.CollectionEntry
            dup
            aload 2 /* collection */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokespecial org.hibernate.engine.spi.CollectionEntry.<init>:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            astore 3 /* ce */
        start local 3 // org.hibernate.engine.spi.CollectionEntry ce
         4: .line 857
            aload 0 /* this */
            aload 2 /* collection */
            aload 3 /* ce */
            aload 2 /* collection */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getKey:()Ljava/io/Serializable;
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.addCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;Ljava/io/Serializable;)V
        end local 3 // org.hibernate.engine.spi.CollectionEntry ce
         5: .line 859
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.collection.spi.PersistentCollection collection
        end local 1 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    6     1  collectionPersister  Lorg/hibernate/persister/collection/CollectionPersister;
            0    6     2           collection  Lorg/hibernate/collection/spi/PersistentCollection;
            4    5     3                   ce  Lorg/hibernate/engine/spi/CollectionEntry;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                     Name  Flags
      collectionPersister  
      collection           

  public org.hibernate.engine.spi.CollectionEntry addInitializedCollection(org.hibernate.persister.collection.CollectionPersister, org.hibernate.collection.spi.PersistentCollection, java.io.Serializable);
    descriptor: (Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;)Lorg/hibernate/engine/spi/CollectionEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.persister.collection.CollectionPersister persister
        start local 2 // org.hibernate.collection.spi.PersistentCollection collection
        start local 3 // java.io.Serializable id
         0: .line 864
            new org.hibernate.engine.spi.CollectionEntry
            dup
            aload 2 /* collection */
            aload 1 /* persister */
            aload 3 /* id */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.flushing:Z
            invokespecial org.hibernate.engine.spi.CollectionEntry.<init>:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/io/Serializable;Z)V
            astore 4 /* ce */
        start local 4 // org.hibernate.engine.spi.CollectionEntry ce
         1: .line 865
            aload 4 /* ce */
            aload 2 /* collection */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.postInitialize:(Lorg/hibernate/collection/spi/PersistentCollection;)V
         2: .line 866
            aload 0 /* this */
            aload 2 /* collection */
            aload 4 /* ce */
            aload 3 /* id */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.addCollection:(Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;Ljava/io/Serializable;)V
         3: .line 867
            aload 4 /* ce */
            areturn
        end local 4 // org.hibernate.engine.spi.CollectionEntry ce
        end local 3 // java.io.Serializable id
        end local 2 // org.hibernate.collection.spi.PersistentCollection collection
        end local 1 // org.hibernate.persister.collection.CollectionPersister persister
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    4     1   persister  Lorg/hibernate/persister/collection/CollectionPersister;
            0    4     2  collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0    4     3          id  Ljava/io/Serializable;
            1    4     4          ce  Lorg/hibernate/engine/spi/CollectionEntry;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
            Name  Flags
      persister   
      collection  
      id          

  public org.hibernate.collection.spi.PersistentCollection getCollection(org.hibernate.engine.spi.CollectionKey);
    descriptor: (Lorg/hibernate/engine/spi/CollectionKey;)Lorg/hibernate/collection/spi/PersistentCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.CollectionKey collectionKey
         0: .line 872
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionsByKey:Ljava/util/Map;
            aload 1 /* collectionKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.collection.spi.PersistentCollection
            areturn
        end local 1 // org.hibernate.engine.spi.CollectionKey collectionKey
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  collectionKey  Lorg/hibernate/engine/spi/CollectionKey;
    MethodParameters:
               Name  Flags
      collectionKey  

  public void addNonLazyCollection(org.hibernate.collection.spi.PersistentCollection);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.collection.spi.PersistentCollection collection
         0: .line 877
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nonlazyCollections:Ljava/util/List;
            aload 1 /* collection */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 878
            return
        end local 1 // org.hibernate.collection.spi.PersistentCollection collection
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    2     1  collection  Lorg/hibernate/collection/spi/PersistentCollection;
    MethodParameters:
            Name  Flags
      collection  

  public void initializeNonLazyCollections();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 882
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
            ifne 15
         1: .line 883
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.TRACE_ENABLED:Z
            ifeq 3
         2: .line 884
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Initializing non-lazy collections"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         3: .line 889
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
            iconst_1
            iadd
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
         4: .line 892
            goto 6
        start local 1 // int size
         5: .line 894
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nonlazyCollections:Ljava/util/List;
            iload 1 /* size */
            iconst_1
            isub
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast org.hibernate.collection.spi.PersistentCollection
            invokeinterface org.hibernate.collection.spi.PersistentCollection.forceInitialization:()V
        end local 1 // int size
         6: .line 892
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nonlazyCollections:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            dup
            istore 1 /* size */
        start local 1 // int size
         7: ifgt 5
        end local 1 // int size
         8: .line 896
            goto 13
         9: .line 897
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
        10: .line 898
            aload 0 /* this */
            dup
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
            iconst_1
            isub
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
        11: .line 899
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.clearNullProperties:()V
        12: .line 900
            aload 2
            athrow
        13: .line 898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
            iconst_1
            isub
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
        14: .line 899
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.clearNullProperties:()V
        15: .line 902
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            5    6     1  size  I
            7    8     1  size  I
      Exception table:
        from    to  target  type
           4     9       9  any
    Exceptions:
      throws org.hibernate.HibernateException

  public org.hibernate.collection.spi.PersistentCollection getCollectionHolder(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/hibernate/collection/spi/PersistentCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object array
         0: .line 906
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.arrayHolders:Ljava/util/Map;
            aload 1 /* array */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.collection.spi.PersistentCollection
            areturn
        end local 1 // java.lang.Object array
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  array  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  

  public void addCollectionHolder(org.hibernate.collection.spi.PersistentCollection);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.collection.spi.PersistentCollection holder
         0: .line 912
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.arrayHolders:Ljava/util/Map;
            aload 1 /* holder */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getValue:()Ljava/lang/Object;
            aload 1 /* holder */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 913
            return
        end local 1 // org.hibernate.collection.spi.PersistentCollection holder
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    2     1  holder  Lorg/hibernate/collection/spi/PersistentCollection;
    MethodParameters:
        Name  Flags
      holder  

  public org.hibernate.collection.spi.PersistentCollection removeCollectionHolder(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/hibernate/collection/spi/PersistentCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object array
         0: .line 917
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.arrayHolders:Ljava/util/Map;
            aload 1 /* array */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.collection.spi.PersistentCollection
            areturn
        end local 1 // java.lang.Object array
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  array  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  

  public java.io.Serializable getSnapshot(org.hibernate.collection.spi.PersistentCollection);
    descriptor: (Lorg/hibernate/collection/spi/PersistentCollection;)Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.collection.spi.PersistentCollection coll
         0: .line 922
            aload 0 /* this */
            aload 1 /* coll */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
            invokevirtual org.hibernate.engine.spi.CollectionEntry.getSnapshot:()Ljava/io/Serializable;
            areturn
        end local 1 // org.hibernate.collection.spi.PersistentCollection coll
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1  coll  Lorg/hibernate/collection/spi/PersistentCollection;
    MethodParameters:
      Name  Flags
      coll  

  public org.hibernate.engine.spi.CollectionEntry getCollectionEntryOrNull(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/hibernate/engine/spi/CollectionEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object collection
         0: .line 928
            aload 1 /* collection */
            instanceof org.hibernate.collection.spi.PersistentCollection
            ifeq 3
         1: .line 929
            aload 1 /* collection */
            checkcast org.hibernate.collection.spi.PersistentCollection
            astore 2 /* coll */
        start local 2 // org.hibernate.collection.spi.PersistentCollection coll
         2: .line 931
            goto 12
        end local 2 // org.hibernate.collection.spi.PersistentCollection coll
         3: .line 933
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collection */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCollectionHolder:(Ljava/lang/Object;)Lorg/hibernate/collection/spi/PersistentCollection;
            astore 2 /* coll */
        start local 2 // org.hibernate.collection.spi.PersistentCollection coll
         4: .line 934
            aload 2 /* coll */
            ifnonnull 12
         5: .line 937
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            invokevirtual org.hibernate.internal.util.collections.IdentityMap.keyIterator:()Ljava/util/Iterator;
            astore 3 /* wrappers */
        start local 3 // java.util.Iterator wrappers
         6: .line 938
            goto 11
         7: .line 939
      StackMap locals: org.hibernate.collection.spi.PersistentCollection java.util.Iterator
      StackMap stack:
            aload 3 /* wrappers */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.collection.spi.PersistentCollection
            astore 4 /* pc */
        start local 4 // org.hibernate.collection.spi.PersistentCollection pc
         8: .line 940
            aload 4 /* pc */
            aload 1 /* collection */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.isWrapper:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 941
            aload 4 /* pc */
            astore 2 /* coll */
        10: .line 942
            goto 12
        end local 4 // org.hibernate.collection.spi.PersistentCollection pc
        11: .line 938
      StackMap locals:
      StackMap stack:
            aload 3 /* wrappers */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 3 // java.util.Iterator wrappers
        12: .line 948
      StackMap locals:
      StackMap stack:
            aload 2 /* coll */
            ifnonnull 13
            aconst_null
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 0 /* this */
            aload 2 /* coll */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCollectionEntry:(Lorg/hibernate/collection/spi/PersistentCollection;)Lorg/hibernate/engine/spi/CollectionEntry;
      StackMap locals:
      StackMap stack: org.hibernate.engine.spi.CollectionEntry
        14: areturn
        end local 2 // org.hibernate.collection.spi.PersistentCollection coll
        end local 1 // java.lang.Object collection
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   15     1  collection  Ljava/lang/Object;
            2    3     2        coll  Lorg/hibernate/collection/spi/PersistentCollection;
            4   15     2        coll  Lorg/hibernate/collection/spi/PersistentCollection;
            6   12     3    wrappers  Ljava/util/Iterator<Lorg/hibernate/collection/spi/PersistentCollection;>;
            8   11     4          pc  Lorg/hibernate/collection/spi/PersistentCollection;
    MethodParameters:
            Name  Flags
      collection  

  public java.lang.Object getProxy(org.hibernate.engine.spi.EntityKey);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey key
         0: .line 953
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // org.hibernate.engine.spi.EntityKey key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1   key  Lorg/hibernate/engine/spi/EntityKey;
    MethodParameters:
      Name  Flags
      key   

  public void addProxy(org.hibernate.engine.spi.EntityKey, java.lang.Object);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey key
        start local 2 // java.lang.Object proxy
         0: .line 958
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* key */
            aload 2 /* proxy */
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 959
            return
        end local 2 // java.lang.Object proxy
        end local 1 // org.hibernate.engine.spi.EntityKey key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    2     1    key  Lorg/hibernate/engine/spi/EntityKey;
            0    2     2  proxy  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      key    
      proxy  

  public java.lang.Object removeProxy(org.hibernate.engine.spi.EntityKey);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey key
         0: .line 963
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.batchFetchQueue:Lorg/hibernate/engine/spi/BatchFetchQueue;
            ifnull 3
         1: .line 964
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.batchFetchQueue:Lorg/hibernate/engine/spi/BatchFetchQueue;
            aload 1 /* key */
            invokevirtual org.hibernate.engine.spi.BatchFetchQueue.removeBatchLoadableEntityKey:(Lorg/hibernate/engine/spi/EntityKey;)V
         2: .line 965
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.batchFetchQueue:Lorg/hibernate/engine/spi/BatchFetchQueue;
            aload 1 /* key */
            invokevirtual org.hibernate.engine.spi.BatchFetchQueue.removeSubselect:(Lorg/hibernate/engine/spi/EntityKey;)V
         3: .line 967
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // org.hibernate.engine.spi.EntityKey key
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    4     1   key  Lorg/hibernate/engine/spi/EntityKey;
    MethodParameters:
      Name  Flags
      key   

  public java.util.HashSet getNullifiableEntityKeys();
    descriptor: ()Ljava/util/HashSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 972
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nullifiableEntityKeys:Ljava/util/HashSet;
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public java.util.Map getEntitiesByKey();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 977
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public java.util.Map getProxiesByKey();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 981
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public int getNumberOfManagedEntities();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 986
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.getNumberOfManagedEntities:()I
            ireturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public java.util.Map getEntityEntries();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 991
            aconst_null
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public java.util.Map getCollectionEntries();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 996
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public java.util.Map getCollectionsByKey();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1001
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionsByKey:Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public int getCascadeLevel();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1006
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.cascading:I
            ireturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public int incrementCascadeLevel();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1011
            aload 0 /* this */
            dup
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.cascading:I
            iconst_1
            iadd
            dup_x1
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.cascading:I
            ireturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public int decrementCascadeLevel();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1016
            aload 0 /* this */
            dup
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.cascading:I
            iconst_1
            isub
            dup_x1
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.cascading:I
            ireturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

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

  public void setFlushing(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // boolean flushing
         0: .line 1026
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.flushing:Z
            ifeq 1
            iload 1 /* flushing */
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* afterFlush */
        start local 2 // boolean afterFlush
         3: .line 1027
            aload 0 /* this */
            iload 1 /* flushing */
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.flushing:Z
         4: .line 1028
            iload 2 /* afterFlush */
            ifeq 6
         5: .line 1029
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getNaturalIdHelper:()Lorg/hibernate/engine/spi/PersistenceContext$NaturalIdHelper;
            invokeinterface org.hibernate.engine.spi.PersistenceContext$NaturalIdHelper.cleanupFromSynchronizations:()V
         6: .line 1031
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // boolean afterFlush
        end local 1 // boolean flushing
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    7     1    flushing  Z
            3    7     2  afterFlush  Z
    MethodParameters:
          Name  Flags
      flushing  

  public boolean isRemovingOrphanBeforeUpates();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1034
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.removeOrphanBeforeUpdatesCounter:I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public void beginRemoveOrphanBeforeUpdates();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1038
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCascadeLevel:()I
            iconst_1
            if_icmpge 2
         1: .line 1039
            new java.lang.IllegalStateException
            dup
            ldc "Attempt to remove orphan when not cascading."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1041
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.removeOrphanBeforeUpdatesCounter:I
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCascadeLevel:()I
            if_icmplt 9
         3: .line 1042
            new java.lang.IllegalStateException
            dup
         4: .line 1044
            ldc "Cascade level [%d] is out of sync with removeOrphanBeforeUpdatesCounter [%d] before incrementing removeOrphanBeforeUpdatesCounter"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 1045
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCascadeLevel:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
         6: .line 1046
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.removeOrphanBeforeUpdatesCounter:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         7: .line 1043
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 1042
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1050
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.removeOrphanBeforeUpdatesCounter:I
            iconst_1
            iadd
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.removeOrphanBeforeUpdatesCounter:I
        10: .line 1051
            return
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public void endRemoveOrphanBeforeUpdates();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1054
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCascadeLevel:()I
            iconst_1
            if_icmpge 2
         1: .line 1055
            new java.lang.IllegalStateException
            dup
            ldc "Finished removing orphan when not cascading."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.removeOrphanBeforeUpdatesCounter:I
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCascadeLevel:()I
            if_icmple 9
         3: .line 1058
            new java.lang.IllegalStateException
            dup
         4: .line 1060
            ldc "Cascade level [%d] is out of sync with removeOrphanBeforeUpdatesCounter [%d] before decrementing removeOrphanBeforeUpdatesCounter"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 1061
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getCascadeLevel:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
         6: .line 1062
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.removeOrphanBeforeUpdatesCounter:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         7: .line 1059
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 1058
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1066
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.removeOrphanBeforeUpdatesCounter:I
            iconst_1
            isub
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.removeOrphanBeforeUpdatesCounter:I
        10: .line 1067
            return
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public void beforeLoad();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1074
            aload 0 /* this */
            dup
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
            iconst_1
            iadd
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
         1: .line 1075
            return
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public void afterLoad();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1082
            aload 0 /* this */
            dup
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
            iconst_1
            isub
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
         1: .line 1083
            return
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public boolean isLoadFinished();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1087
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.loadCounter:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1092
            new java.lang.StringBuilder
            dup
            ldc "PersistenceContext[entityKeys="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         1: .line 1093
            ldc ",collectionKeys="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionsByKey:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1092
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public java.util.Map$Entry<java.lang.Object, org.hibernate.engine.spi.EntityEntry>[] reentrantSafeEntityEntries();
    descriptor: ()[Ljava/util/Map$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1098
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.reentrantSafeEntityEntries:()[Ljava/util/Map$Entry;
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
    Signature: ()[Ljava/util/Map$Entry<Ljava/lang/Object;Lorg/hibernate/engine/spi/EntityEntry;>;

  public java.io.Serializable getOwnerId(java.lang.String, java.lang.String, java.lang.Object, java.util.Map);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map;)Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=18, args_size=5
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.String entityName
        start local 2 // java.lang.String propertyName
        start local 3 // java.lang.Object childEntity
        start local 4 // java.util.Map mergeMap
         0: .line 1103
            new java.lang.StringBuilder
            dup
            aload 1 /* entityName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* propertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* collectionRole */
        start local 5 // java.lang.String collectionRole
         1: .line 1104
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 1 /* entityName */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 6 /* persister */
        start local 6 // org.hibernate.persister.entity.EntityPersister persister
         2: .line 1105
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 5 /* collectionRole */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getCollectionPersister:(Ljava/lang/String;)Lorg/hibernate/persister/collection/CollectionPersister;
            astore 7 /* collectionPersister */
        start local 7 // org.hibernate.persister.collection.CollectionPersister collectionPersister
         3: .line 1108
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.parentsByChild:Ljava/util/Map;
            aload 3 /* childEntity */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* parent */
        start local 8 // java.lang.Object parent
         4: .line 1109
            aload 8 /* parent */
            ifnull 10
         5: .line 1110
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            aload 8 /* parent */
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.getEntityEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 9 /* entityEntry */
        start local 9 // org.hibernate.engine.spi.EntityEntry entityEntry
         6: .line 1112
            aload 6 /* persister */
            aload 9 /* entityEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.persister.entity.EntityPersister.isSubclassEntityName:(Ljava/lang/String;)Z
            ifeq 9
         7: .line 1113
            aload 0 /* this */
            aload 2 /* propertyName */
            aload 3 /* childEntity */
            aload 6 /* persister */
            aload 7 /* collectionPersister */
            aload 8 /* parent */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.isFoundInParent:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;)Z
            ifeq 9
         8: .line 1114
            aload 0 /* this */
            aload 8 /* parent */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            invokevirtual org.hibernate.engine.spi.EntityEntry.getId:()Ljava/io/Serializable;
            areturn
         9: .line 1118
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object org.hibernate.engine.spi.EntityEntry
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.parentsByChild:Ljava/util/Map;
            aload 3 /* childEntity */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // org.hibernate.engine.spi.EntityEntry entityEntry
        10: .line 1124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.reentrantSafeEntityEntries:()[Ljava/util/Map$Entry;
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 41
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object top int int java.util.Map$Entry[]
      StackMap stack:
        11: aload 12
            iload 10
            aaload
            astore 9 /* me */
        start local 9 // java.util.Map$Entry me
        12: .line 1125
            aload 9 /* me */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.EntityEntry
            astore 13 /* entityEntry */
        start local 13 // org.hibernate.engine.spi.EntityEntry entityEntry
        13: .line 1127
            aload 6 /* persister */
            aload 13 /* entityEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.persister.entity.EntityPersister.isSubclassEntityName:(Ljava/lang/String;)Z
            ifeq 40
        14: .line 1128
            aload 9 /* me */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 14 /* entityEntryInstance */
        start local 14 // java.lang.Object entityEntryInstance
        15: .line 1131
            aload 0 /* this */
        16: .line 1132
            aload 2 /* propertyName */
        17: .line 1133
            aload 3 /* childEntity */
        18: .line 1134
            aload 6 /* persister */
        19: .line 1135
            aload 7 /* collectionPersister */
        20: .line 1136
            aload 14 /* entityEntryInstance */
        21: .line 1131
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.isFoundInParent:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;)Z
            istore 15 /* found */
        start local 15 // boolean found
        22: .line 1139
            iload 15 /* found */
            ifne 38
            aload 4 /* mergeMap */
            ifnull 38
        23: .line 1141
            aload 4 /* mergeMap */
            aload 14 /* entityEntryInstance */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 16 /* unmergedInstance */
        start local 16 // java.lang.Object unmergedInstance
        24: .line 1142
            aload 4 /* mergeMap */
            aload 3 /* childEntity */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 17 /* unmergedChild */
        start local 17 // java.lang.Object unmergedChild
        25: .line 1143
            aload 16 /* unmergedInstance */
            ifnull 38
            aload 17 /* unmergedChild */
            ifnull 38
        26: .line 1144
            aload 0 /* this */
        27: .line 1145
            aload 2 /* propertyName */
        28: .line 1146
            aload 17 /* unmergedChild */
        29: .line 1147
            aload 6 /* persister */
        30: .line 1148
            aload 7 /* collectionPersister */
        31: .line 1149
            aload 16 /* unmergedInstance */
        32: .line 1144
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.isFoundInParent:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;)Z
            istore 15 /* found */
        33: .line 1151
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        34: .line 1152
            ldc "Detached object being merged (corresponding with a managed entity) has a collection that [%s] the detached child."
        35: .line 1153
            iload 15 /* found */
            ifeq 36
            ldc "contains"
            goto 37
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object java.util.Map$Entry int int java.util.Map$Entry[] org.hibernate.engine.spi.EntityEntry java.lang.Object int java.lang.Object java.lang.Object
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String
        36: ldc "does not contain"
        37: .line 1151
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object java.util.Map$Entry int int java.util.Map$Entry[] org.hibernate.engine.spi.EntityEntry java.lang.Object int java.lang.Object java.lang.Object
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String java.lang.String
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 17 // java.lang.Object unmergedChild
        end local 16 // java.lang.Object unmergedInstance
        38: .line 1158
      StackMap locals:
      StackMap stack:
            iload 15 /* found */
            ifeq 40
        39: .line 1159
            aload 13 /* entityEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getId:()Ljava/io/Serializable;
            areturn
        end local 15 // boolean found
        end local 14 // java.lang.Object entityEntryInstance
        end local 13 // org.hibernate.engine.spi.EntityEntry entityEntry
        end local 9 // java.util.Map$Entry me
        40: .line 1124
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object top int int java.util.Map$Entry[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        41: iload 10
            iload 11
            if_icmplt 11
        42: .line 1168
            aload 4 /* mergeMap */
            ifnull 77
        43: .line 1169
            aload 4 /* mergeMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 76
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object top java.util.Iterator
      StackMap stack:
        44: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 9 /* o */
        start local 9 // java.lang.Object o
        45: .line 1170
            aload 9 /* o */
            checkcast java.util.Map$Entry
            astore 11 /* mergeMapEntry */
        start local 11 // java.util.Map$Entry mergeMapEntry
        46: .line 1171
            aload 11 /* mergeMapEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 76
        47: .line 1172
            aload 11 /* mergeMapEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.hibernate.proxy.HibernateProxy
            astore 12 /* proxy */
        start local 12 // org.hibernate.proxy.HibernateProxy proxy
        48: .line 1173
            aload 6 /* persister */
            aload 12 /* proxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            invokeinterface org.hibernate.proxy.LazyInitializer.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.persister.entity.EntityPersister.isSubclassEntityName:(Ljava/lang/String;)Z
            ifeq 76
        49: .line 1174
            aload 0 /* this */
        50: .line 1175
            aload 2 /* propertyName */
        51: .line 1176
            aload 3 /* childEntity */
        52: .line 1177
            aload 6 /* persister */
        53: .line 1178
            aload 7 /* collectionPersister */
        54: .line 1179
            aload 4 /* mergeMap */
            aload 12 /* proxy */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
        55: .line 1174
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.isFoundInParent:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;)Z
            istore 13 /* found */
        start local 13 // boolean found
        56: .line 1181
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        57: .line 1182
            ldc "Detached proxy being merged has a collection that [%s] the managed child."
        58: .line 1183
            iload 13 /* found */
            ifeq 59
            ldc "contains"
            goto 60
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object java.lang.Object java.util.Iterator java.util.Map$Entry org.hibernate.proxy.HibernateProxy int
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String
        59: ldc "does not contain"
        60: .line 1181
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object java.lang.Object java.util.Iterator java.util.Map$Entry org.hibernate.proxy.HibernateProxy int
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String java.lang.String
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        61: .line 1185
            iload 13 /* found */
            ifne 74
        62: .line 1186
            aload 0 /* this */
        63: .line 1187
            aload 2 /* propertyName */
        64: .line 1188
            aload 4 /* mergeMap */
            aload 3 /* childEntity */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
        65: .line 1189
            aload 6 /* persister */
        66: .line 1190
            aload 7 /* collectionPersister */
        67: .line 1191
            aload 4 /* mergeMap */
            aload 12 /* proxy */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
        68: .line 1186
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.isFoundInParent:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;)Z
            istore 13 /* found */
        69: .line 1193
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        70: .line 1194
            ldc "Detached proxy being merged has a collection that [%s] the detached child being merged.."
        71: .line 1195
            iload 13 /* found */
            ifeq 72
            ldc "contains"
            goto 73
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object java.lang.Object java.util.Iterator java.util.Map$Entry org.hibernate.proxy.HibernateProxy int
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String
        72: ldc "does not contain"
        73: .line 1193
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object java.lang.Object java.util.Iterator java.util.Map$Entry org.hibernate.proxy.HibernateProxy int
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String java.lang.String
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        74: .line 1198
      StackMap locals:
      StackMap stack:
            iload 13 /* found */
            ifeq 76
        75: .line 1199
            aload 12 /* proxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            invokeinterface org.hibernate.proxy.LazyInitializer.getIdentifier:()Ljava/io/Serializable;
            areturn
        end local 13 // boolean found
        end local 12 // org.hibernate.proxy.HibernateProxy proxy
        end local 11 // java.util.Map$Entry mergeMapEntry
        end local 9 // java.lang.Object o
        76: .line 1169
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 44
        77: .line 1206
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map java.lang.String org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object
      StackMap stack:
            aconst_null
            areturn
        end local 8 // java.lang.Object parent
        end local 7 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        end local 6 // org.hibernate.persister.entity.EntityPersister persister
        end local 5 // java.lang.String collectionRole
        end local 4 // java.util.Map mergeMap
        end local 3 // java.lang.Object childEntity
        end local 2 // java.lang.String propertyName
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   78     0                 this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   78     1           entityName  Ljava/lang/String;
            0   78     2         propertyName  Ljava/lang/String;
            0   78     3          childEntity  Ljava/lang/Object;
            0   78     4             mergeMap  Ljava/util/Map;
            1   78     5       collectionRole  Ljava/lang/String;
            2   78     6            persister  Lorg/hibernate/persister/entity/EntityPersister;
            3   78     7  collectionPersister  Lorg/hibernate/persister/collection/CollectionPersister;
            4   78     8               parent  Ljava/lang/Object;
            6   10     9          entityEntry  Lorg/hibernate/engine/spi/EntityEntry;
           12   40     9                   me  Ljava/util/Map$Entry<Ljava/lang/Object;Lorg/hibernate/engine/spi/EntityEntry;>;
           13   40    13          entityEntry  Lorg/hibernate/engine/spi/EntityEntry;
           15   40    14  entityEntryInstance  Ljava/lang/Object;
           22   40    15                found  Z
           24   38    16     unmergedInstance  Ljava/lang/Object;
           25   38    17        unmergedChild  Ljava/lang/Object;
           45   76     9                    o  Ljava/lang/Object;
           46   76    11        mergeMapEntry  Ljava/util/Map$Entry;
           48   76    12                proxy  Lorg/hibernate/proxy/HibernateProxy;
           56   76    13                found  Z
    MethodParameters:
              Name  Flags
      entityName    
      propertyName  
      childEntity   
      mergeMap      

  private boolean isFoundInParent(java.lang.String, java.lang.Object, org.hibernate.persister.entity.EntityPersister, org.hibernate.persister.collection.CollectionPersister, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.String property
        start local 2 // java.lang.Object childEntity
        start local 3 // org.hibernate.persister.entity.EntityPersister persister
        start local 4 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        start local 5 // java.lang.Object potentialParent
         0: .line 1215
            aload 3 /* persister */
            aload 5 /* potentialParent */
            aload 1 /* property */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getPropertyValue:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 6 /* collection */
        start local 6 // java.lang.Object collection
         1: .line 1216
            aload 6 /* collection */
            ifnull 5
         2: .line 1217
            aload 6 /* collection */
            invokestatic org.hibernate.Hibernate.isInitialized:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 1218
            aload 4 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getCollectionType:()Lorg/hibernate/type/CollectionType;
            aload 6 /* collection */
            aload 2 /* childEntity */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokevirtual org.hibernate.type.CollectionType.contains:(Ljava/lang/Object;Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Z
            ifeq 5
         4: .line 1216
            iconst_1
            ireturn
      StackMap locals: java.lang.Object
      StackMap stack:
         5: iconst_0
            ireturn
        end local 6 // java.lang.Object collection
        end local 5 // java.lang.Object potentialParent
        end local 4 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        end local 3 // org.hibernate.persister.entity.EntityPersister persister
        end local 2 // java.lang.Object childEntity
        end local 1 // java.lang.String property
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    6     1             property  Ljava/lang/String;
            0    6     2          childEntity  Ljava/lang/Object;
            0    6     3            persister  Lorg/hibernate/persister/entity/EntityPersister;
            0    6     4  collectionPersister  Lorg/hibernate/persister/collection/CollectionPersister;
            0    6     5      potentialParent  Ljava/lang/Object;
            1    6     6           collection  Ljava/lang/Object;
    MethodParameters:
                     Name  Flags
      property             
      childEntity          
      persister            
      collectionPersister  
      potentialParent      

  public java.lang.Object getIndexInOwner(java.lang.String, java.lang.String, java.lang.Object, java.util.Map);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=17, args_size=5
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.String entity
        start local 2 // java.lang.String property
        start local 3 // java.lang.Object childEntity
        start local 4 // java.util.Map mergeMap
         0: .line 1223
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 1 /* entity */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 5 /* persister */
        start local 5 // org.hibernate.persister.entity.EntityPersister persister
         1: .line 1224
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            new java.lang.StringBuilder
            dup
            aload 1 /* entity */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* property */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getCollectionPersister:(Ljava/lang/String;)Lorg/hibernate/persister/collection/CollectionPersister;
            astore 6 /* cp */
        start local 6 // org.hibernate.persister.collection.CollectionPersister cp
         2: .line 1227
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.parentsByChild:Ljava/util/Map;
            aload 3 /* childEntity */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* parent */
        start local 7 // java.lang.Object parent
         3: .line 1228
            aload 7 /* parent */
            ifnull 20
         4: .line 1229
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            aload 7 /* parent */
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.getEntityEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 8 /* entityEntry */
        start local 8 // org.hibernate.engine.spi.EntityEntry entityEntry
         5: .line 1231
            aload 5 /* persister */
            aload 8 /* entityEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.persister.entity.EntityPersister.isSubclassEntityName:(Ljava/lang/String;)Z
            ifeq 19
         6: .line 1232
            aload 0 /* this */
            aload 2 /* property */
            aload 3 /* childEntity */
            aload 5 /* persister */
            aload 6 /* cp */
            aload 7 /* parent */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getIndexInParent:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* index */
        start local 9 // java.lang.Object index
         7: .line 1234
            aload 9 /* index */
            ifnonnull 17
            aload 4 /* mergeMap */
            ifnull 17
         8: .line 1235
            aload 4 /* mergeMap */
            aload 7 /* parent */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* unMergedInstance */
        start local 10 // java.lang.Object unMergedInstance
         9: .line 1236
            aload 4 /* mergeMap */
            aload 3 /* childEntity */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* unMergedChild */
        start local 11 // java.lang.Object unMergedChild
        10: .line 1237
            aload 10 /* unMergedInstance */
            ifnull 17
            aload 11 /* unMergedChild */
            ifnull 17
        11: .line 1238
            aload 0 /* this */
            aload 2 /* property */
            aload 11 /* unMergedChild */
            aload 5 /* persister */
            aload 6 /* cp */
            aload 10 /* unMergedInstance */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getIndexInParent:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* index */
        12: .line 1239
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        13: .line 1240
            ldc "A detached object being merged (corresponding to a parent in parentsByChild) has an indexed collection that [%s] the detached child being merged. "
        14: .line 1241
            aload 9 /* index */
            ifnull 15
            ldc "contains"
            goto 16
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object org.hibernate.engine.spi.EntityEntry java.lang.Object java.lang.Object java.lang.Object
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String
        15: ldc "does not contain"
        16: .line 1239
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object org.hibernate.engine.spi.EntityEntry java.lang.Object java.lang.Object java.lang.Object
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String java.lang.String
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 11 // java.lang.Object unMergedChild
        end local 10 // java.lang.Object unMergedInstance
        17: .line 1245
      StackMap locals:
      StackMap stack:
            aload 9 /* index */
            ifnull 20
        18: .line 1246
            aload 9 /* index */
            areturn
        end local 9 // java.lang.Object index
        19: .line 1251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.parentsByChild:Ljava/util/Map;
            aload 3 /* childEntity */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // org.hibernate.engine.spi.EntityEntry entityEntry
        20: .line 1256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.reentrantSafeEntityEntries:()[Ljava/util/Map$Entry;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 39
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object top int int java.util.Map$Entry[]
      StackMap stack:
        21: aload 11
            iload 9
            aaload
            astore 8 /* me */
        start local 8 // java.util.Map$Entry me
        22: .line 1257
            aload 8 /* me */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.EntityEntry
            astore 12 /* ee */
        start local 12 // org.hibernate.engine.spi.EntityEntry ee
        23: .line 1258
            aload 5 /* persister */
            aload 12 /* ee */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.persister.entity.EntityPersister.isSubclassEntityName:(Ljava/lang/String;)Z
            ifeq 38
        24: .line 1259
            aload 8 /* me */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 13 /* instance */
        start local 13 // java.lang.Object instance
        25: .line 1261
            aload 0 /* this */
            aload 2 /* property */
            aload 3 /* childEntity */
            aload 5 /* persister */
            aload 6 /* cp */
            aload 13 /* instance */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getIndexInParent:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;)Ljava/lang/Object;
            astore 14 /* index */
        start local 14 // java.lang.Object index
        26: .line 1262
            aload 14 /* index */
            ifnonnull 36
            aload 4 /* mergeMap */
            ifnull 36
        27: .line 1263
            aload 4 /* mergeMap */
            aload 13 /* instance */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 15 /* unMergedInstance */
        start local 15 // java.lang.Object unMergedInstance
        28: .line 1264
            aload 4 /* mergeMap */
            aload 3 /* childEntity */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 16 /* unMergedChild */
        start local 16 // java.lang.Object unMergedChild
        29: .line 1265
            aload 15 /* unMergedInstance */
            ifnull 36
            aload 16 /* unMergedChild */
            ifnull 36
        30: .line 1266
            aload 0 /* this */
            aload 2 /* property */
            aload 16 /* unMergedChild */
            aload 5 /* persister */
            aload 6 /* cp */
            aload 15 /* unMergedInstance */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getIndexInParent:(Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;)Ljava/lang/Object;
            astore 14 /* index */
        31: .line 1267
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        32: .line 1268
            ldc "A detached object being merged (corresponding to a managed entity) has an indexed collection that [%s] the detached child being merged. "
        33: .line 1269
            aload 14 /* index */
            ifnull 34
            ldc "contains"
            goto 35
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object java.util.Map$Entry int int java.util.Map$Entry[] org.hibernate.engine.spi.EntityEntry java.lang.Object java.lang.Object java.lang.Object java.lang.Object
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String
        34: ldc "does not contain"
        35: .line 1267
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object java.util.Map$Entry int int java.util.Map$Entry[] org.hibernate.engine.spi.EntityEntry java.lang.Object java.lang.Object java.lang.Object java.lang.Object
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String java.lang.String
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 16 // java.lang.Object unMergedChild
        end local 15 // java.lang.Object unMergedInstance
        36: .line 1274
      StackMap locals:
      StackMap stack:
            aload 14 /* index */
            ifnull 38
        37: .line 1275
            aload 14 /* index */
            areturn
        end local 14 // java.lang.Object index
        end local 13 // java.lang.Object instance
        end local 12 // org.hibernate.engine.spi.EntityEntry ee
        end local 8 // java.util.Map$Entry me
        38: .line 1256
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.String java.lang.String java.lang.Object java.util.Map org.hibernate.persister.entity.EntityPersister org.hibernate.persister.collection.CollectionPersister java.lang.Object top int int java.util.Map$Entry[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        39: iload 9
            iload 10
            if_icmplt 21
        40: .line 1279
            aconst_null
            areturn
        end local 7 // java.lang.Object parent
        end local 6 // org.hibernate.persister.collection.CollectionPersister cp
        end local 5 // org.hibernate.persister.entity.EntityPersister persister
        end local 4 // java.util.Map mergeMap
        end local 3 // java.lang.Object childEntity
        end local 2 // java.lang.String property
        end local 1 // java.lang.String entity
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   41     0              this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   41     1            entity  Ljava/lang/String;
            0   41     2          property  Ljava/lang/String;
            0   41     3       childEntity  Ljava/lang/Object;
            0   41     4          mergeMap  Ljava/util/Map;
            1   41     5         persister  Lorg/hibernate/persister/entity/EntityPersister;
            2   41     6                cp  Lorg/hibernate/persister/collection/CollectionPersister;
            3   41     7            parent  Ljava/lang/Object;
            5   20     8       entityEntry  Lorg/hibernate/engine/spi/EntityEntry;
            7   19     9             index  Ljava/lang/Object;
            9   17    10  unMergedInstance  Ljava/lang/Object;
           10   17    11     unMergedChild  Ljava/lang/Object;
           22   38     8                me  Ljava/util/Map$Entry<Ljava/lang/Object;Lorg/hibernate/engine/spi/EntityEntry;>;
           23   38    12                ee  Lorg/hibernate/engine/spi/EntityEntry;
           25   38    13          instance  Ljava/lang/Object;
           26   38    14             index  Ljava/lang/Object;
           28   36    15  unMergedInstance  Ljava/lang/Object;
           29   36    16     unMergedChild  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      entity       
      property     
      childEntity  
      mergeMap     

  private java.lang.Object getIndexInParent(java.lang.String, java.lang.Object, org.hibernate.persister.entity.EntityPersister, org.hibernate.persister.collection.CollectionPersister, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/persister/collection/CollectionPersister;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.String property
        start local 2 // java.lang.Object childEntity
        start local 3 // org.hibernate.persister.entity.EntityPersister persister
        start local 4 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        start local 5 // java.lang.Object potentialParent
         0: .line 1288
            aload 3 /* persister */
            aload 5 /* potentialParent */
            aload 1 /* property */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getPropertyValue:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 6 /* collection */
        start local 6 // java.lang.Object collection
         1: .line 1289
            aload 6 /* collection */
            ifnull 3
            aload 6 /* collection */
            invokestatic org.hibernate.Hibernate.isInitialized:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 1290
            aload 4 /* collectionPersister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getCollectionType:()Lorg/hibernate/type/CollectionType;
            aload 6 /* collection */
            aload 2 /* childEntity */
            invokevirtual org.hibernate.type.CollectionType.indexOf:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         3: .line 1293
      StackMap locals: java.lang.Object
      StackMap stack:
            aconst_null
            areturn
        end local 6 // java.lang.Object collection
        end local 5 // java.lang.Object potentialParent
        end local 4 // org.hibernate.persister.collection.CollectionPersister collectionPersister
        end local 3 // org.hibernate.persister.entity.EntityPersister persister
        end local 2 // java.lang.Object childEntity
        end local 1 // java.lang.String property
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    4     1             property  Ljava/lang/String;
            0    4     2          childEntity  Ljava/lang/Object;
            0    4     3            persister  Lorg/hibernate/persister/entity/EntityPersister;
            0    4     4  collectionPersister  Lorg/hibernate/persister/collection/CollectionPersister;
            0    4     5      potentialParent  Ljava/lang/Object;
            1    4     6           collection  Ljava/lang/Object;
    MethodParameters:
                     Name  Flags
      property             
      childEntity          
      persister            
      collectionPersister  
      potentialParent      

  public void addNullProperty(org.hibernate.engine.spi.EntityKey, java.lang.String);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey ownerKey
        start local 2 // java.lang.String propertyName
         0: .line 1299
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nullAssociations:Ljava/util/HashSet;
            new org.hibernate.engine.spi.AssociationKey
            dup
            aload 1 /* ownerKey */
            aload 2 /* propertyName */
            invokespecial org.hibernate.engine.spi.AssociationKey.<init>:(Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/String;)V
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1300
            return
        end local 2 // java.lang.String propertyName
        end local 1 // org.hibernate.engine.spi.EntityKey ownerKey
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    2     1      ownerKey  Lorg/hibernate/engine/spi/EntityKey;
            0    2     2  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      ownerKey      
      propertyName  

  public boolean isPropertyNull(org.hibernate.engine.spi.EntityKey, java.lang.String);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey ownerKey
        start local 2 // java.lang.String propertyName
         0: .line 1304
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nullAssociations:Ljava/util/HashSet;
            new org.hibernate.engine.spi.AssociationKey
            dup
            aload 1 /* ownerKey */
            aload 2 /* propertyName */
            invokespecial org.hibernate.engine.spi.AssociationKey.<init>:(Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/String;)V
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.lang.String propertyName
        end local 1 // org.hibernate.engine.spi.EntityKey ownerKey
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    1     1      ownerKey  Lorg/hibernate/engine/spi/EntityKey;
            0    1     2  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      ownerKey      
      propertyName  

  private void clearNullProperties();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1308
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nullAssociations:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.clear:()V
         1: .line 1309
            return
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public boolean isReadOnly(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object entityOrProxy
         0: .line 1313
            aload 1 /* entityOrProxy */
            ifnonnull 2
         1: .line 1314
            new org.hibernate.AssertionFailure
            dup
            ldc "object must be non-null."
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1317
      StackMap locals:
      StackMap stack:
            aload 1 /* entityOrProxy */
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 5
         3: .line 1318
            aload 1 /* entityOrProxy */
            checkcast org.hibernate.proxy.HibernateProxy
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            invokeinterface org.hibernate.proxy.LazyInitializer.isReadOnly:()Z
            istore 2 /* isReadOnly */
        start local 2 // boolean isReadOnly
         4: .line 1319
            goto 9
        end local 2 // boolean isReadOnly
         5: .line 1321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* entityOrProxy */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 3 /* ee */
        start local 3 // org.hibernate.engine.spi.EntityEntry ee
         6: .line 1322
            aload 3 /* ee */
            ifnonnull 8
         7: .line 1323
            new org.hibernate.TransientObjectException
            dup
            ldc "Instance was not associated with this persistence context"
            invokespecial org.hibernate.TransientObjectException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1325
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.Object top org.hibernate.engine.spi.EntityEntry
      StackMap stack:
            aload 3 /* ee */
            invokevirtual org.hibernate.engine.spi.EntityEntry.isReadOnly:()Z
            istore 2 /* isReadOnly */
        end local 3 // org.hibernate.engine.spi.EntityEntry ee
        start local 2 // boolean isReadOnly
         9: .line 1327
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.Object int
      StackMap stack:
            iload 2 /* isReadOnly */
            ireturn
        end local 2 // boolean isReadOnly
        end local 1 // java.lang.Object entityOrProxy
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   10     1  entityOrProxy  Ljava/lang/Object;
            4    5     2     isReadOnly  Z
            9   10     2     isReadOnly  Z
            6    9     3             ee  Lorg/hibernate/engine/spi/EntityEntry;
    MethodParameters:
               Name  Flags
      entityOrProxy  

  public void setReadOnly(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object object
        start local 2 // boolean readOnly
         0: .line 1332
            aload 1 /* object */
            ifnonnull 2
         1: .line 1333
            new org.hibernate.AssertionFailure
            dup
            ldc "object must be non-null."
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.isReadOnly:(Ljava/lang/Object;)Z
            iload 2 /* readOnly */
            if_icmpne 4
         3: .line 1336
            return
         4: .line 1338
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 13
         5: .line 1339
            aload 1 /* object */
            checkcast org.hibernate.proxy.HibernateProxy
            astore 3 /* proxy */
        start local 3 // org.hibernate.proxy.HibernateProxy proxy
         6: .line 1340
            aload 0 /* this */
            aload 3 /* proxy */
            iload 2 /* readOnly */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.setProxyReadOnly:(Lorg/hibernate/proxy/HibernateProxy;Z)V
         7: .line 1341
            aload 3 /* proxy */
            invokestatic org.hibernate.Hibernate.isInitialized:(Ljava/lang/Object;)Z
            ifeq 17
         8: .line 1342
            aload 0 /* this */
         9: .line 1343
            aload 3 /* proxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            invokeinterface org.hibernate.proxy.LazyInitializer.getImplementation:()Ljava/lang/Object;
        10: .line 1344
            iload 2 /* readOnly */
        11: .line 1342
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.setEntityReadOnly:(Ljava/lang/Object;Z)V
        end local 3 // org.hibernate.proxy.HibernateProxy proxy
        12: .line 1347
            goto 17
        13: .line 1349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            iload 2 /* readOnly */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.setEntityReadOnly:(Ljava/lang/Object;Z)V
        14: .line 1352
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getSession:()Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 1 /* object */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.proxyFor:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* maybeProxy */
        start local 3 // java.lang.Object maybeProxy
        15: .line 1353
            aload 3 /* maybeProxy */
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 17
        16: .line 1354
            aload 0 /* this */
            aload 3 /* maybeProxy */
            checkcast org.hibernate.proxy.HibernateProxy
            iload 2 /* readOnly */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.setProxyReadOnly:(Lorg/hibernate/proxy/HibernateProxy;Z)V
        end local 3 // java.lang.Object maybeProxy
        17: .line 1357
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean readOnly
        end local 1 // java.lang.Object object
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   18     1      object  Ljava/lang/Object;
            0   18     2    readOnly  Z
            6   12     3       proxy  Lorg/hibernate/proxy/HibernateProxy;
           15   17     3  maybeProxy  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      object    
      readOnly  

  private void setProxyReadOnly(org.hibernate.proxy.HibernateProxy, boolean);
    descriptor: (Lorg/hibernate/proxy/HibernateProxy;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.proxy.HibernateProxy proxy
        start local 2 // boolean readOnly
         0: .line 1360
            aload 1 /* proxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            invokeinterface org.hibernate.proxy.LazyInitializer.getSession:()Lorg/hibernate/engine/spi/SessionImplementor;
            aload 0 /* this */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getSession:()Lorg/hibernate/engine/spi/SessionImplementor;
            if_acmpeq 4
         1: .line 1361
            new org.hibernate.AssertionFailure
            dup
         2: .line 1362
            ldc "Attempt to set a proxy to read-only that is associated with a different session"
         3: .line 1361
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1364
      StackMap locals:
      StackMap stack:
            aload 1 /* proxy */
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            iload 2 /* readOnly */
            invokeinterface org.hibernate.proxy.LazyInitializer.setReadOnly:(Z)V
         5: .line 1365
            return
        end local 2 // boolean readOnly
        end local 1 // org.hibernate.proxy.HibernateProxy proxy
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    6     1     proxy  Lorg/hibernate/proxy/HibernateProxy;
            0    6     2  readOnly  Z
    MethodParameters:
          Name  Flags
      proxy     
      readOnly  

  private void setEntityReadOnly(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object entity
        start local 2 // boolean readOnly
         0: .line 1368
            aload 0 /* this */
            aload 1 /* entity */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 3 /* entry */
        start local 3 // org.hibernate.engine.spi.EntityEntry entry
         1: .line 1369
            aload 3 /* entry */
            ifnonnull 3
         2: .line 1370
            new org.hibernate.TransientObjectException
            dup
            ldc "Instance was not associated with this persistence context"
            invokespecial org.hibernate.TransientObjectException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1372
      StackMap locals: org.hibernate.engine.spi.EntityEntry
      StackMap stack:
            aload 3 /* entry */
            iload 2 /* readOnly */
            aload 1 /* entity */
            invokevirtual org.hibernate.engine.spi.EntityEntry.setReadOnly:(ZLjava/lang/Object;)V
         4: .line 1373
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.hasNonReadOnlyEntities:Z
            ifne 5
            iload 2 /* readOnly */
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext
         5: iconst_1
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.lang.Object int org.hibernate.engine.spi.EntityEntry
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext int
         6: putfield org.hibernate.engine.internal.StatefulPersistenceContext.hasNonReadOnlyEntities:Z
         7: .line 1374
            return
        end local 3 // org.hibernate.engine.spi.EntityEntry entry
        end local 2 // boolean readOnly
        end local 1 // java.lang.Object entity
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    8     1    entity  Ljava/lang/Object;
            0    8     2  readOnly  Z
            1    8     3     entry  Lorg/hibernate/engine/spi/EntityEntry;
    MethodParameters:
          Name  Flags
      entity    
      readOnly  

  public void replaceDelayedEntityIdentityInsertKeys(org.hibernate.engine.spi.EntityKey, java.io.Serializable);
    descriptor: (Lorg/hibernate/engine/spi/EntityKey;Ljava/io/Serializable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=6, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.engine.spi.EntityKey oldKey
        start local 2 // java.io.Serializable generatedId
         0: .line 1378
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            aload 1 /* oldKey */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* entity */
        start local 3 // java.lang.Object entity
         1: .line 1379
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            aload 3 /* entity */
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.removeEntityEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 4 /* oldEntry */
        start local 4 // org.hibernate.engine.spi.EntityEntry oldEntry
         2: .line 1380
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.parentsByChild:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         3: .line 1382
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 2 /* generatedId */
            aload 4 /* oldEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getPersister:()Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            astore 5 /* newKey */
        start local 5 // org.hibernate.engine.spi.EntityKey newKey
         4: .line 1383
            aload 0 /* this */
            aload 5 /* newKey */
            aload 3 /* entity */
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.addEntity:(Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;)V
         5: .line 1384
            aload 0 /* this */
         6: .line 1385
            aload 3 /* entity */
         7: .line 1386
            aload 4 /* oldEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
         8: .line 1387
            aload 4 /* oldEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getLoadedState:()[Ljava/lang/Object;
         9: .line 1388
            aload 4 /* oldEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getRowId:()Ljava/lang/Object;
        10: .line 1389
            aload 2 /* generatedId */
        11: .line 1390
            aload 4 /* oldEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getVersion:()Ljava/lang/Object;
        12: .line 1391
            aload 4 /* oldEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getLockMode:()Lorg/hibernate/LockMode;
        13: .line 1392
            aload 4 /* oldEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.isExistsInDatabase:()Z
        14: .line 1393
            aload 4 /* oldEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getPersister:()Lorg/hibernate/persister/entity/EntityPersister;
        15: .line 1394
            aload 4 /* oldEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.isBeingReplicated:()Z
        16: .line 1395
            aload 4 /* oldEntry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.isLoadedWithLazyPropertiesUnfetched:()Z
        17: .line 1384
            invokevirtual org.hibernate.engine.internal.StatefulPersistenceContext.addEntry:(Ljava/lang/Object;Lorg/hibernate/engine/spi/Status;[Ljava/lang/Object;Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Object;Lorg/hibernate/LockMode;ZLorg/hibernate/persister/entity/EntityPersister;ZZ)Lorg/hibernate/engine/spi/EntityEntry;
            pop
        18: .line 1397
            return
        end local 5 // org.hibernate.engine.spi.EntityKey newKey
        end local 4 // org.hibernate.engine.spi.EntityEntry oldEntry
        end local 3 // java.lang.Object entity
        end local 2 // java.io.Serializable generatedId
        end local 1 // org.hibernate.engine.spi.EntityKey oldKey
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   19     1       oldKey  Lorg/hibernate/engine/spi/EntityKey;
            0   19     2  generatedId  Ljava/io/Serializable;
            1   19     3       entity  Ljava/lang/Object;
            2   19     4     oldEntry  Lorg/hibernate/engine/spi/EntityEntry;
            4   19     5       newKey  Lorg/hibernate/engine/spi/EntityKey;
    MethodParameters:
             Name  Flags
      oldKey       
      generatedId  

  public void serialize(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.io.ObjectOutputStream oos
         0: .line 1407
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            istore 2 /* tracing */
        start local 2 // boolean tracing
         1: .line 1408
            iload 2 /* tracing */
            ifeq 3
         2: .line 1409
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Serializing persisatence-context"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         3: .line 1412
      StackMap locals: int
      StackMap stack:
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.defaultReadOnly:Z
            invokevirtual java.io.ObjectOutputStream.writeBoolean:(Z)V
         4: .line 1413
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.hasNonReadOnlyEntities:Z
            invokevirtual java.io.ObjectOutputStream.writeBoolean:(Z)V
         5: .line 1415
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
         6: .line 1416
            iload 2 /* tracing */
            ifeq 8
         7: .line 1417
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting serialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] entitiesByKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         8: .line 1419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
        10: .line 1420
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.EntityKey
            aload 1 /* oos */
            invokevirtual org.hibernate.engine.spi.EntityKey.serialize:(Ljava/io/ObjectOutputStream;)V
        11: .line 1421
            aload 1 /* oos */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        end local 3 // java.util.Map$Entry entry
        12: .line 1419
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1424
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByUniqueKey:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
        14: .line 1425
            iload 2 /* tracing */
            ifeq 16
        15: .line 1426
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting serialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByUniqueKey:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] entitiesByUniqueKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        16: .line 1428
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByUniqueKey:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 20
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int top java.util.Iterator
      StackMap stack:
        17: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
        18: .line 1429
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.EntityUniqueKey
            aload 1 /* oos */
            invokevirtual org.hibernate.engine.spi.EntityUniqueKey.serialize:(Ljava/io/ObjectOutputStream;)V
        19: .line 1430
            aload 1 /* oos */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        end local 3 // java.util.Map$Entry entry
        20: .line 1428
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        21: .line 1433
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.size:()I
            invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
        22: .line 1434
            iload 2 /* tracing */
            ifeq 24
        23: .line 1435
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting serialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] proxiesByKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        24: .line 1437
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 28
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int top java.util.Iterator
      StackMap stack:
        25: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
        26: .line 1438
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.EntityKey
            aload 1 /* oos */
            invokevirtual org.hibernate.engine.spi.EntityKey.serialize:(Ljava/io/ObjectOutputStream;)V
        27: .line 1439
            aload 1 /* oos */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        end local 3 // java.util.Map$Entry entry
        28: .line 1437
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        29: .line 1442
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitySnapshotsByKey:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
        30: .line 1443
            iload 2 /* tracing */
            ifeq 32
        31: .line 1444
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting serialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitySnapshotsByKey:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] entitySnapshotsByKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        32: .line 1446
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitySnapshotsByKey:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 36
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int top java.util.Iterator
      StackMap stack:
        33: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
        34: .line 1447
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.EntityKey
            aload 1 /* oos */
            invokevirtual org.hibernate.engine.spi.EntityKey.serialize:(Ljava/io/ObjectOutputStream;)V
        35: .line 1448
            aload 1 /* oos */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        end local 3 // java.util.Map$Entry entry
        36: .line 1446
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 33
        37: .line 1451
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
            aload 1 /* oos */
            invokevirtual org.hibernate.engine.internal.EntityEntryContext.serialize:(Ljava/io/ObjectOutputStream;)V
        38: .line 1453
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionsByKey:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
        39: .line 1454
            iload 2 /* tracing */
            ifeq 41
        40: .line 1455
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting serialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionsByKey:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] collectionsByKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        41: .line 1457
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionsByKey:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 45
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int top java.util.Iterator
      StackMap stack:
        42: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
        43: .line 1458
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.CollectionKey
            aload 1 /* oos */
            invokevirtual org.hibernate.engine.spi.CollectionKey.serialize:(Ljava/io/ObjectOutputStream;)V
        44: .line 1459
            aload 1 /* oos */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        end local 3 // java.util.Map$Entry entry
        45: .line 1457
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        46: .line 1462
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            invokevirtual org.hibernate.internal.util.collections.IdentityMap.size:()I
            invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
        47: .line 1463
            iload 2 /* tracing */
            ifeq 49
        48: .line 1464
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting serialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            invokevirtual org.hibernate.internal.util.collections.IdentityMap.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] collectionEntries entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        49: .line 1466
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            invokevirtual org.hibernate.internal.util.collections.IdentityMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 53
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int top java.util.Iterator
      StackMap stack:
        50: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
        51: .line 1467
            aload 1 /* oos */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        52: .line 1468
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.CollectionEntry
            aload 1 /* oos */
            invokevirtual org.hibernate.engine.spi.CollectionEntry.serialize:(Ljava/io/ObjectOutputStream;)V
        end local 3 // java.util.Map$Entry entry
        53: .line 1466
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 50
        54: .line 1471
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.arrayHolders:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
        55: .line 1472
            iload 2 /* tracing */
            ifeq 57
        56: .line 1473
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting serialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.arrayHolders:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] arrayHolders entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        57: .line 1475
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.arrayHolders:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 61
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int top java.util.Iterator
      StackMap stack:
        58: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
        59: .line 1476
            aload 1 /* oos */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        60: .line 1477
            aload 1 /* oos */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        end local 3 // java.util.Map$Entry entry
        61: .line 1475
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 58
        62: .line 1480
            aload 1 /* oos */
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nullifiableEntityKeys:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.size:()I
            invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
        63: .line 1481
            iload 2 /* tracing */
            ifeq 65
        64: .line 1482
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting serialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nullifiableEntityKeys:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] nullifiableEntityKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        65: .line 1484
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nullifiableEntityKeys:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 68
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext java.io.ObjectOutputStream int top java.util.Iterator
      StackMap stack:
        66: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.EntityKey
            astore 3 /* entry */
        start local 3 // org.hibernate.engine.spi.EntityKey entry
        67: .line 1485
            aload 3 /* entry */
            aload 1 /* oos */
            invokevirtual org.hibernate.engine.spi.EntityKey.serialize:(Ljava/io/ObjectOutputStream;)V
        end local 3 // org.hibernate.engine.spi.EntityKey entry
        68: .line 1484
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 66
        69: .line 1487
            return
        end local 2 // boolean tracing
        end local 1 // java.io.ObjectOutputStream oos
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   70     0     this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   70     1      oos  Ljava/io/ObjectOutputStream;
            1   70     2  tracing  Z
           10   12     3    entry  Ljava/util/Map$Entry<Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;>;
           18   20     3    entry  Ljava/util/Map$Entry<Lorg/hibernate/engine/spi/EntityUniqueKey;Ljava/lang/Object;>;
           26   28     3    entry  Ljava/util/Map$Entry<Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;>;
           34   36     3    entry  Ljava/util/Map$Entry<Lorg/hibernate/engine/spi/EntityKey;Ljava/lang/Object;>;
           43   45     3    entry  Ljava/util/Map$Entry<Lorg/hibernate/engine/spi/CollectionKey;Lorg/hibernate/collection/spi/PersistentCollection;>;
           51   53     3    entry  Ljava/util/Map$Entry<Lorg/hibernate/collection/spi/PersistentCollection;Lorg/hibernate/engine/spi/CollectionEntry;>;
           59   61     3    entry  Ljava/util/Map$Entry<Ljava/lang/Object;Lorg/hibernate/collection/spi/PersistentCollection;>;
           67   68     3    entry  Lorg/hibernate/engine/spi/EntityKey;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oos   

  public static org.hibernate.engine.internal.StatefulPersistenceContext deserialize(java.io.ObjectInputStream, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/ObjectInputStream;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/internal/StatefulPersistenceContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=9, args_size=2
        start local 0 // java.io.ObjectInputStream ois
        start local 1 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 1503
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            istore 2 /* tracing */
        start local 2 // boolean tracing
         1: .line 1504
            iload 2 /* tracing */
            ifeq 3
         2: .line 1505
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Serializing persistent-context"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         3: .line 1507
      StackMap locals: int
      StackMap stack:
            new org.hibernate.engine.internal.StatefulPersistenceContext
            dup
            aload 1 /* session */
            invokespecial org.hibernate.engine.internal.StatefulPersistenceContext.<init>:(Lorg/hibernate/engine/spi/SessionImplementor;)V
            astore 3 /* rtn */
        start local 3 // org.hibernate.engine.internal.StatefulPersistenceContext rtn
         4: .line 1508
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            astore 4 /* sfi */
        start local 4 // org.hibernate.engine.spi.SessionFactoryImplementor sfi
         5: .line 1516
            aload 3 /* rtn */
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readBoolean:()Z
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.defaultReadOnly:Z
         6: .line 1518
            aload 3 /* rtn */
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readBoolean:()Z
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.hasNonReadOnlyEntities:Z
         7: .line 1520
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readInt:()I
            istore 5 /* count */
        start local 5 // int count
         8: .line 1521
            iload 2 /* tracing */
            ifeq 10
         9: .line 1522
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting deserialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] entitiesByKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        10: .line 1524
      StackMap locals: org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack:
            aload 3 /* rtn */
        11: new java.util.HashMap
            dup
            iload 5 /* count */
            bipush 8
            if_icmpge 12
            bipush 8
            goto 13
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 11 new 11
        12: iload 5 /* count */
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 11 new 11 int
        13: invokespecial java.util.HashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
        14: .line 1525
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 18
        16: .line 1526
      StackMap locals: int
      StackMap stack:
            aload 3 /* rtn */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByKey:Ljava/util/Map;
            aload 0 /* ois */
            aload 4 /* sfi */
            invokestatic org.hibernate.engine.spi.EntityKey.deserialize:(Ljava/io/ObjectInputStream;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 1525
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            iload 5 /* count */
            if_icmplt 16
        end local 6 // int i
        19: .line 1529
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readInt:()I
            istore 5 /* count */
        20: .line 1530
            iload 2 /* tracing */
            ifeq 22
        21: .line 1531
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting deserialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] entitiesByUniqueKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        22: .line 1533
      StackMap locals:
      StackMap stack:
            aload 3 /* rtn */
        23: new java.util.HashMap
            dup
            iload 5 /* count */
            bipush 8
            if_icmpge 24
            bipush 8
            goto 25
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 23 new 23
        24: iload 5 /* count */
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 23 new 23 int
        25: invokespecial java.util.HashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByUniqueKey:Ljava/util/Map;
        26: .line 1534
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        27: goto 30
        28: .line 1535
      StackMap locals: int
      StackMap stack:
            aload 3 /* rtn */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitiesByUniqueKey:Ljava/util/Map;
            aload 0 /* ois */
            aload 1 /* session */
            invokestatic org.hibernate.engine.spi.EntityUniqueKey.deserialize:(Ljava/io/ObjectInputStream;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/EntityUniqueKey;
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 1534
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 6 /* i */
            iload 5 /* count */
            if_icmplt 28
        end local 6 // int i
        31: .line 1538
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readInt:()I
            istore 5 /* count */
        32: .line 1539
            iload 2 /* tracing */
            ifeq 34
        33: .line 1540
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting deserialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] proxiesByKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        34: .line 1543
      StackMap locals:
      StackMap stack:
            aload 3 /* rtn */
        35: new org.hibernate.internal.util.collections.ConcurrentReferenceHashMap
            dup
        36: .line 1544
            iload 5 /* count */
            bipush 8
            if_icmpge 37
            bipush 8
            goto 38
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 35 new 35
        37: iload 5 /* count */
        38: .line 1545
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 35 new 35 int
            ldc 0.75
        39: .line 1546
            iconst_1
        40: .line 1547
            getstatic org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$ReferenceType.STRONG:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
        41: .line 1548
            getstatic org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$ReferenceType.WEAK:Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;
        42: .line 1549
            aconst_null
            invokespecial org.hibernate.internal.util.collections.ConcurrentReferenceHashMap.<init>:(IFILorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;Lorg/hibernate/internal/util/collections/ConcurrentReferenceHashMap$ReferenceType;Ljava/util/EnumSet;)V
        43: .line 1543
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
        44: .line 1551
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        45: goto 55
        46: .line 1552
      StackMap locals: int
      StackMap stack:
            aload 0 /* ois */
            aload 4 /* sfi */
            invokestatic org.hibernate.engine.spi.EntityKey.deserialize:(Ljava/io/ObjectInputStream;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            astore 7 /* ek */
        start local 7 // org.hibernate.engine.spi.EntityKey ek
        47: .line 1553
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            astore 8 /* proxy */
        start local 8 // java.lang.Object proxy
        48: .line 1554
            aload 8 /* proxy */
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 52
        49: .line 1555
            aload 8 /* proxy */
            checkcast org.hibernate.proxy.HibernateProxy
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            aload 1 /* session */
            invokeinterface org.hibernate.proxy.LazyInitializer.setSession:(Lorg/hibernate/engine/spi/SessionImplementor;)V
        50: .line 1556
            aload 3 /* rtn */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.proxiesByKey:Ljava/util/concurrent/ConcurrentMap;
            aload 7 /* ek */
            aload 8 /* proxy */
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        51: .line 1557
            goto 54
        52: .line 1560
      StackMap locals: org.hibernate.engine.spi.EntityKey java.lang.Object
      StackMap stack:
            iload 2 /* tracing */
            ifeq 54
        53: .line 1561
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Encountered pruned proxy"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        end local 8 // java.lang.Object proxy
        end local 7 // org.hibernate.engine.spi.EntityKey ek
        54: .line 1551
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 6 /* i */
            iload 5 /* count */
            if_icmplt 46
        end local 6 // int i
        56: .line 1566
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readInt:()I
            istore 5 /* count */
        57: .line 1567
            iload 2 /* tracing */
            ifeq 59
        58: .line 1568
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting deserialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] entitySnapshotsByKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        59: .line 1570
      StackMap locals:
      StackMap stack:
            aload 3 /* rtn */
        60: new java.util.HashMap
            dup
            iload 5 /* count */
            bipush 8
            if_icmpge 61
            bipush 8
            goto 62
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 60 new 60
        61: iload 5 /* count */
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 60 new 60 int
        62: invokespecial java.util.HashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.entitySnapshotsByKey:Ljava/util/Map;
        63: .line 1571
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        64: goto 67
        65: .line 1572
      StackMap locals: int
      StackMap stack:
            aload 3 /* rtn */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.entitySnapshotsByKey:Ljava/util/Map;
            aload 0 /* ois */
            aload 4 /* sfi */
            invokestatic org.hibernate.engine.spi.EntityKey.deserialize:(Ljava/io/ObjectInputStream;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        66: .line 1571
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        67: iload 6 /* i */
            iload 5 /* count */
            if_icmplt 65
        end local 6 // int i
        68: .line 1575
            aload 3 /* rtn */
            aload 0 /* ois */
            aload 3 /* rtn */
            invokestatic org.hibernate.engine.internal.EntityEntryContext.deserialize:(Ljava/io/ObjectInputStream;Lorg/hibernate/engine/internal/StatefulPersistenceContext;)Lorg/hibernate/engine/internal/EntityEntryContext;
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.entityEntryContext:Lorg/hibernate/engine/internal/EntityEntryContext;
        69: .line 1577
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readInt:()I
            istore 5 /* count */
        70: .line 1578
            iload 2 /* tracing */
            ifeq 72
        71: .line 1579
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting deserialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] collectionsByKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        72: .line 1581
      StackMap locals:
      StackMap stack:
            aload 3 /* rtn */
        73: new java.util.HashMap
            dup
            iload 5 /* count */
            bipush 8
            if_icmpge 74
            bipush 8
            goto 75
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 73 new 73
        74: iload 5 /* count */
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 73 new 73 int
        75: invokespecial java.util.HashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionsByKey:Ljava/util/Map;
        76: .line 1582
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        77: goto 80
        78: .line 1583
      StackMap locals: int
      StackMap stack:
            aload 3 /* rtn */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionsByKey:Ljava/util/Map;
            aload 0 /* ois */
            aload 1 /* session */
            invokestatic org.hibernate.engine.spi.CollectionKey.deserialize:(Ljava/io/ObjectInputStream;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/CollectionKey;
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast org.hibernate.collection.spi.PersistentCollection
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        79: .line 1582
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        80: iload 6 /* i */
            iload 5 /* count */
            if_icmplt 78
        end local 6 // int i
        81: .line 1586
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readInt:()I
            istore 5 /* count */
        82: .line 1587
            iload 2 /* tracing */
            ifeq 84
        83: .line 1588
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting deserialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] collectionEntries entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        84: .line 1590
      StackMap locals:
      StackMap stack:
            aload 3 /* rtn */
            iload 5 /* count */
            bipush 8
            if_icmpge 85
            bipush 8
            goto 86
      StackMap locals:
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext
        85: iload 5 /* count */
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext int
        86: invokestatic org.hibernate.internal.util.collections.IdentityMap.instantiateSequenced:(I)Lorg/hibernate/internal/util/collections/IdentityMap;
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
        87: .line 1591
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        88: goto 94
        89: .line 1592
      StackMap locals: int
      StackMap stack:
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast org.hibernate.collection.spi.PersistentCollection
            astore 7 /* pc */
        start local 7 // org.hibernate.collection.spi.PersistentCollection pc
        90: .line 1593
            aload 0 /* ois */
            aload 1 /* session */
            invokestatic org.hibernate.engine.spi.CollectionEntry.deserialize:(Ljava/io/ObjectInputStream;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/CollectionEntry;
            astore 8 /* ce */
        start local 8 // org.hibernate.engine.spi.CollectionEntry ce
        91: .line 1594
            aload 7 /* pc */
            aload 1 /* session */
            invokeinterface org.hibernate.collection.spi.PersistentCollection.setCurrentSession:(Lorg/hibernate/engine/spi/SessionImplementor;)Z
            pop
        92: .line 1595
            aload 3 /* rtn */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.collectionEntries:Lorg/hibernate/internal/util/collections/IdentityMap;
            aload 7 /* pc */
            aload 8 /* ce */
            invokevirtual org.hibernate.internal.util.collections.IdentityMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // org.hibernate.engine.spi.CollectionEntry ce
        end local 7 // org.hibernate.collection.spi.PersistentCollection pc
        93: .line 1591
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        94: iload 6 /* i */
            iload 5 /* count */
            if_icmplt 89
        end local 6 // int i
        95: .line 1598
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readInt:()I
            istore 5 /* count */
        96: .line 1599
            iload 2 /* tracing */
            ifeq 98
        97: .line 1600
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting deserialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] arrayHolders entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
        98: .line 1602
      StackMap locals:
      StackMap stack:
            aload 3 /* rtn */
        99: new java.util.IdentityHashMap
            dup
            iload 5 /* count */
            bipush 8
            if_icmpge 100
            bipush 8
            goto 101
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 99 new 99
       100: iload 5 /* count */
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor int
      StackMap stack: org.hibernate.engine.internal.StatefulPersistenceContext new 99 new 99 int
       101: invokespecial java.util.IdentityHashMap.<init>:(I)V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.arrayHolders:Ljava/util/Map;
       102: .line 1603
            iconst_0
            istore 6 /* i */
        start local 6 // int i
       103: goto 106
       104: .line 1604
      StackMap locals: int
      StackMap stack:
            aload 3 /* rtn */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.arrayHolders:Ljava/util/Map;
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast org.hibernate.collection.spi.PersistentCollection
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       105: .line 1603
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
       106: iload 6 /* i */
            iload 5 /* count */
            if_icmplt 104
        end local 6 // int i
       107: .line 1607
            aload 0 /* ois */
            invokevirtual java.io.ObjectInputStream.readInt:()I
            istore 5 /* count */
       108: .line 1608
            iload 2 /* tracing */
            ifeq 110
       109: .line 1609
            getstatic org.hibernate.engine.internal.StatefulPersistenceContext.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            new java.lang.StringBuilder
            dup
            ldc "Starting deserialization of ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* count */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] nullifiableEntityKey entries"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
       110: .line 1611
      StackMap locals:
      StackMap stack:
            aload 3 /* rtn */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.nullifiableEntityKeys:Ljava/util/HashSet;
       111: .line 1612
            iconst_0
            istore 6 /* i */
        start local 6 // int i
       112: goto 115
       113: .line 1613
      StackMap locals: int
      StackMap stack:
            aload 3 /* rtn */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.nullifiableEntityKeys:Ljava/util/HashSet;
            aload 0 /* ois */
            aload 4 /* sfi */
            invokestatic org.hibernate.engine.spi.EntityKey.deserialize:(Ljava/io/ObjectInputStream;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Lorg/hibernate/engine/spi/EntityKey;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
       114: .line 1612
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
       115: iload 6 /* i */
            iload 5 /* count */
            if_icmplt 113
        end local 6 // int i
        end local 5 // int count
       116: .line 1616
            goto 119
       117: .line 1617
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.internal.StatefulPersistenceContext org.hibernate.engine.spi.SessionFactoryImplementor
      StackMap stack: org.hibernate.HibernateException
            astore 5 /* he */
        start local 5 // org.hibernate.HibernateException he
       118: .line 1618
            new java.io.InvalidObjectException
            dup
            aload 5 /* he */
            invokevirtual org.hibernate.HibernateException.getMessage:()Ljava/lang/String;
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // org.hibernate.HibernateException he
       119: .line 1621
      StackMap locals:
      StackMap stack:
            aload 3 /* rtn */
            areturn
        end local 4 // org.hibernate.engine.spi.SessionFactoryImplementor sfi
        end local 3 // org.hibernate.engine.internal.StatefulPersistenceContext rtn
        end local 2 // boolean tracing
        end local 1 // org.hibernate.engine.spi.SessionImplementor session
        end local 0 // java.io.ObjectInputStream ois
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0  120     0      ois  Ljava/io/ObjectInputStream;
            0  120     1  session  Lorg/hibernate/engine/spi/SessionImplementor;
            1  120     2  tracing  Z
            4  120     3      rtn  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            5  120     4      sfi  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            8  116     5    count  I
           15   19     6        i  I
           27   31     6        i  I
           45   56     6        i  I
           47   54     7       ek  Lorg/hibernate/engine/spi/EntityKey;
           48   54     8    proxy  Ljava/lang/Object;
           64   68     6        i  I
           77   81     6        i  I
           88   95     6        i  I
           90   93     7       pc  Lorg/hibernate/collection/spi/PersistentCollection;
           91   93     8       ce  Lorg/hibernate/engine/spi/CollectionEntry;
          103  107     6        i  I
          112  116     6        i  I
          118  119     5       he  Lorg/hibernate/HibernateException;
      Exception table:
        from    to  target  type
           5   116     117  Class org.hibernate.HibernateException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
         Name  Flags
      ois      
      session  

  public void addChildParent(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object child
        start local 2 // java.lang.Object parent
         0: .line 1626
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.parentsByChild:Ljava/util/Map;
            aload 1 /* child */
            aload 2 /* parent */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1627
            return
        end local 2 // java.lang.Object parent
        end local 1 // java.lang.Object child
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    2     1   child  Ljava/lang/Object;
            0    2     2  parent  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      child   
      parent  

  public void removeChildParent(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.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object child
         0: .line 1631
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.parentsByChild:Ljava/util/Map;
            aload 1 /* child */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1632
            return
        end local 1 // java.lang.Object child
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    2     1  child  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      child  

  public void registerInsertedKey(org.hibernate.persister.entity.EntityPersister, java.io.Serializable);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;Ljava/io/Serializable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.persister.entity.EntityPersister persister
        start local 2 // java.io.Serializable id
         0: .line 1642
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.hasCache:()Z
            ifeq 9
         1: .line 1643
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.insertedKeysMap:Ljava/util/HashMap;
            ifnonnull 3
         2: .line 1644
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.engine.internal.StatefulPersistenceContext.insertedKeysMap:Ljava/util/HashMap;
         3: .line 1646
      StackMap locals:
      StackMap stack:
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getRootEntityName:()Ljava/lang/String;
            astore 3 /* rootEntityName */
        start local 3 // java.lang.String rootEntityName
         4: .line 1647
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.insertedKeysMap:Ljava/util/HashMap;
            aload 3 /* rootEntityName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* insertedEntityIds */
        start local 4 // java.util.List insertedEntityIds
         5: .line 1648
            aload 4 /* insertedEntityIds */
            ifnonnull 8
         6: .line 1649
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* insertedEntityIds */
         7: .line 1650
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.insertedKeysMap:Ljava/util/HashMap;
            aload 3 /* rootEntityName */
            aload 4 /* insertedEntityIds */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 1652
      StackMap locals: java.lang.String java.util.List
      StackMap stack:
            aload 4 /* insertedEntityIds */
            aload 2 /* id */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.util.List insertedEntityIds
        end local 3 // java.lang.String rootEntityName
         9: .line 1654
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.persister.entity.EntityPersister persister
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0   10     1          persister  Lorg/hibernate/persister/entity/EntityPersister;
            0   10     2                 id  Ljava/io/Serializable;
            4    9     3     rootEntityName  Ljava/lang/String;
            5    9     4  insertedEntityIds  Ljava/util/List<Ljava/io/Serializable;>;
    MethodParameters:
           Name  Flags
      persister  
      id         

  public boolean wasInsertedDuringTransaction(org.hibernate.persister.entity.EntityPersister, java.io.Serializable);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;Ljava/io/Serializable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // org.hibernate.persister.entity.EntityPersister persister
        start local 2 // java.io.Serializable id
         0: .line 1659
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.hasCache:()Z
            ifeq 5
         1: .line 1660
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.insertedKeysMap:Ljava/util/HashMap;
            ifnull 5
         2: .line 1661
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.insertedKeysMap:Ljava/util/HashMap;
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getRootEntityName:()Ljava/lang/String;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* insertedEntityIds */
        start local 3 // java.util.List insertedEntityIds
         3: .line 1662
            aload 3 /* insertedEntityIds */
            ifnull 5
         4: .line 1663
            aload 3 /* insertedEntityIds */
            aload 2 /* id */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 3 // java.util.List insertedEntityIds
         5: .line 1667
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.io.Serializable id
        end local 1 // org.hibernate.persister.entity.EntityPersister persister
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    6     1          persister  Lorg/hibernate/persister/entity/EntityPersister;
            0    6     2                 id  Ljava/io/Serializable;
            3    5     3  insertedEntityIds  Ljava/util/List<Ljava/io/Serializable;>;
    MethodParameters:
           Name  Flags
      persister  
      id         

  private void cleanUpInsertedKeysAfterTransaction();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1671
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.insertedKeysMap:Ljava/util/HashMap;
            ifnull 2
         1: .line 1672
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.insertedKeysMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
         2: .line 1674
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  public org.hibernate.engine.spi.PersistenceContext$NaturalIdHelper getNaturalIdHelper();
    descriptor: ()Lorg/hibernate/engine/spi/PersistenceContext$NaturalIdHelper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
         0: .line 1999
            aload 0 /* this */
            getfield org.hibernate.engine.internal.StatefulPersistenceContext.naturalIdHelper:Lorg/hibernate/engine/spi/PersistenceContext$NaturalIdHelper;
            areturn
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;

  private java.lang.Object[] getNaturalIdValues(java.lang.Object[], org.hibernate.persister.entity.EntityPersister);
    descriptor: ([Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
        start local 1 // java.lang.Object[] state
        start local 2 // org.hibernate.persister.entity.EntityPersister persister
         0: .line 2003
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getNaturalIdentifierProperties:()[I
            astore 3 /* naturalIdPropertyIndexes */
        start local 3 // int[] naturalIdPropertyIndexes
         1: .line 2004
            aload 3 /* naturalIdPropertyIndexes */
            arraylength
            anewarray java.lang.Object
            astore 4 /* naturalIdValues */
        start local 4 // java.lang.Object[] naturalIdValues
         2: .line 2006
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 6
         4: .line 2007
      StackMap locals: int[] java.lang.Object[] int
      StackMap stack:
            aload 4 /* naturalIdValues */
            iload 5 /* i */
            aload 1 /* state */
            aload 3 /* naturalIdPropertyIndexes */
            iload 5 /* i */
            iaload
            aaload
            aastore
         5: .line 2006
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            aload 3 /* naturalIdPropertyIndexes */
            arraylength
            if_icmplt 4
        end local 5 // int i
         7: .line 2010
            aload 4 /* naturalIdValues */
            areturn
        end local 4 // java.lang.Object[] naturalIdValues
        end local 3 // int[] naturalIdPropertyIndexes
        end local 2 // org.hibernate.persister.entity.EntityPersister persister
        end local 1 // java.lang.Object[] state
        end local 0 // org.hibernate.engine.internal.StatefulPersistenceContext this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    8     0                      this  Lorg/hibernate/engine/internal/StatefulPersistenceContext;
            0    8     1                     state  [Ljava/lang/Object;
            0    8     2                 persister  Lorg/hibernate/persister/entity/EntityPersister;
            1    8     3  naturalIdPropertyIndexes  [I
            2    8     4           naturalIdValues  [Ljava/lang/Object;
            3    7     5                         i  I
    MethodParameters:
           Name  Flags
      state      
      persister  
}
SourceFile: "StatefulPersistenceContext.java"
NestMembers:
  org.hibernate.engine.internal.StatefulPersistenceContext$1  org.hibernate.engine.internal.StatefulPersistenceContext$1$1  org.hibernate.engine.internal.StatefulPersistenceContext$1$2
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  org.hibernate.engine.internal.StatefulPersistenceContext$1
  public abstract NaturalIdHelper = org.hibernate.engine.spi.PersistenceContext$NaturalIdHelper of org.hibernate.engine.spi.PersistenceContext
  public final Option = org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$Option of org.hibernate.internal.util.collections.ConcurrentReferenceHashMap
  public final ReferenceType = org.hibernate.internal.util.collections.ConcurrentReferenceHashMap$ReferenceType of org.hibernate.internal.util.collections.ConcurrentReferenceHashMap