class org.hibernate.engine.spi.CascadingActions$8 extends org.hibernate.engine.spi.CascadingActions$BaseCascadingAction
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hibernate.engine.spi.CascadingActions$8
  super_class: org.hibernate.engine.spi.CascadingActions$BaseCascadingAction
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.CascadingActions$8 this
         0: .line 347
            aload 0 /* this */
            invokespecial org.hibernate.engine.spi.CascadingActions$BaseCascadingAction.<init>:()V
            return
        end local 0 // org.hibernate.engine.spi.CascadingActions$8 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/CascadingActions$8;

  public void cascade(org.hibernate.event.spi.EventSource, java.lang.Object, java.lang.String, java.lang.Object, boolean);
    descriptor: (Lorg/hibernate/event/spi/EventSource;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // org.hibernate.engine.spi.CascadingActions$8 this
        start local 1 // org.hibernate.event.spi.EventSource session
        start local 2 // java.lang.Object child
        start local 3 // java.lang.String entityName
        start local 4 // java.lang.Object anything
        start local 5 // boolean isCascadeDeleteEnabled
         0: .line 356
            getstatic org.hibernate.engine.spi.CascadingActions.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Cascading to persist on flush: {0}"
            aload 3 /* entityName */
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 357
            aload 1 /* session */
            aload 3 /* entityName */
            aload 2 /* child */
            aload 4 /* anything */
            checkcast java.util.Map
            invokeinterface org.hibernate.event.spi.EventSource.persistOnFlush:(Ljava/lang/String;Ljava/lang/Object;Ljava/util/Map;)V
         2: .line 358
            return
        end local 5 // boolean isCascadeDeleteEnabled
        end local 4 // java.lang.Object anything
        end local 3 // java.lang.String entityName
        end local 2 // java.lang.Object child
        end local 1 // org.hibernate.event.spi.EventSource session
        end local 0 // org.hibernate.engine.spi.CascadingActions$8 this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    3     0                    this  Lorg/hibernate/engine/spi/CascadingActions$8;
            0    3     1                 session  Lorg/hibernate/event/spi/EventSource;
            0    3     2                   child  Ljava/lang/Object;
            0    3     3              entityName  Ljava/lang/String;
            0    3     4                anything  Ljava/lang/Object;
            0    3     5  isCascadeDeleteEnabled  Z
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                        Name  Flags
      session                 
      child                   
      entityName              
      anything                
      isCascadeDeleteEnabled  

  public java.util.Iterator getCascadableChildrenIterator(org.hibernate.event.spi.EventSource, org.hibernate.type.CollectionType, java.lang.Object);
    descriptor: (Lorg/hibernate/event/spi/EventSource;Lorg/hibernate/type/CollectionType;Ljava/lang/Object;)Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.hibernate.engine.spi.CascadingActions$8 this
        start local 1 // org.hibernate.event.spi.EventSource session
        start local 2 // org.hibernate.type.CollectionType collectionType
        start local 3 // java.lang.Object collection
         0: .line 366
            aload 1 /* session */
            aload 2 /* collectionType */
            aload 3 /* collection */
            invokestatic org.hibernate.engine.spi.CascadingActions.getLoadedElementsIterator:(Lorg/hibernate/engine/spi/SessionImplementor;Lorg/hibernate/type/CollectionType;Ljava/lang/Object;)Ljava/util/Iterator;
            areturn
        end local 3 // java.lang.Object collection
        end local 2 // org.hibernate.type.CollectionType collectionType
        end local 1 // org.hibernate.event.spi.EventSource session
        end local 0 // org.hibernate.engine.spi.CascadingActions$8 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/hibernate/engine/spi/CascadingActions$8;
            0    1     1         session  Lorg/hibernate/event/spi/EventSource;
            0    1     2  collectionType  Lorg/hibernate/type/CollectionType;
            0    1     3      collection  Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      session         
      collectionType  
      collection      

  public boolean deleteOrphans();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.CascadingActions$8 this
         0: .line 371
            iconst_1
            ireturn
        end local 0 // org.hibernate.engine.spi.CascadingActions$8 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/CascadingActions$8;

  public boolean requiresNoCascadeChecking();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.CascadingActions$8 this
         0: .line 376
            iconst_1
            ireturn
        end local 0 // org.hibernate.engine.spi.CascadingActions$8 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/CascadingActions$8;

  public void noCascade(org.hibernate.event.spi.EventSource, java.lang.Object, java.lang.Object, org.hibernate.persister.entity.EntityPersister, int);
    descriptor: (Lorg/hibernate/event/spi/EventSource;Ljava/lang/Object;Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=6
        start local 0 // org.hibernate.engine.spi.CascadingActions$8 this
        start local 1 // org.hibernate.event.spi.EventSource session
        start local 2 // java.lang.Object child
        start local 3 // java.lang.Object parent
        start local 4 // org.hibernate.persister.entity.EntityPersister persister
        start local 5 // int propertyIndex
         0: .line 386
            aload 2 /* child */
            ifnonnull 2
         1: .line 387
            return
         2: .line 389
      StackMap locals:
      StackMap stack:
            aload 4 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getPropertyTypes:()[Lorg/hibernate/type/Type;
            iload 5 /* propertyIndex */
            aaload
            astore 6 /* type */
        start local 6 // org.hibernate.type.Type type
         3: .line 390
            aload 6 /* type */
            invokeinterface org.hibernate.type.Type.isEntityType:()Z
            ifeq 16
         4: .line 391
            aload 6 /* type */
            checkcast org.hibernate.type.EntityType
            aload 1 /* session */
            invokeinterface org.hibernate.event.spi.EventSource.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokevirtual org.hibernate.type.EntityType.getAssociatedEntityName:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            astore 7 /* childEntityName */
        start local 7 // java.lang.String childEntityName
         5: .line 393
            aload 0 /* this */
            aload 2 /* child */
            aload 1 /* session */
            invokevirtual org.hibernate.engine.spi.CascadingActions$8.isInManagedState:(Ljava/lang/Object;Lorg/hibernate/event/spi/EventSource;)Z
            ifne 16
         6: .line 394
            aload 2 /* child */
            instanceof org.hibernate.proxy.HibernateProxy
            ifne 16
         7: .line 395
            aload 7 /* childEntityName */
            aload 2 /* child */
            aconst_null
            aload 1 /* session */
            invokestatic org.hibernate.engine.internal.ForeignKeys.isTransient:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Boolean;Lorg/hibernate/engine/spi/SessionImplementor;)Z
            ifeq 16
         8: .line 396
            aload 4 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            astore 8 /* parentEntiytName */
        start local 8 // java.lang.String parentEntiytName
         9: .line 397
            aload 4 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getPropertyNames:()[Ljava/lang/String;
            iload 5 /* propertyIndex */
            aaload
            astore 9 /* propertyName */
        start local 9 // java.lang.String propertyName
        10: .line 398
            new org.hibernate.TransientPropertyValueException
            dup
        11: .line 399
            ldc "object references an unsaved transient instance - save the transient instance before flushing"
        12: .line 400
            aload 7 /* childEntityName */
        13: .line 401
            aload 8 /* parentEntiytName */
        14: .line 402
            aload 9 /* propertyName */
        15: .line 398
            invokespecial org.hibernate.TransientPropertyValueException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.String propertyName
        end local 8 // java.lang.String parentEntiytName
        end local 7 // java.lang.String childEntityName
        16: .line 407
      StackMap locals: org.hibernate.type.Type
      StackMap stack:
            return
        end local 6 // org.hibernate.type.Type type
        end local 5 // int propertyIndex
        end local 4 // org.hibernate.persister.entity.EntityPersister persister
        end local 3 // java.lang.Object parent
        end local 2 // java.lang.Object child
        end local 1 // org.hibernate.event.spi.EventSource session
        end local 0 // org.hibernate.engine.spi.CascadingActions$8 this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/hibernate/engine/spi/CascadingActions$8;
            0   17     1           session  Lorg/hibernate/event/spi/EventSource;
            0   17     2             child  Ljava/lang/Object;
            0   17     3            parent  Ljava/lang/Object;
            0   17     4         persister  Lorg/hibernate/persister/entity/EntityPersister;
            0   17     5     propertyIndex  I
            3   17     6              type  Lorg/hibernate/type/Type;
            5   16     7   childEntityName  Ljava/lang/String;
            9   16     8  parentEntiytName  Ljava/lang/String;
           10   16     9      propertyName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      session        
      child          
      parent         
      persister      
      propertyIndex  

  public boolean performOnLazyProperty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.CascadingActions$8 this
         0: .line 411
            iconst_0
            ireturn
        end local 0 // org.hibernate.engine.spi.CascadingActions$8 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/CascadingActions$8;

  private boolean isInManagedState(java.lang.Object, org.hibernate.event.spi.EventSource);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/event/spi/EventSource;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.hibernate.engine.spi.CascadingActions$8 this
        start local 1 // java.lang.Object child
        start local 2 // org.hibernate.event.spi.EventSource session
         0: .line 415
            aload 2 /* session */
            invokeinterface org.hibernate.event.spi.EventSource.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 1 /* child */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntry:(Ljava/lang/Object;)Lorg/hibernate/engine/spi/EntityEntry;
            astore 3 /* entry */
        start local 3 // org.hibernate.engine.spi.EntityEntry entry
         1: .line 416
            aload 3 /* entry */
            ifnull 6
         2: .line 418
            aload 3 /* entry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
            getstatic org.hibernate.engine.spi.Status.MANAGED:Lorg/hibernate/engine/spi/Status;
            if_acmpeq 5
         3: .line 419
            aload 3 /* entry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
            getstatic org.hibernate.engine.spi.Status.READ_ONLY:Lorg/hibernate/engine/spi/Status;
            if_acmpeq 5
         4: .line 420
            aload 3 /* entry */
            invokevirtual org.hibernate.engine.spi.EntityEntry.getStatus:()Lorg/hibernate/engine/spi/Status;
            getstatic org.hibernate.engine.spi.Status.SAVING:Lorg/hibernate/engine/spi/Status;
            if_acmpne 6
         5: .line 416
      StackMap locals: org.hibernate.engine.spi.EntityEntry
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 3 // org.hibernate.engine.spi.EntityEntry entry
        end local 2 // org.hibernate.event.spi.EventSource session
        end local 1 // java.lang.Object child
        end local 0 // org.hibernate.engine.spi.CascadingActions$8 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/hibernate/engine/spi/CascadingActions$8;
            0    7     1    child  Ljava/lang/Object;
            0    7     2  session  Lorg/hibernate/event/spi/EventSource;
            1    7     3    entry  Lorg/hibernate/engine/spi/EntityEntry;
    MethodParameters:
         Name  Flags
      child    
      session  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.CascadingActions$8 this
         0: .line 426
            ldc "ACTION_PERSIST_ON_FLUSH"
            areturn
        end local 0 // org.hibernate.engine.spi.CascadingActions$8 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/engine/spi/CascadingActions$8;
}
SourceFile: "CascadingActions.java"
EnclosingMethod: org.hibernate.engine.spi.CascadingActions
NestHost: org.hibernate.engine.spi.CascadingActions
InnerClasses:
  org.hibernate.engine.spi.CascadingActions$8
  public abstract BaseCascadingAction = org.hibernate.engine.spi.CascadingActions$BaseCascadingAction of org.hibernate.engine.spi.CascadingActions