public abstract class org.hibernate.action.internal.CollectionAction implements org.hibernate.action.spi.Executable, java.io.Serializable, java.lang.Comparable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.action.internal.CollectionAction
  super_class: java.lang.Object
{
  private transient org.hibernate.persister.collection.CollectionPersister persister;
    descriptor: Lorg/hibernate/persister/collection/CollectionPersister;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient org.hibernate.engine.spi.SharedSessionContractImplementor session;
    descriptor: Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private final org.hibernate.collection.spi.PersistentCollection collection;
    descriptor: Lorg/hibernate/collection/spi/PersistentCollection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.Serializable key;
    descriptor: Ljava/io/Serializable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String collectionRole;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.hibernate.action.spi.AfterTransactionCompletionProcess afterTransactionProcess;
    descriptor: Lorg/hibernate/action/spi/AfterTransactionCompletionProcess;
    flags: (0x0002) ACC_PRIVATE

  protected void <init>(org.hibernate.persister.collection.CollectionPersister, org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/collection/spi/PersistentCollection;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.hibernate.action.internal.CollectionAction this
        start local 1 // org.hibernate.persister.collection.CollectionPersister persister
        start local 2 // org.hibernate.collection.spi.PersistentCollection collection
        start local 3 // java.io.Serializable key
        start local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 0 /* this */
            aload 1 /* persister */
            putfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
         2: .line 46
            aload 0 /* this */
            aload 4 /* session */
            putfield org.hibernate.action.internal.CollectionAction.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
         3: .line 47
            aload 0 /* this */
            aload 3 /* key */
            putfield org.hibernate.action.internal.CollectionAction.key:Ljava/io/Serializable;
         4: .line 48
            aload 0 /* this */
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getRole:()Ljava/lang/String;
            putfield org.hibernate.action.internal.CollectionAction.collectionRole:Ljava/lang/String;
         5: .line 49
            aload 0 /* this */
            aload 2 /* collection */
            putfield org.hibernate.action.internal.CollectionAction.collection:Lorg/hibernate/collection/spi/PersistentCollection;
         6: .line 50
            return
        end local 4 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 3 // java.io.Serializable key
        end local 2 // org.hibernate.collection.spi.PersistentCollection collection
        end local 1 // org.hibernate.persister.collection.CollectionPersister persister
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/hibernate/action/internal/CollectionAction;
            0    7     1   persister  Lorg/hibernate/persister/collection/CollectionPersister;
            0    7     2  collection  Lorg/hibernate/collection/spi/PersistentCollection;
            0    7     3         key  Ljava/io/Serializable;
            0    7     4     session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    MethodParameters:
            Name  Flags
      persister   final
      collection  final
      key         final
      session     final

  protected org.hibernate.collection.spi.PersistentCollection getCollection();
    descriptor: ()Lorg/hibernate/collection/spi/PersistentCollection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.action.internal.CollectionAction this
         0: .line 53
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.collection:Lorg/hibernate/collection/spi/PersistentCollection;
            areturn
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/action/internal/CollectionAction;

  public void afterDeserialize(org.hibernate.engine.spi.SharedSessionContractImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SharedSessionContractImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.action.internal.CollectionAction this
        start local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
         0: .line 62
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            ifnonnull 1
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
            ifnull 2
         1: .line 63
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "already attached to a session."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 67
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            ifnull 5
         3: .line 68
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hibernate.action.internal.CollectionAction.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
         4: .line 69
            aload 0 /* this */
            aload 1 /* session */
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.collectionRole:Ljava/lang/String;
            invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.collectionPersister:(Ljava/lang/String;)Lorg/hibernate/persister/collection/CollectionPersister;
            putfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
         5: .line 71
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hibernate.engine.spi.SharedSessionContractImplementor session
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/hibernate/action/internal/CollectionAction;
            0    6     1  session  Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    MethodParameters:
         Name  Flags
      session  

  public final void beforeExecutions();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.hibernate.action.internal.CollectionAction this
         0: .line 78
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.hasCache:()Z
            ifeq 10
         1: .line 79
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getCacheAccessStrategy:()Lorg/hibernate/cache/spi/access/CollectionDataAccess;
            astore 1 /* cache */
        start local 1 // org.hibernate.cache.spi.access.CollectionDataAccess cache
         2: .line 80
            aload 1 /* cache */
         3: .line 81
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.key:Ljava/io/Serializable;
         4: .line 82
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
         5: .line 83
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         6: .line 84
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getTenantIdentifier:()Ljava/lang/String;
         7: .line 80
            invokeinterface org.hibernate.cache.spi.access.CollectionDataAccess.generateCacheKey:(Ljava/lang/Object;Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* ck */
        start local 2 // java.lang.Object ck
         8: .line 86
            aload 1 /* cache */
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            aload 2 /* ck */
            aconst_null
            invokeinterface org.hibernate.cache.spi.access.CollectionDataAccess.lockItem:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;Ljava/lang/Object;)Lorg/hibernate/cache/spi/access/SoftLock;
            astore 3 /* lock */
        start local 3 // org.hibernate.cache.spi.access.SoftLock lock
         9: .line 88
            aload 0 /* this */
            new org.hibernate.action.internal.CollectionAction$CacheCleanupProcess
            dup
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.key:Ljava/io/Serializable;
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
            aload 3 /* lock */
            invokespecial org.hibernate.action.internal.CollectionAction$CacheCleanupProcess.<init>:(Ljava/io/Serializable;Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/cache/spi/access/SoftLock;)V
            putfield org.hibernate.action.internal.CollectionAction.afterTransactionProcess:Lorg/hibernate/action/spi/AfterTransactionCompletionProcess;
        end local 3 // org.hibernate.cache.spi.access.SoftLock lock
        end local 2 // java.lang.Object ck
        end local 1 // org.hibernate.cache.spi.access.CollectionDataAccess cache
        10: .line 90
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/hibernate/action/internal/CollectionAction;
            2   10     1  cache  Lorg/hibernate/cache/spi/access/CollectionDataAccess;
            8   10     2     ck  Ljava/lang/Object;
            9   10     3   lock  Lorg/hibernate/cache/spi/access/SoftLock;
    Exceptions:
      throws org.hibernate.cache.CacheException

  public org.hibernate.action.spi.BeforeTransactionCompletionProcess getBeforeTransactionCompletionProcess();
    descriptor: ()Lorg/hibernate/action/spi/BeforeTransactionCompletionProcess;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.action.internal.CollectionAction this
         0: .line 94
            aconst_null
            areturn
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/action/internal/CollectionAction;

  public org.hibernate.action.spi.AfterTransactionCompletionProcess getAfterTransactionCompletionProcess();
    descriptor: ()Lorg/hibernate/action/spi/AfterTransactionCompletionProcess;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.action.internal.CollectionAction this
         0: .line 101
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.afterTransactionProcess:Lorg/hibernate/action/spi/AfterTransactionCompletionProcess;
            areturn
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/action/internal/CollectionAction;

  public java.io.Serializable[] getPropertySpaces();
    descriptor: ()[Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.action.internal.CollectionAction this
         0: .line 106
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getCollectionSpaces:()[Ljava/io/Serializable;
            areturn
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/action/internal/CollectionAction;

  protected final org.hibernate.persister.collection.CollectionPersister getPersister();
    descriptor: ()Lorg/hibernate/persister/collection/CollectionPersister;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.action.internal.CollectionAction this
         0: .line 110
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
            areturn
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/action/internal/CollectionAction;

  protected final java.io.Serializable getKey();
    descriptor: ()Ljava/io/Serializable;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.action.internal.CollectionAction this
         0: .line 114
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.key:Ljava/io/Serializable;
            astore 1 /* finalKey */
        start local 1 // java.io.Serializable finalKey
         1: .line 115
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.key:Ljava/io/Serializable;
            instanceof org.hibernate.action.internal.DelayedPostInsertIdentifier
            ifeq 3
         2: .line 117
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.collection:Lorg/hibernate/collection/spi/PersistentCollection;
            invokeinterface org.hibernate.collection.spi.PersistentCollection.getOwner:()Ljava/lang/Object;
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            invokeinterface org.hibernate.engine.spi.EntityEntry.getId:()Ljava/io/Serializable;
            astore 1 /* finalKey */
         3: .line 123
      StackMap locals: java.io.Serializable
      StackMap stack:
            aload 1 /* finalKey */
            areturn
        end local 1 // java.io.Serializable finalKey
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/hibernate/action/internal/CollectionAction;
            1    4     1  finalKey  Ljava/io/Serializable;

  protected final org.hibernate.engine.spi.SharedSessionContractImplementor getSession();
    descriptor: ()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.action.internal.CollectionAction this
         0: .line 127
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            areturn
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/action/internal/CollectionAction;

  protected final void evict();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.hibernate.action.internal.CollectionAction this
         0: .line 131
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.hasCache:()Z
            ifeq 9
         1: .line 132
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getCacheAccessStrategy:()Lorg/hibernate/cache/spi/access/CollectionDataAccess;
            astore 1 /* cache */
        start local 1 // org.hibernate.cache.spi.access.CollectionDataAccess cache
         2: .line 133
            aload 1 /* cache */
         3: .line 134
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.key:Ljava/io/Serializable;
         4: .line 135
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
         5: .line 136
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         6: .line 137
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getTenantIdentifier:()Ljava/lang/String;
         7: .line 133
            invokeinterface org.hibernate.cache.spi.access.CollectionDataAccess.generateCacheKey:(Ljava/lang/Object;Lorg/hibernate/persister/collection/CollectionPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* ck */
        start local 2 // java.lang.Object ck
         8: .line 139
            aload 1 /* cache */
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.session:Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            aload 2 /* ck */
            invokeinterface org.hibernate.cache.spi.access.CollectionDataAccess.remove:(Lorg/hibernate/engine/spi/SharedSessionContractImplementor;Ljava/lang/Object;)V
        end local 2 // java.lang.Object ck
        end local 1 // org.hibernate.cache.spi.access.CollectionDataAccess cache
         9: .line 141
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/hibernate/action/internal/CollectionAction;
            2    9     1  cache  Lorg/hibernate/cache/spi/access/CollectionDataAccess;
            8    9     2     ck  Ljava/lang/Object;
    Exceptions:
      throws org.hibernate.cache.CacheException

  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.action.internal.CollectionAction this
         0: .line 145
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.unqualify:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.collectionRole:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.key:Ljava/io/Serializable;
            invokestatic org.hibernate.pretty.MessageHelper.infoString:(Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/action/internal/CollectionAction;

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.action.internal.CollectionAction this
        start local 1 // java.lang.Object other
         0: .line 150
            aload 1 /* other */
            checkcast org.hibernate.action.internal.CollectionAction
            astore 2 /* action */
        start local 2 // org.hibernate.action.internal.CollectionAction action
         1: .line 153
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.collectionRole:Ljava/lang/String;
            aload 2 /* action */
            getfield org.hibernate.action.internal.CollectionAction.collectionRole:Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            istore 3 /* roleComparison */
        start local 3 // int roleComparison
         2: .line 154
            iload 3 /* roleComparison */
            ifeq 4
         3: .line 155
            iload 3 /* roleComparison */
            ireturn
         4: .line 159
      StackMap locals: org.hibernate.action.internal.CollectionAction int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.persister:Lorg/hibernate/persister/collection/CollectionPersister;
            invokeinterface org.hibernate.persister.collection.CollectionPersister.getKeyType:()Lorg/hibernate/type/Type;
            aload 0 /* this */
            getfield org.hibernate.action.internal.CollectionAction.key:Ljava/io/Serializable;
            aload 2 /* action */
            getfield org.hibernate.action.internal.CollectionAction.key:Ljava/io/Serializable;
            invokeinterface org.hibernate.type.Type.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ireturn
        end local 3 // int roleComparison
        end local 2 // org.hibernate.action.internal.CollectionAction action
        end local 1 // java.lang.Object other
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/hibernate/action/internal/CollectionAction;
            0    5     1           other  Ljava/lang/Object;
            1    5     2          action  Lorg/hibernate/action/internal/CollectionAction;
            2    5     3  roleComparison  I
    MethodParameters:
       Name  Flags
      other  

  protected <T> org.hibernate.event.service.spi.EventListenerGroup<T> listenerGroup(org.hibernate.event.spi.EventType<T>);
    descriptor: (Lorg/hibernate/event/spi/EventType;)Lorg/hibernate/event/service/spi/EventListenerGroup;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.action.internal.CollectionAction this
        start local 1 // org.hibernate.event.spi.EventType eventType
         0: .line 188
            aload 0 /* this */
            invokevirtual org.hibernate.action.internal.CollectionAction.getSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
         1: .line 189
            invokeinterface org.hibernate.engine.spi.SharedSessionContractImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         2: .line 190
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getServiceRegistry:()Lorg/hibernate/service/spi/ServiceRegistryImplementor;
         3: .line 191
            ldc Lorg/hibernate/event/service/spi/EventListenerRegistry;
            invokeinterface org.hibernate.service.spi.ServiceRegistryImplementor.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.event.service.spi.EventListenerRegistry
         4: .line 192
            aload 1 /* eventType */
            invokeinterface org.hibernate.event.service.spi.EventListenerRegistry.getEventListenerGroup:(Lorg/hibernate/event/spi/EventType;)Lorg/hibernate/event/service/spi/EventListenerGroup;
         5: .line 188
            areturn
        end local 1 // org.hibernate.event.spi.EventType eventType
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/hibernate/action/internal/CollectionAction;
            0    6     1  eventType  Lorg/hibernate/event/spi/EventType<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/hibernate/event/spi/EventType<TT;>;)Lorg/hibernate/event/service/spi/EventListenerGroup<TT;>;
    MethodParameters:
           Name  Flags
      eventType  

  protected org.hibernate.event.spi.EventSource eventSource();
    descriptor: ()Lorg/hibernate/event/spi/EventSource;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.action.internal.CollectionAction this
         0: .line 196
            aload 0 /* this */
            invokevirtual org.hibernate.action.internal.CollectionAction.getSession:()Lorg/hibernate/engine/spi/SharedSessionContractImplementor;
            checkcast org.hibernate.event.spi.EventSource
            areturn
        end local 0 // org.hibernate.action.internal.CollectionAction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/action/internal/CollectionAction;
}
SourceFile: "CollectionAction.java"
NestMembers:
  org.hibernate.action.internal.CollectionAction$CacheCleanupProcess
InnerClasses:
  private CacheCleanupProcess = org.hibernate.action.internal.CollectionAction$CacheCleanupProcess of org.hibernate.action.internal.CollectionAction