public class org.hibernate.engine.spi.ActionQueue
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.engine.spi.ActionQueue
  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 org.hibernate.engine.spi.SessionImplementor session;
    descriptor: Lorg/hibernate/engine/spi/SessionImplementor;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.action.internal.UnresolvedEntityInsertActions unresolvedInsertions;
    descriptor: Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
    flags: (0x0002) ACC_PRIVATE

  private final org.hibernate.engine.spi.ExecutableList<org.hibernate.action.internal.AbstractEntityInsertAction> insertions;
    descriptor: Lorg/hibernate/engine/spi/ExecutableList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/hibernate/engine/spi/ExecutableList<Lorg/hibernate/action/internal/AbstractEntityInsertAction;>;

  private final org.hibernate.engine.spi.ExecutableList<org.hibernate.action.internal.EntityDeleteAction> deletions;
    descriptor: Lorg/hibernate/engine/spi/ExecutableList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/hibernate/engine/spi/ExecutableList<Lorg/hibernate/action/internal/EntityDeleteAction;>;

  private final org.hibernate.engine.spi.ExecutableList<org.hibernate.action.internal.EntityUpdateAction> updates;
    descriptor: Lorg/hibernate/engine/spi/ExecutableList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/hibernate/engine/spi/ExecutableList<Lorg/hibernate/action/internal/EntityUpdateAction;>;

  private final org.hibernate.engine.spi.ExecutableList<org.hibernate.action.internal.CollectionRecreateAction> collectionCreations;
    descriptor: Lorg/hibernate/engine/spi/ExecutableList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/hibernate/engine/spi/ExecutableList<Lorg/hibernate/action/internal/CollectionRecreateAction;>;

  private final org.hibernate.engine.spi.ExecutableList<org.hibernate.action.internal.CollectionUpdateAction> collectionUpdates;
    descriptor: Lorg/hibernate/engine/spi/ExecutableList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/hibernate/engine/spi/ExecutableList<Lorg/hibernate/action/internal/CollectionUpdateAction;>;

  private final org.hibernate.engine.spi.ExecutableList<org.hibernate.action.internal.QueuedOperationCollectionAction> collectionQueuedOps;
    descriptor: Lorg/hibernate/engine/spi/ExecutableList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/hibernate/engine/spi/ExecutableList<Lorg/hibernate/action/internal/QueuedOperationCollectionAction;>;

  private final org.hibernate.engine.spi.ExecutableList<org.hibernate.action.internal.CollectionRemoveAction> collectionRemovals;
    descriptor: Lorg/hibernate/engine/spi/ExecutableList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/hibernate/engine/spi/ExecutableList<Lorg/hibernate/action/internal/CollectionRemoveAction;>;

  private final org.hibernate.engine.spi.ExecutableList<org.hibernate.action.internal.OrphanRemovalAction> orphanRemovals;
    descriptor: Lorg/hibernate/engine/spi/ExecutableList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/hibernate/engine/spi/ExecutableList<Lorg/hibernate/action/internal/OrphanRemovalAction;>;

  private final java.util.List<org.hibernate.engine.spi.ExecutableList<?>> executableLists;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/hibernate/engine/spi/ExecutableList<*>;>;

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

  private org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue afterTransactionProcesses;
    descriptor: Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue beforeTransactionProcesses;
    descriptor: Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 79
            ldc Lorg/hibernate/engine/spi/ActionQueue;
            invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
            putstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            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=5, locals=3, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 117
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 118
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
         2: .line 120
            aload 0 /* this */
            new org.hibernate.action.internal.UnresolvedEntityInsertActions
            dup
            invokespecial org.hibernate.action.internal.UnresolvedEntityInsertActions.<init>:()V
            putfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
         3: .line 122
            aload 0 /* this */
            new org.hibernate.engine.spi.ExecutableList
            dup
            new org.hibernate.engine.spi.ActionQueue$InsertActionSorter
            dup
            invokespecial org.hibernate.engine.spi.ActionQueue$InsertActionSorter.<init>:()V
            invokespecial org.hibernate.engine.spi.ExecutableList.<init>:(Lorg/hibernate/engine/spi/ExecutableList$Sorter;)V
            putfield org.hibernate.engine.spi.ActionQueue.insertions:Lorg/hibernate/engine/spi/ExecutableList;
         4: .line 123
            aload 0 /* this */
            new org.hibernate.engine.spi.ExecutableList
            dup
            invokespecial org.hibernate.engine.spi.ExecutableList.<init>:()V
            putfield org.hibernate.engine.spi.ActionQueue.deletions:Lorg/hibernate/engine/spi/ExecutableList;
         5: .line 124
            aload 0 /* this */
            new org.hibernate.engine.spi.ExecutableList
            dup
            invokespecial org.hibernate.engine.spi.ExecutableList.<init>:()V
            putfield org.hibernate.engine.spi.ActionQueue.updates:Lorg/hibernate/engine/spi/ExecutableList;
         6: .line 126
            aload 0 /* this */
            new org.hibernate.engine.spi.ExecutableList
            dup
            invokespecial org.hibernate.engine.spi.ExecutableList.<init>:()V
            putfield org.hibernate.engine.spi.ActionQueue.collectionCreations:Lorg/hibernate/engine/spi/ExecutableList;
         7: .line 127
            aload 0 /* this */
            new org.hibernate.engine.spi.ExecutableList
            dup
            invokespecial org.hibernate.engine.spi.ExecutableList.<init>:()V
            putfield org.hibernate.engine.spi.ActionQueue.collectionRemovals:Lorg/hibernate/engine/spi/ExecutableList;
         8: .line 128
            aload 0 /* this */
            new org.hibernate.engine.spi.ExecutableList
            dup
            invokespecial org.hibernate.engine.spi.ExecutableList.<init>:()V
            putfield org.hibernate.engine.spi.ActionQueue.collectionUpdates:Lorg/hibernate/engine/spi/ExecutableList;
         9: .line 129
            aload 0 /* this */
            new org.hibernate.engine.spi.ExecutableList
            dup
            invokespecial org.hibernate.engine.spi.ExecutableList.<init>:()V
            putfield org.hibernate.engine.spi.ActionQueue.collectionQueuedOps:Lorg/hibernate/engine/spi/ExecutableList;
        10: .line 131
            aload 0 /* this */
            new org.hibernate.engine.spi.ExecutableList
            dup
            invokespecial org.hibernate.engine.spi.ExecutableList.<init>:()V
            putfield org.hibernate.engine.spi.ActionQueue.orphanRemovals:Lorg/hibernate/engine/spi/ExecutableList;
        11: .line 134
            bipush 8
            anewarray org.hibernate.engine.spi.ExecutableList
            dup
            iconst_0
        12: .line 135
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.orphanRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            aastore
            dup
            iconst_1
        13: .line 136
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.insertions:Lorg/hibernate/engine/spi/ExecutableList;
            aastore
            dup
            iconst_2
        14: .line 137
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.updates:Lorg/hibernate/engine/spi/ExecutableList;
            aastore
            dup
            iconst_3
        15: .line 139
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionQueuedOps:Lorg/hibernate/engine/spi/ExecutableList;
            aastore
            dup
            iconst_4
        16: .line 140
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            aastore
            dup
            iconst_5
        17: .line 141
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionUpdates:Lorg/hibernate/engine/spi/ExecutableList;
            aastore
            dup
            bipush 6
        18: .line 142
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionCreations:Lorg/hibernate/engine/spi/ExecutableList;
            aastore
            dup
            bipush 7
        19: .line 143
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.deletions:Lorg/hibernate/engine/spi/ExecutableList;
            aastore
        20: .line 134
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* tmp */
        start local 2 // java.util.List tmp
        21: .line 146
            aload 0 /* this */
            aload 2 /* tmp */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield org.hibernate.engine.spi.ActionQueue.executableLists:Ljava/util/List;
        22: .line 148
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.engine.spi.ActionQueue.isTransactionCoordinatorShared:Z
        23: .line 149
            aload 0 /* this */
            new org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue
            dup
            aload 1 /* session */
            invokespecial org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue.<init>:(Lorg/hibernate/engine/spi/SessionImplementor;)V
            putfield org.hibernate.engine.spi.ActionQueue.afterTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
        24: .line 150
            aload 0 /* this */
            new org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue
            dup
            aload 1 /* session */
            invokespecial org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue.<init>:(Lorg/hibernate/engine/spi/SessionImplementor;)V
            putfield org.hibernate.engine.spi.ActionQueue.beforeTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;
        25: .line 152
            return
        end local 2 // java.util.List tmp
        end local 1 // org.hibernate.engine.spi.SessionImplementor session
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/hibernate/engine/spi/ActionQueue;
            0   26     1  session  Lorg/hibernate/engine/spi/SessionImplementor;
           21   26     2      tmp  Ljava/util/List<Lorg/hibernate/engine/spi/ExecutableList<*>;>;
    MethodParameters:
         Name  Flags
      session  

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 155
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.executableLists:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.hibernate.engine.spi.ActionQueue top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.ExecutableList
            astore 1 /* l */
        start local 1 // org.hibernate.engine.spi.ExecutableList l
         2: .line 156
            aload 1 /* l */
            invokevirtual org.hibernate.engine.spi.ExecutableList.clear:()V
        end local 1 // org.hibernate.engine.spi.ExecutableList l
         3: .line 155
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 158
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            invokevirtual org.hibernate.action.internal.UnresolvedEntityInsertActions.clear:()V
         5: .line 159
            return
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/engine/spi/ActionQueue;
            2    3     1     l  Lorg/hibernate/engine/spi/ExecutableList<*>;

  public void addAction(org.hibernate.action.internal.EntityInsertAction);
    descriptor: (Lorg/hibernate/action/internal/EntityInsertAction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.EntityInsertAction action
         0: .line 167
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Adding an EntityInsertAction for [{0}] object"
            aload 1 /* action */
            invokevirtual org.hibernate.action.internal.EntityInsertAction.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 168
            aload 0 /* this */
            aload 1 /* action */
            invokevirtual org.hibernate.engine.spi.ActionQueue.addInsertAction:(Lorg/hibernate/action/internal/AbstractEntityInsertAction;)V
         2: .line 169
            return
        end local 1 // org.hibernate.action.internal.EntityInsertAction action
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    3     1  action  Lorg/hibernate/action/internal/EntityInsertAction;
    MethodParameters:
        Name  Flags
      action  

  private void addInsertAction(org.hibernate.action.internal.AbstractEntityInsertAction);
    descriptor: (Lorg/hibernate/action/internal/AbstractEntityInsertAction;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.AbstractEntityInsertAction insert
         0: .line 172
            aload 1 /* insert */
            invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.isEarlyInsert:()Z
            ifeq 3
         1: .line 175
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Executing inserts before finding non-nullable transient entities for early insert: [{0}]"
            aload 1 /* insert */
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 176
            aload 0 /* this */
            invokevirtual org.hibernate.engine.spi.ActionQueue.executeInserts:()V
         3: .line 178
      StackMap locals:
      StackMap stack:
            aload 1 /* insert */
            invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.findNonNullableTransientEntities:()Lorg/hibernate/engine/internal/NonNullableTransientDependencies;
            astore 2 /* nonNullableTransientDependencies */
        start local 2 // org.hibernate.engine.internal.NonNullableTransientDependencies nonNullableTransientDependencies
         4: .line 179
            aload 2 /* nonNullableTransientDependencies */
            ifnonnull 8
         5: .line 180
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Adding insert with no non-nullable, transient entities: [{0}]"
            aload 1 /* insert */
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 181
            aload 0 /* this */
            aload 1 /* insert */
            invokevirtual org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction:(Lorg/hibernate/action/internal/AbstractEntityInsertAction;)V
         7: .line 182
            goto 13
         8: .line 184
      StackMap locals: org.hibernate.engine.internal.NonNullableTransientDependencies
      StackMap stack:
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            ifeq 12
         9: .line 185
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Adding insert with non-nullable, transient entities; insert=[{0}], dependencies=[{1}]"
            aload 1 /* insert */
        10: .line 186
            aload 2 /* nonNullableTransientDependencies */
            aload 1 /* insert */
            invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getSession:()Lorg/hibernate/engine/spi/SessionImplementor;
            invokevirtual org.hibernate.engine.internal.NonNullableTransientDependencies.toLoggableString:(Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/String;
        11: .line 185
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            aload 1 /* insert */
            aload 2 /* nonNullableTransientDependencies */
            invokevirtual org.hibernate.action.internal.UnresolvedEntityInsertActions.addUnresolvedEntityInsertAction:(Lorg/hibernate/action/internal/AbstractEntityInsertAction;Lorg/hibernate/engine/internal/NonNullableTransientDependencies;)V
        13: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.engine.internal.NonNullableTransientDependencies nonNullableTransientDependencies
        end local 1 // org.hibernate.action.internal.AbstractEntityInsertAction insert
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0   14     0                              this  Lorg/hibernate/engine/spi/ActionQueue;
            0   14     1                            insert  Lorg/hibernate/action/internal/AbstractEntityInsertAction;
            4   14     2  nonNullableTransientDependencies  Lorg/hibernate/engine/internal/NonNullableTransientDependencies;
    MethodParameters:
        Name  Flags
      insert  

  private void addResolvedEntityInsertAction(org.hibernate.action.internal.AbstractEntityInsertAction);
    descriptor: (Lorg/hibernate/action/internal/AbstractEntityInsertAction;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.AbstractEntityInsertAction insert
         0: .line 193
            aload 1 /* insert */
            invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.isEarlyInsert:()Z
            ifeq 6
         1: .line 194
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Executing insertions before resolved early-insert"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         2: .line 195
            aload 0 /* this */
            invokevirtual org.hibernate.engine.spi.ActionQueue.executeInserts:()V
         3: .line 196
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Executing identity-insert immediately"
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
         4: .line 197
            aload 0 /* this */
            aload 1 /* insert */
            invokevirtual org.hibernate.engine.spi.ActionQueue.execute:(Lorg/hibernate/action/spi/Executable;)V
         5: .line 198
            goto 8
         6: .line 200
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Adding resolved non-early insert action."
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         7: .line 201
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.insertions:Lorg/hibernate/engine/spi/ExecutableList;
            aload 1 /* insert */
            invokevirtual org.hibernate.engine.spi.ExecutableList.add:(Lorg/hibernate/action/spi/Executable;)Z
            pop
         8: .line 203
      StackMap locals:
      StackMap stack:
            aload 1 /* insert */
            invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.makeEntityManaged:()V
         9: .line 204
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            aload 1 /* insert */
            invokevirtual org.hibernate.action.internal.AbstractEntityInsertAction.getInstance:()Ljava/lang/Object;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokevirtual org.hibernate.action.internal.UnresolvedEntityInsertActions.resolveDependentActions:(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.hibernate.engine.spi.ActionQueue org.hibernate.action.internal.AbstractEntityInsertAction top java.util.Iterator
      StackMap stack:
        10: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.action.internal.AbstractEntityInsertAction
            astore 2 /* resolvedAction */
        start local 2 // org.hibernate.action.internal.AbstractEntityInsertAction resolvedAction
        11: .line 205
            aload 0 /* this */
            aload 2 /* resolvedAction */
            invokevirtual org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction:(Lorg/hibernate/action/internal/AbstractEntityInsertAction;)V
        end local 2 // org.hibernate.action.internal.AbstractEntityInsertAction resolvedAction
        12: .line 204
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 207
            return
        end local 1 // org.hibernate.action.internal.AbstractEntityInsertAction insert
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/hibernate/engine/spi/ActionQueue;
            0   14     1          insert  Lorg/hibernate/action/internal/AbstractEntityInsertAction;
           11   12     2  resolvedAction  Lorg/hibernate/action/internal/AbstractEntityInsertAction;
    MethodParameters:
        Name  Flags
      insert  

  public void addAction(org.hibernate.action.internal.EntityIdentityInsertAction);
    descriptor: (Lorg/hibernate/action/internal/EntityIdentityInsertAction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.EntityIdentityInsertAction action
         0: .line 215
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Adding an EntityIdentityInsertAction for [{0}] object"
            aload 1 /* action */
            invokevirtual org.hibernate.action.internal.EntityIdentityInsertAction.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 216
            aload 0 /* this */
            aload 1 /* action */
            invokevirtual org.hibernate.engine.spi.ActionQueue.addInsertAction:(Lorg/hibernate/action/internal/AbstractEntityInsertAction;)V
         2: .line 217
            return
        end local 1 // org.hibernate.action.internal.EntityIdentityInsertAction action
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    3     1  action  Lorg/hibernate/action/internal/EntityIdentityInsertAction;
    MethodParameters:
        Name  Flags
      action  

  public void addAction(org.hibernate.action.internal.EntityDeleteAction);
    descriptor: (Lorg/hibernate/action/internal/EntityDeleteAction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.EntityDeleteAction action
         0: .line 225
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.deletions:Lorg/hibernate/engine/spi/ExecutableList;
            aload 1 /* action */
            invokevirtual org.hibernate.engine.spi.ExecutableList.add:(Lorg/hibernate/action/spi/Executable;)Z
            pop
         1: .line 226
            return
        end local 1 // org.hibernate.action.internal.EntityDeleteAction action
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    2     1  action  Lorg/hibernate/action/internal/EntityDeleteAction;
    MethodParameters:
        Name  Flags
      action  

  public void addAction(org.hibernate.action.internal.OrphanRemovalAction);
    descriptor: (Lorg/hibernate/action/internal/OrphanRemovalAction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.OrphanRemovalAction action
         0: .line 234
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.orphanRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            aload 1 /* action */
            invokevirtual org.hibernate.engine.spi.ExecutableList.add:(Lorg/hibernate/action/spi/Executable;)Z
            pop
         1: .line 235
            return
        end local 1 // org.hibernate.action.internal.OrphanRemovalAction action
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    2     1  action  Lorg/hibernate/action/internal/OrphanRemovalAction;
    MethodParameters:
        Name  Flags
      action  

  public void addAction(org.hibernate.action.internal.EntityUpdateAction);
    descriptor: (Lorg/hibernate/action/internal/EntityUpdateAction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.EntityUpdateAction action
         0: .line 243
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.updates:Lorg/hibernate/engine/spi/ExecutableList;
            aload 1 /* action */
            invokevirtual org.hibernate.engine.spi.ExecutableList.add:(Lorg/hibernate/action/spi/Executable;)Z
            pop
         1: .line 244
            return
        end local 1 // org.hibernate.action.internal.EntityUpdateAction action
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    2     1  action  Lorg/hibernate/action/internal/EntityUpdateAction;
    MethodParameters:
        Name  Flags
      action  

  public void addAction(org.hibernate.action.internal.CollectionRecreateAction);
    descriptor: (Lorg/hibernate/action/internal/CollectionRecreateAction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.CollectionRecreateAction action
         0: .line 252
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionCreations:Lorg/hibernate/engine/spi/ExecutableList;
            aload 1 /* action */
            invokevirtual org.hibernate.engine.spi.ExecutableList.add:(Lorg/hibernate/action/spi/Executable;)Z
            pop
         1: .line 253
            return
        end local 1 // org.hibernate.action.internal.CollectionRecreateAction action
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    2     1  action  Lorg/hibernate/action/internal/CollectionRecreateAction;
    MethodParameters:
        Name  Flags
      action  

  public void addAction(org.hibernate.action.internal.CollectionRemoveAction);
    descriptor: (Lorg/hibernate/action/internal/CollectionRemoveAction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.CollectionRemoveAction action
         0: .line 261
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            aload 1 /* action */
            invokevirtual org.hibernate.engine.spi.ExecutableList.add:(Lorg/hibernate/action/spi/Executable;)Z
            pop
         1: .line 262
            return
        end local 1 // org.hibernate.action.internal.CollectionRemoveAction action
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    2     1  action  Lorg/hibernate/action/internal/CollectionRemoveAction;
    MethodParameters:
        Name  Flags
      action  

  public void addAction(org.hibernate.action.internal.CollectionUpdateAction);
    descriptor: (Lorg/hibernate/action/internal/CollectionUpdateAction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.CollectionUpdateAction action
         0: .line 270
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionUpdates:Lorg/hibernate/engine/spi/ExecutableList;
            aload 1 /* action */
            invokevirtual org.hibernate.engine.spi.ExecutableList.add:(Lorg/hibernate/action/spi/Executable;)Z
            pop
         1: .line 271
            return
        end local 1 // org.hibernate.action.internal.CollectionUpdateAction action
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    2     1  action  Lorg/hibernate/action/internal/CollectionUpdateAction;
    MethodParameters:
        Name  Flags
      action  

  public void addAction(org.hibernate.action.internal.QueuedOperationCollectionAction);
    descriptor: (Lorg/hibernate/action/internal/QueuedOperationCollectionAction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.QueuedOperationCollectionAction action
         0: .line 279
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionQueuedOps:Lorg/hibernate/engine/spi/ExecutableList;
            aload 1 /* action */
            invokevirtual org.hibernate.engine.spi.ExecutableList.add:(Lorg/hibernate/action/spi/Executable;)Z
            pop
         1: .line 280
            return
        end local 1 // org.hibernate.action.internal.QueuedOperationCollectionAction action
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    2     1  action  Lorg/hibernate/action/internal/QueuedOperationCollectionAction;
    MethodParameters:
        Name  Flags
      action  

  public void addAction(org.hibernate.action.internal.BulkOperationCleanupAction);
    descriptor: (Lorg/hibernate/action/internal/BulkOperationCleanupAction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.internal.BulkOperationCleanupAction action
         0: .line 288
            aload 0 /* this */
            aload 1 /* action */
            invokevirtual org.hibernate.engine.spi.ActionQueue.registerCleanupActions:(Lorg/hibernate/action/spi/Executable;)V
         1: .line 289
            return
        end local 1 // org.hibernate.action.internal.BulkOperationCleanupAction action
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    2     1  action  Lorg/hibernate/action/internal/BulkOperationCleanupAction;
    MethodParameters:
        Name  Flags
      action  

  private void registerCleanupActions(org.hibernate.action.spi.Executable);
    descriptor: (Lorg/hibernate/action/spi/Executable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.spi.Executable executable
         0: .line 292
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.beforeTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;
            aload 1 /* executable */
            invokeinterface org.hibernate.action.spi.Executable.getBeforeTransactionCompletionProcess:()Lorg/hibernate/action/spi/BeforeTransactionCompletionProcess;
            invokevirtual org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue.register:(Ljava/lang/Object;)V
         1: .line 293
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isQueryCacheEnabled:()Z
            ifeq 3
         2: .line 294
            aload 0 /* this */
            aload 1 /* executable */
            invokeinterface org.hibernate.action.spi.Executable.getPropertySpaces:()[Ljava/io/Serializable;
            invokevirtual org.hibernate.engine.spi.ActionQueue.invalidateSpaces:([Ljava/io/Serializable;)V
         3: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.afterTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
            aload 1 /* executable */
            invokeinterface org.hibernate.action.spi.Executable.getAfterTransactionCompletionProcess:()Lorg/hibernate/action/spi/AfterTransactionCompletionProcess;
            invokevirtual org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue.register:(Ljava/lang/Object;)V
         4: .line 297
            return
        end local 1 // org.hibernate.action.spi.Executable executable
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/hibernate/engine/spi/ActionQueue;
            0    5     1  executable  Lorg/hibernate/action/spi/Executable;
    MethodParameters:
            Name  Flags
      executable  

  public boolean hasUnresolvedEntityInsertActions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 306
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            invokevirtual org.hibernate.action.internal.UnresolvedEntityInsertActions.isEmpty:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public void checkNoUnresolvedActionsAfterOperation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 320
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            invokevirtual org.hibernate.action.internal.UnresolvedEntityInsertActions.checkNoUnresolvedActionsAfterOperation:()V
         1: .line 321
            return
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/engine/spi/ActionQueue;
    Exceptions:
      throws org.hibernate.PropertyValueException

  public void registerProcess(org.hibernate.action.spi.AfterTransactionCompletionProcess);
    descriptor: (Lorg/hibernate/action/spi/AfterTransactionCompletionProcess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.spi.AfterTransactionCompletionProcess process
         0: .line 324
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.afterTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
            aload 1 /* process */
            invokevirtual org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue.register:(Ljava/lang/Object;)V
         1: .line 325
            return
        end local 1 // org.hibernate.action.spi.AfterTransactionCompletionProcess process
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/hibernate/engine/spi/ActionQueue;
            0    2     1  process  Lorg/hibernate/action/spi/AfterTransactionCompletionProcess;
    MethodParameters:
         Name  Flags
      process  

  public void registerProcess(org.hibernate.action.spi.BeforeTransactionCompletionProcess);
    descriptor: (Lorg/hibernate/action/spi/BeforeTransactionCompletionProcess;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.spi.BeforeTransactionCompletionProcess process
         0: .line 328
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.beforeTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;
            aload 1 /* process */
            invokevirtual org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue.register:(Ljava/lang/Object;)V
         1: .line 329
            return
        end local 1 // org.hibernate.action.spi.BeforeTransactionCompletionProcess process
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/hibernate/engine/spi/ActionQueue;
            0    2     1  process  Lorg/hibernate/action/spi/BeforeTransactionCompletionProcess;
    MethodParameters:
         Name  Flags
      process  

  public void executeInserts();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 337
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.insertions:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ActionQueue.executeActions:(Lorg/hibernate/engine/spi/ExecutableList;)V
         1: .line 338
            return
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/engine/spi/ActionQueue;
    Exceptions:
      throws org.hibernate.HibernateException

  public void executeActions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 346
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            invokevirtual org.hibernate.action.internal.UnresolvedEntityInsertActions.isEmpty:()Z
            ifne 2
         1: .line 347
            new java.lang.IllegalStateException
            dup
            ldc "About to execute actions, but there are unresolved entity insert actions."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.executableLists:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: org.hibernate.engine.spi.ActionQueue top java.util.Iterator
      StackMap stack:
         3: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.ExecutableList
            astore 1 /* l */
        start local 1 // org.hibernate.engine.spi.ExecutableList l
         4: .line 351
            aload 0 /* this */
            aload 1 /* l */
            invokevirtual org.hibernate.engine.spi.ActionQueue.executeActions:(Lorg/hibernate/engine/spi/ExecutableList;)V
        end local 1 // org.hibernate.engine.spi.ExecutableList l
         5: .line 350
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 353
            return
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/engine/spi/ActionQueue;
            4    5     1     l  Lorg/hibernate/engine/spi/ExecutableList<*>;
    Exceptions:
      throws org.hibernate.HibernateException

  public void prepareActions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 361
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ActionQueue.prepareActions:(Lorg/hibernate/engine/spi/ExecutableList;)V
         1: .line 362
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionUpdates:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ActionQueue.prepareActions:(Lorg/hibernate/engine/spi/ExecutableList;)V
         2: .line 363
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionCreations:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ActionQueue.prepareActions:(Lorg/hibernate/engine/spi/ExecutableList;)V
         3: .line 364
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionQueuedOps:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ActionQueue.prepareActions:(Lorg/hibernate/engine/spi/ExecutableList;)V
         4: .line 365
            return
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/engine/spi/ActionQueue;
    Exceptions:
      throws org.hibernate.HibernateException

  private void prepareActions(org.hibernate.engine.spi.ExecutableList<?>);
    descriptor: (Lorg/hibernate/engine/spi/ExecutableList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=4, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.engine.spi.ExecutableList queue
         0: .line 368
            aload 1 /* queue */
            invokevirtual org.hibernate.engine.spi.ExecutableList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.hibernate.engine.spi.ActionQueue org.hibernate.engine.spi.ExecutableList top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.action.spi.Executable
            astore 2 /* executable */
        start local 2 // org.hibernate.action.spi.Executable executable
         2: .line 369
            aload 2 /* executable */
            invokeinterface org.hibernate.action.spi.Executable.beforeExecutions:()V
        end local 2 // org.hibernate.action.spi.Executable executable
         3: .line 368
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 371
            return
        end local 1 // org.hibernate.engine.spi.ExecutableList queue
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/hibernate/engine/spi/ActionQueue;
            0    5     1       queue  Lorg/hibernate/engine/spi/ExecutableList<*>;
            2    3     2  executable  Lorg/hibernate/action/spi/Executable;
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: (Lorg/hibernate/engine/spi/ExecutableList<*>;)V
    MethodParameters:
       Name  Flags
      queue  

  public void afterTransactionCompletion(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // boolean success
         0: .line 379
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.isTransactionCoordinatorShared:Z
            ifne 2
         1: .line 381
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.afterTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
            iload 1 /* success */
            invokevirtual org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue.afterTransactionCompletion:(Z)V
         2: .line 383
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean success
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/hibernate/engine/spi/ActionQueue;
            0    3     1  success  Z
    MethodParameters:
         Name  Flags
      success  

  public void beforeTransactionCompletion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 389
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.isTransactionCoordinatorShared:Z
            ifne 2
         1: .line 391
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.beforeTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;
            invokevirtual org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue.beforeTransactionCompletion:()V
         2: .line 393
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public boolean areInsertionsOrDeletionsQueued();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 401
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.insertions:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            invokevirtual org.hibernate.action.internal.UnresolvedEntityInsertActions.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.deletions:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.orphanRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.isEmpty:()Z
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public boolean areTablesToBeUpdated(java.util.Set);
    descriptor: (Ljava/util/Set;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // java.util.Set tables
         0: .line 412
            aload 1 /* tables */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 413
            iconst_0
            ireturn
         2: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.executableLists:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.hibernate.engine.spi.ActionQueue java.util.Set top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.ExecutableList
            astore 2 /* l */
        start local 2 // org.hibernate.engine.spi.ExecutableList l
         4: .line 416
            aload 2 /* l */
            aload 1 /* tables */
            invokestatic org.hibernate.engine.spi.ActionQueue.areTablesToBeUpdated:(Lorg/hibernate/engine/spi/ExecutableList;Ljava/util/Set;)Z
            ifeq 6
         5: .line 417
            iconst_1
            ireturn
        end local 2 // org.hibernate.engine.spi.ExecutableList l
         6: .line 415
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 420
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            aload 1 /* tables */
            invokestatic org.hibernate.engine.spi.ActionQueue.areTablesToBeUpdated:(Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;Ljava/util/Set;)Z
            ireturn
        end local 1 // java.util.Set tables
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    8     1  tables  Ljava/util/Set;
            4    6     2       l  Lorg/hibernate/engine/spi/ExecutableList<*>;
    MethodParameters:
        Name  Flags
      tables  

  private static boolean areTablesToBeUpdated(org.hibernate.engine.spi.ExecutableList<?>, java.util.Set);
    descriptor: (Lorg/hibernate/engine/spi/ExecutableList;Ljava/util/Set;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.engine.spi.ExecutableList actions
        start local 1 // java.util.Set tableSpaces
         0: .line 424
            aload 0 /* actions */
            invokevirtual org.hibernate.engine.spi.ExecutableList.isEmpty:()Z
            ifeq 2
         1: .line 425
            iconst_0
            ireturn
         2: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* actions */
            invokevirtual org.hibernate.engine.spi.ExecutableList.getQuerySpaces:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: org.hibernate.engine.spi.ExecutableList java.util.Set top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.Serializable
            astore 2 /* actionSpace */
        start local 2 // java.io.Serializable actionSpace
         4: .line 429
            aload 1 /* tableSpaces */
            aload 2 /* actionSpace */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 430
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Changes must be flushed to space: %s"
            aload 2 /* actionSpace */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 431
            iconst_1
            ireturn
        end local 2 // java.io.Serializable actionSpace
         7: .line 428
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 435
            iconst_0
            ireturn
        end local 1 // java.util.Set tableSpaces
        end local 0 // org.hibernate.engine.spi.ExecutableList actions
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0      actions  Lorg/hibernate/engine/spi/ExecutableList<*>;
            0    9     1  tableSpaces  Ljava/util/Set;
            4    7     2  actionSpace  Ljava/io/Serializable;
    Signature: (Lorg/hibernate/engine/spi/ExecutableList<*>;Ljava/util/Set;)Z
    MethodParameters:
             Name  Flags
      actions      
      tableSpaces  

  private static boolean areTablesToBeUpdated(org.hibernate.action.internal.UnresolvedEntityInsertActions, java.util.Set);
    descriptor: (Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;Ljava/util/Set;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // org.hibernate.action.internal.UnresolvedEntityInsertActions actions
        start local 1 // java.util.Set tableSpaces
         0: .line 439
            aload 0 /* actions */
            invokevirtual org.hibernate.action.internal.UnresolvedEntityInsertActions.getDependentEntityInsertActions:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: org.hibernate.action.internal.UnresolvedEntityInsertActions java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.action.spi.Executable
            astore 2 /* action */
        start local 2 // org.hibernate.action.spi.Executable action
         2: .line 440
            aload 2 /* action */
            invokeinterface org.hibernate.action.spi.Executable.getPropertySpaces:()[Ljava/io/Serializable;
            astore 4 /* spaces */
        start local 4 // java.io.Serializable[] spaces
         3: .line 441
            aload 4 /* spaces */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 9
      StackMap locals: org.hibernate.action.internal.UnresolvedEntityInsertActions java.util.Set org.hibernate.action.spi.Executable java.util.Iterator java.io.Serializable[] top int int java.io.Serializable[]
      StackMap stack:
         4: aload 8
            iload 6
            aaload
            astore 5 /* space */
        start local 5 // java.io.Serializable space
         5: .line 442
            aload 1 /* tableSpaces */
            aload 5 /* space */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 443
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Changes must be flushed to space: %s"
            aload 5 /* space */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 444
            iconst_1
            ireturn
        end local 5 // java.io.Serializable space
         8: .line 441
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
         9: iload 6
            iload 7
            if_icmplt 4
        end local 4 // java.io.Serializable[] spaces
        end local 2 // org.hibernate.action.spi.Executable action
        10: .line 439
      StackMap locals: org.hibernate.action.internal.UnresolvedEntityInsertActions java.util.Set top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        11: .line 448
            iconst_0
            ireturn
        end local 1 // java.util.Set tableSpaces
        end local 0 // org.hibernate.action.internal.UnresolvedEntityInsertActions actions
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0      actions  Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            0   12     1  tableSpaces  Ljava/util/Set;
            2   10     2       action  Lorg/hibernate/action/spi/Executable;
            3   10     4       spaces  [Ljava/io/Serializable;
            5    8     5        space  Ljava/io/Serializable;
    MethodParameters:
             Name  Flags
      actions      
      tableSpaces  

  private <E extends org.hibernate.action.spi.Executable, java.lang.Comparable<?>, java.io.Serializable> void executeActions(org.hibernate.engine.spi.ExecutableList<E>);
    descriptor: (Lorg/hibernate/engine/spi/ExecutableList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.engine.spi.ExecutableList list
         0: .line 463
            aload 1 /* list */
            invokevirtual org.hibernate.engine.spi.ExecutableList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: org.hibernate.engine.spi.ActionQueue org.hibernate.engine.spi.ExecutableList top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.action.spi.Executable
            astore 2 /* e */
        start local 2 // org.hibernate.action.spi.Executable e
         2: .line 465
            aload 2 /* e */
            invokeinterface org.hibernate.action.spi.Executable.execute:()V
         3: .line 466
            goto 8
         4: .line 467
      StackMap locals: org.hibernate.engine.spi.ActionQueue org.hibernate.engine.spi.ExecutableList org.hibernate.action.spi.Executable java.util.Iterator
      StackMap stack: java.lang.Throwable
            astore 4
         5: .line 468
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.beforeTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;
            aload 2 /* e */
            invokeinterface org.hibernate.action.spi.Executable.getBeforeTransactionCompletionProcess:()Lorg/hibernate/action/spi/BeforeTransactionCompletionProcess;
            invokevirtual org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue.register:(Ljava/lang/Object;)V
         6: .line 469
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.afterTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
            aload 2 /* e */
            invokeinterface org.hibernate.action.spi.Executable.getAfterTransactionCompletionProcess:()Lorg/hibernate/action/spi/AfterTransactionCompletionProcess;
            invokevirtual org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue.register:(Ljava/lang/Object;)V
         7: .line 470
            aload 4
            athrow
         8: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.beforeTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;
            aload 2 /* e */
            invokeinterface org.hibernate.action.spi.Executable.getBeforeTransactionCompletionProcess:()Lorg/hibernate/action/spi/BeforeTransactionCompletionProcess;
            invokevirtual org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue.register:(Ljava/lang/Object;)V
         9: .line 469
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.afterTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
            aload 2 /* e */
            invokeinterface org.hibernate.action.spi.Executable.getAfterTransactionCompletionProcess:()Lorg/hibernate/action/spi/AfterTransactionCompletionProcess;
            invokevirtual org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue.register:(Ljava/lang/Object;)V
        end local 2 // org.hibernate.action.spi.Executable e
        10: .line 463
      StackMap locals: org.hibernate.engine.spi.ActionQueue org.hibernate.engine.spi.ExecutableList top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        11: .line 472
            goto 17
        12: .line 473
      StackMap locals: org.hibernate.engine.spi.ActionQueue org.hibernate.engine.spi.ExecutableList
      StackMap stack: java.lang.Throwable
            astore 5
        13: .line 474
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isQueryCacheEnabled:()Z
            ifeq 16
        14: .line 478
            aload 1 /* list */
            invokevirtual org.hibernate.engine.spi.ExecutableList.getQuerySpaces:()Ljava/util/Set;
            astore 6 /* propertySpaces */
        start local 6 // java.util.Set propertySpaces
        15: .line 479
            aload 0 /* this */
            aload 6 /* propertySpaces */
            aload 6 /* propertySpaces */
            invokeinterface java.util.Set.size:()I
            anewarray java.io.Serializable
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.io.Serializable[]
            invokevirtual org.hibernate.engine.spi.ActionQueue.invalidateSpaces:([Ljava/io/Serializable;)V
        end local 6 // java.util.Set propertySpaces
        16: .line 481
      StackMap locals: org.hibernate.engine.spi.ActionQueue org.hibernate.engine.spi.ExecutableList top top top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        17: .line 474
      StackMap locals: org.hibernate.engine.spi.ActionQueue org.hibernate.engine.spi.ExecutableList
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isQueryCacheEnabled:()Z
            ifeq 20
        18: .line 478
            aload 1 /* list */
            invokevirtual org.hibernate.engine.spi.ExecutableList.getQuerySpaces:()Ljava/util/Set;
            astore 6 /* propertySpaces */
        start local 6 // java.util.Set propertySpaces
        19: .line 479
            aload 0 /* this */
            aload 6 /* propertySpaces */
            aload 6 /* propertySpaces */
            invokeinterface java.util.Set.size:()I
            anewarray java.io.Serializable
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.io.Serializable[]
            invokevirtual org.hibernate.engine.spi.ActionQueue.invalidateSpaces:([Ljava/io/Serializable;)V
        end local 6 // java.util.Set propertySpaces
        20: .line 483
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            invokevirtual org.hibernate.engine.spi.ExecutableList.clear:()V
        21: .line 484
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getJdbcCoordinator:()Lorg/hibernate/engine/jdbc/spi/JdbcCoordinator;
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcCoordinator.executeBatch:()V
        22: .line 485
            return
        end local 1 // org.hibernate.engine.spi.ExecutableList list
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lorg/hibernate/engine/spi/ActionQueue;
            0   23     1            list  Lorg/hibernate/engine/spi/ExecutableList<TE;>;
            2   10     2               e  TE;
           15   16     6  propertySpaces  Ljava/util/Set<Ljava/io/Serializable;>;
           19   20     6  propertySpaces  Ljava/util/Set<Ljava/io/Serializable;>;
      Exception table:
        from    to  target  type
           2     4       4  any
           0    12      12  any
    Exceptions:
      throws org.hibernate.HibernateException
    Signature: <E::Lorg/hibernate/action/spi/Executable;:Ljava/lang/Comparable<*>;:Ljava/io/Serializable;>(Lorg/hibernate/engine/spi/ExecutableList<TE;>;)V
    MethodParameters:
      Name  Flags
      list  

  public <E extends org.hibernate.action.spi.Executable, java.lang.Comparable<?>> void execute();
    descriptor: (Lorg/hibernate/action/spi/Executable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.action.spi.Executable executable
         0: .line 492
            aload 1 /* executable */
            invokeinterface org.hibernate.action.spi.Executable.execute:()V
         1: .line 493
            goto 5
         2: .line 494
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         3: .line 495
            aload 0 /* this */
            aload 1 /* executable */
            invokevirtual org.hibernate.engine.spi.ActionQueue.registerCleanupActions:(Lorg/hibernate/action/spi/Executable;)V
         4: .line 496
            aload 2
            athrow
         5: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* executable */
            invokevirtual org.hibernate.engine.spi.ActionQueue.registerCleanupActions:(Lorg/hibernate/action/spi/Executable;)V
         6: .line 497
            return
        end local 1 // org.hibernate.action.spi.Executable executable
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/hibernate/engine/spi/ActionQueue;
            0    7     1  executable  TE;
      Exception table:
        from    to  target  type
           0     2       2  any
    Signature: <E::Lorg/hibernate/action/spi/Executable;:Ljava/lang/Comparable<*>;>(TE;)V
    MethodParameters:
            Name  Flags
      executable  

  private void invalidateSpaces(java.io.Serializable[]);
    descriptor: ([Ljava/io/Serializable;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // java.io.Serializable[] spaces
         0: .line 505
            aload 1 /* spaces */
            ifnull 7
            aload 1 /* spaces */
            arraylength
            ifle 7
         1: .line 506
            aload 1 /* spaces */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.hibernate.engine.spi.ActionQueue java.io.Serializable[] top int int java.io.Serializable[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* s */
        start local 2 // java.io.Serializable s
         3: .line 507
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.afterTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
            aload 2 /* s */
            checkcast java.lang.String
            invokevirtual org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue.addSpaceToInvalidate:(Ljava/lang/String;)V
        end local 2 // java.io.Serializable s
         4: .line 506
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 510
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getUpdateTimestampsCache:()Lorg/hibernate/cache/spi/UpdateTimestampsCache;
            aload 1 /* spaces */
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokevirtual org.hibernate.cache.spi.UpdateTimestampsCache.preInvalidate:([Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
         7: .line 512
      StackMap locals: org.hibernate.engine.spi.ActionQueue java.io.Serializable[]
      StackMap stack:
            return
        end local 1 // java.io.Serializable[] spaces
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/hibernate/engine/spi/ActionQueue;
            0    8     1  spaces  [Ljava/io/Serializable;
            3    4     2       s  Ljava/io/Serializable;
    MethodParameters:
        Name  Flags
      spaces  

  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.spi.ActionQueue this
         0: .line 521
            new java.lang.StringBuilder
            dup
            ldc "ActionQueue[insertions="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.insertions:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         1: .line 522
            ldc " updates="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.updates:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         2: .line 523
            ldc " deletions="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.deletions:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 524
            ldc " orphanRemovals="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.orphanRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 525
            ldc " collectionCreations="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionCreations:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 526
            ldc " collectionRemovals="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 527
            ldc " collectionUpdates="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionUpdates:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         7: .line 528
            ldc " collectionQueuedOps="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionQueuedOps:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         8: .line 529
            ldc " unresolvedInsertDependencies="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         9: .line 530
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 521
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public int numberOfCollectionRemovals();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 534
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            ireturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public int numberOfCollectionUpdates();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 538
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionUpdates:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            ireturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public int numberOfCollectionCreations();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 542
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionCreations:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            ireturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public int numberOfDeletions();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 546
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.deletions:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.orphanRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            iadd
            ireturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public int numberOfUpdates();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 550
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.updates:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            ireturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public int numberOfInsertions();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 554
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.insertions:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            ireturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public org.hibernate.engine.spi.ActionQueue$TransactionCompletionProcesses getTransactionCompletionProcesses();
    descriptor: ()Lorg/hibernate/engine/spi/ActionQueue$TransactionCompletionProcesses;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 558
            new org.hibernate.engine.spi.ActionQueue$TransactionCompletionProcesses
            dup
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.beforeTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.afterTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
            invokespecial org.hibernate.engine.spi.ActionQueue$TransactionCompletionProcesses.<init>:(Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;)V
            areturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public void setTransactionCompletionProcesses(org.hibernate.engine.spi.ActionQueue$TransactionCompletionProcesses, boolean);
    descriptor: (Lorg/hibernate/engine/spi/ActionQueue$TransactionCompletionProcesses;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.engine.spi.ActionQueue$TransactionCompletionProcesses processes
        start local 2 // boolean isTransactionCoordinatorShared
         0: .line 570
            aload 0 /* this */
            iload 2 /* isTransactionCoordinatorShared */
            putfield org.hibernate.engine.spi.ActionQueue.isTransactionCoordinatorShared:Z
         1: .line 571
            aload 0 /* this */
            aload 1 /* processes */
            getfield org.hibernate.engine.spi.ActionQueue$TransactionCompletionProcesses.beforeTransactionCompletionProcesses:Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;
            putfield org.hibernate.engine.spi.ActionQueue.beforeTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;
         2: .line 572
            aload 0 /* this */
            aload 1 /* processes */
            getfield org.hibernate.engine.spi.ActionQueue$TransactionCompletionProcesses.afterTransactionCompletionProcesses:Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
            putfield org.hibernate.engine.spi.ActionQueue.afterTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
         3: .line 573
            return
        end local 2 // boolean isTransactionCoordinatorShared
        end local 1 // org.hibernate.engine.spi.ActionQueue$TransactionCompletionProcesses processes
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0    4     0                            this  Lorg/hibernate/engine/spi/ActionQueue;
            0    4     1                       processes  Lorg/hibernate/engine/spi/ActionQueue$TransactionCompletionProcesses;
            0    4     2  isTransactionCoordinatorShared  Z
    MethodParameters:
                                Name  Flags
      processes                       
      isTransactionCoordinatorShared  

  public void sortCollectionActions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 576
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isOrderUpdatesEnabled:()Z
            ifeq 5
         1: .line 578
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionCreations:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.sort:()V
         2: .line 579
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionUpdates:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.sort:()V
         3: .line 580
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionQueuedOps:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.sort:()V
         4: .line 581
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.sort:()V
         5: .line 583
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public void sortActions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 586
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isOrderUpdatesEnabled:()Z
            ifeq 2
         1: .line 588
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.updates:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.sort:()V
         2: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isOrderInsertsEnabled:()Z
            ifeq 4
         3: .line 591
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.insertions:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.sort:()V
         4: .line 593
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public void clearFromFlushNeededCheck(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // int previousCollectionRemovalSize
         0: .line 596
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionCreations:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.clear:()V
         1: .line 597
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionUpdates:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.clear:()V
         2: .line 598
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionQueuedOps:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.clear:()V
         3: .line 599
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.updates:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.clear:()V
         4: .line 602
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            iload 1 /* previousCollectionRemovalSize */
            if_icmple 6
         5: .line 603
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            iload 1 /* previousCollectionRemovalSize */
            isub
            invokevirtual org.hibernate.engine.spi.ExecutableList.removeLastN:(I)V
         6: .line 605
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int previousCollectionRemovalSize
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    7     0                           this  Lorg/hibernate/engine/spi/ActionQueue;
            0    7     1  previousCollectionRemovalSize  I
    MethodParameters:
                               Name  Flags
      previousCollectionRemovalSize  

  public boolean hasAfterTransactionActions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 608
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.isTransactionCoordinatorShared:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.afterTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$AfterTransactionCompletionProcessQueue;
            invokevirtual org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue.hasActions:()Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public boolean hasBeforeTransactionActions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 612
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.isTransactionCoordinatorShared:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.beforeTransactionProcesses:Lorg/hibernate/engine/spi/ActionQueue$BeforeTransactionCompletionProcessQueue;
            invokevirtual org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue.hasActions:()Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public boolean hasAnyQueuedActions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.ActionQueue this
         0: .line 616
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.updates:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.isEmpty:()Z
            ifeq 3
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.insertions:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.isEmpty:()Z
            ifeq 3
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            invokevirtual org.hibernate.action.internal.UnresolvedEntityInsertActions.isEmpty:()Z
            ifeq 3
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.deletions:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.isEmpty:()Z
            ifeq 3
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionUpdates:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.isEmpty:()Z
            ifeq 3
         1: .line 617
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionQueuedOps:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.isEmpty:()Z
            ifeq 3
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.isEmpty:()Z
            ifeq 3
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.collectionCreations:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.isEmpty:()Z
            ifeq 3
         2: .line 616
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/engine/spi/ActionQueue;

  public void unScheduleDeletion(org.hibernate.engine.spi.EntityEntry, java.lang.Object);
    descriptor: (Lorg/hibernate/engine/spi/EntityEntry;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // org.hibernate.engine.spi.EntityEntry entry
        start local 2 // java.lang.Object rescuedEntity
         0: .line 621
            aload 2 /* rescuedEntity */
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 4
         1: .line 622
            aload 2 /* rescuedEntity */
            checkcast org.hibernate.proxy.HibernateProxy
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            astore 3 /* initializer */
        start local 3 // org.hibernate.proxy.LazyInitializer initializer
         2: .line 623
            aload 3 /* initializer */
            invokeinterface org.hibernate.proxy.LazyInitializer.isUninitialized:()Z
            ifne 4
         3: .line 624
            aload 3 /* initializer */
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.proxy.LazyInitializer.getImplementation:(Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Object;
            astore 2 /* rescuedEntity */
        end local 3 // org.hibernate.proxy.LazyInitializer initializer
         4: .line 627
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 11
         6: .line 628
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.deletions:Lorg/hibernate/engine/spi/ExecutableList;
            iload 3 /* i */
            invokevirtual org.hibernate.engine.spi.ExecutableList.get:(I)Lorg/hibernate/action/spi/Executable;
            checkcast org.hibernate.action.internal.EntityDeleteAction
            astore 4 /* action */
        start local 4 // org.hibernate.action.internal.EntityDeleteAction action
         7: .line 629
            aload 4 /* action */
            invokevirtual org.hibernate.action.internal.EntityDeleteAction.getInstance:()Ljava/lang/Object;
            aload 2 /* rescuedEntity */
            if_acmpne 10
         8: .line 630
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.deletions:Lorg/hibernate/engine/spi/ExecutableList;
            iload 3 /* i */
            invokevirtual org.hibernate.engine.spi.ExecutableList.remove:(I)Lorg/hibernate/action/spi/Executable;
            pop
         9: .line 631
            return
        end local 4 // org.hibernate.action.internal.EntityDeleteAction action
        10: .line 627
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.deletions:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            if_icmplt 6
        end local 3 // int i
        12: .line 634
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        13: goto 19
        14: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.orphanRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            iload 3 /* i */
            invokevirtual org.hibernate.engine.spi.ExecutableList.get:(I)Lorg/hibernate/action/spi/Executable;
            checkcast org.hibernate.action.internal.EntityDeleteAction
            astore 4 /* action */
        start local 4 // org.hibernate.action.internal.EntityDeleteAction action
        15: .line 636
            aload 4 /* action */
            invokevirtual org.hibernate.action.internal.EntityDeleteAction.getInstance:()Ljava/lang/Object;
            aload 2 /* rescuedEntity */
            if_acmpne 18
        16: .line 637
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.orphanRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            iload 3 /* i */
            invokevirtual org.hibernate.engine.spi.ExecutableList.remove:(I)Lorg/hibernate/action/spi/Executable;
            pop
        17: .line 638
            return
        end local 4 // org.hibernate.action.internal.EntityDeleteAction action
        18: .line 634
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.orphanRemovals:Lorg/hibernate/engine/spi/ExecutableList;
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            if_icmplt 14
        end local 3 // int i
        20: .line 641
            new org.hibernate.AssertionFailure
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to perform un-delete for instance "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* entry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Object rescuedEntity
        end local 1 // org.hibernate.engine.spi.EntityEntry entry
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/hibernate/engine/spi/ActionQueue;
            0   21     1          entry  Lorg/hibernate/engine/spi/EntityEntry;
            0   21     2  rescuedEntity  Ljava/lang/Object;
            2    4     3    initializer  Lorg/hibernate/proxy/LazyInitializer;
            5   12     3              i  I
            7   10     4         action  Lorg/hibernate/action/internal/EntityDeleteAction;
           13   20     3              i  I
           15   18     4         action  Lorg/hibernate/action/internal/EntityDeleteAction;
    MethodParameters:
               Name  Flags
      entry          
      rescuedEntity  

  public void serialize(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.engine.spi.ActionQueue this
        start local 1 // java.io.ObjectOutputStream oos
         0: .line 651
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Serializing action-queue"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         1: .line 653
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            aload 1 /* oos */
            invokevirtual org.hibernate.action.internal.UnresolvedEntityInsertActions.serialize:(Ljava/io/ObjectOutputStream;)V
         2: .line 655
            aload 0 /* this */
            getfield org.hibernate.engine.spi.ActionQueue.executableLists:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.hibernate.engine.spi.ActionQueue java.io.ObjectOutputStream top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.ExecutableList
            astore 2 /* l */
        start local 2 // org.hibernate.engine.spi.ExecutableList l
         4: .line 656
            aload 2 /* l */
            aload 1 /* oos */
            invokevirtual org.hibernate.engine.spi.ExecutableList.writeExternal:(Ljava/io/ObjectOutput;)V
        end local 2 // org.hibernate.engine.spi.ExecutableList l
         5: .line 655
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 658
            return
        end local 1 // java.io.ObjectOutputStream oos
        end local 0 // org.hibernate.engine.spi.ActionQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/engine/spi/ActionQueue;
            0    7     1   oos  Ljava/io/ObjectOutputStream;
            4    5     2     l  Lorg/hibernate/engine/spi/ExecutableList<*>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      oos   

  public static org.hibernate.engine.spi.ActionQueue deserialize(java.io.ObjectInputStream, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/io/ObjectInputStream;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/engine/spi/ActionQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.io.ObjectInputStream ois
        start local 1 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 670
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            istore 2 /* traceEnabled */
        start local 2 // boolean traceEnabled
         1: .line 671
            iload 2 /* traceEnabled */
            ifeq 3
         2: .line 672
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Deserializing action-queue"
            invokeinterface org.hibernate.internal.CoreMessageLogger.trace:(Ljava/lang/Object;)V
         3: .line 674
      StackMap locals: int
      StackMap stack:
            new org.hibernate.engine.spi.ActionQueue
            dup
            aload 1 /* session */
            invokespecial org.hibernate.engine.spi.ActionQueue.<init>:(Lorg/hibernate/engine/spi/SessionImplementor;)V
            astore 3 /* rtn */
        start local 3 // org.hibernate.engine.spi.ActionQueue rtn
         4: .line 676
            aload 3 /* rtn */
            aload 0 /* ois */
            aload 1 /* session */
            invokestatic org.hibernate.action.internal.UnresolvedEntityInsertActions.deserialize:(Ljava/io/ObjectInputStream;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
            putfield org.hibernate.engine.spi.ActionQueue.unresolvedInsertions:Lorg/hibernate/action/internal/UnresolvedEntityInsertActions;
         5: .line 678
            aload 3 /* rtn */
            getfield org.hibernate.engine.spi.ActionQueue.executableLists:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.spi.ActionQueue top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.engine.spi.ExecutableList
            astore 4 /* l */
        start local 4 // org.hibernate.engine.spi.ExecutableList l
         7: .line 679
            aload 4 /* l */
            aload 0 /* ois */
            invokevirtual org.hibernate.engine.spi.ExecutableList.readExternal:(Ljava/io/ObjectInput;)V
         8: .line 680
            iload 2 /* traceEnabled */
            ifeq 10
         9: .line 681
            getstatic org.hibernate.engine.spi.ActionQueue.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Deserialized [{0}] entries"
            aload 4 /* l */
            invokevirtual org.hibernate.engine.spi.ExecutableList.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
        10: .line 683
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.spi.ActionQueue org.hibernate.engine.spi.ExecutableList java.util.Iterator
      StackMap stack:
            aload 4 /* l */
            aload 1 /* session */
            invokevirtual org.hibernate.engine.spi.ExecutableList.afterDeserialize:(Lorg/hibernate/engine/spi/SessionImplementor;)V
        end local 4 // org.hibernate.engine.spi.ExecutableList l
        11: .line 678
      StackMap locals: java.io.ObjectInputStream org.hibernate.engine.spi.SessionImplementor int org.hibernate.engine.spi.ActionQueue top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        12: .line 686
            aload 3 /* rtn */
            areturn
        end local 3 // org.hibernate.engine.spi.ActionQueue rtn
        end local 2 // boolean traceEnabled
        end local 1 // org.hibernate.engine.spi.SessionImplementor session
        end local 0 // java.io.ObjectInputStream ois
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0           ois  Ljava/io/ObjectInputStream;
            0   13     1       session  Lorg/hibernate/engine/spi/SessionImplementor;
            1   13     2  traceEnabled  Z
            4   13     3           rtn  Lorg/hibernate/engine/spi/ActionQueue;
            7   11     4             l  Lorg/hibernate/engine/spi/ExecutableList<*>;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
         Name  Flags
      ois      
      session  
}
SourceFile: "ActionQueue.java"
NestMembers:
  org.hibernate.engine.spi.ActionQueue$AbstractTransactionCompletionProcessQueue  org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue  org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue  org.hibernate.engine.spi.ActionQueue$InsertActionSorter  org.hibernate.engine.spi.ActionQueue$TransactionCompletionProcesses
InnerClasses:
  private abstract AbstractTransactionCompletionProcessQueue = org.hibernate.engine.spi.ActionQueue$AbstractTransactionCompletionProcessQueue of org.hibernate.engine.spi.ActionQueue
  private AfterTransactionCompletionProcessQueue = org.hibernate.engine.spi.ActionQueue$AfterTransactionCompletionProcessQueue of org.hibernate.engine.spi.ActionQueue
  private BeforeTransactionCompletionProcessQueue = org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue of org.hibernate.engine.spi.ActionQueue
  private InsertActionSorter = org.hibernate.engine.spi.ActionQueue$InsertActionSorter of org.hibernate.engine.spi.ActionQueue
  public TransactionCompletionProcesses = org.hibernate.engine.spi.ActionQueue$TransactionCompletionProcesses of org.hibernate.engine.spi.ActionQueue
  public abstract Sorter = org.hibernate.engine.spi.ExecutableList$Sorter of org.hibernate.engine.spi.ExecutableList