class org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl implements org.hibernate.IdentifierLoadAccess
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl
  super_class: java.lang.Object
{
  private final org.hibernate.persister.entity.EntityPersister entityPersister;
    descriptor: Lorg/hibernate/persister/entity/EntityPersister;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.hibernate.LockOptions lockOptions;
    descriptor: Lorg/hibernate/LockOptions;
    flags: (0x0002) ACC_PRIVATE

  final org.hibernate.internal.SessionImpl this$0;
    descriptor: Lorg/hibernate/internal/SessionImpl;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.hibernate.internal.SessionImpl, org.hibernate.persister.entity.EntityPersister);
    descriptor: (Lorg/hibernate/internal/SessionImpl;Lorg/hibernate/persister/entity/EntityPersister;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
        start local 2 // org.hibernate.persister.entity.EntityPersister entityPersister
         0: .line 2535
            aload 0 /* this */
            aload 1
            putfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 2536
            aload 0 /* this */
            aload 2 /* entityPersister */
            putfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
         2: .line 2537
            return
        end local 2 // org.hibernate.persister.entity.EntityPersister entityPersister
        end local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/hibernate/internal/SessionImpl$IdentifierLoadAccessImpl;
            0    3     2  entityPersister  Lorg/hibernate/persister/entity/EntityPersister;
    MethodParameters:
                 Name  Flags
      this$0           final
      entityPersister  

  private void <init>(org.hibernate.internal.SessionImpl, java.lang.String);
    descriptor: (Lorg/hibernate/internal/SessionImpl;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
        start local 2 // java.lang.String entityName
         0: .line 2540
            aload 0 /* this */
            aload 1
            aload 1
            aload 2 /* entityName */
            invokevirtual org.hibernate.internal.SessionImpl.locateEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            invokespecial org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.<init>:(Lorg/hibernate/internal/SessionImpl;Lorg/hibernate/persister/entity/EntityPersister;)V
         1: .line 2541
            return
        end local 2 // java.lang.String entityName
        end local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/internal/SessionImpl$IdentifierLoadAccessImpl;
            0    2     2  entityName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      this$0      final
      entityName  

  private void <init>(org.hibernate.internal.SessionImpl, java.lang.Class);
    descriptor: (Lorg/hibernate/internal/SessionImpl;Ljava/lang/Class;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
        start local 2 // java.lang.Class entityClass
         0: .line 2544
            aload 0 /* this */
            aload 1
            aload 2 /* entityClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.<init>:(Lorg/hibernate/internal/SessionImpl;Ljava/lang/String;)V
         1: .line 2545
            return
        end local 2 // java.lang.Class entityClass
        end local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hibernate/internal/SessionImpl$IdentifierLoadAccessImpl;
            0    2     2  entityClass  Ljava/lang/Class;
    MethodParameters:
             Name  Flags
      this$0       final
      entityClass  

  public final org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl with(org.hibernate.LockOptions);
    descriptor: (Lorg/hibernate/LockOptions;)Lorg/hibernate/internal/SessionImpl$IdentifierLoadAccessImpl;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
        start local 1 // org.hibernate.LockOptions lockOptions
         0: .line 2549
            aload 0 /* this */
            aload 1 /* lockOptions */
            putfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.lockOptions:Lorg/hibernate/LockOptions;
         1: .line 2550
            aload 0 /* this */
            areturn
        end local 1 // org.hibernate.LockOptions lockOptions
        end local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hibernate/internal/SessionImpl$IdentifierLoadAccessImpl;
            0    2     1  lockOptions  Lorg/hibernate/LockOptions;
    MethodParameters:
             Name  Flags
      lockOptions  

  public final java.lang.Object getReference(java.io.Serializable);
    descriptor: (Ljava/io/Serializable;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
        start local 1 // java.io.Serializable id
         0: .line 2555
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.lockOptions:Lorg/hibernate/LockOptions;
            ifnull 4
         1: .line 2556
            new org.hibernate.event.spi.LoadEvent
            dup
            aload 1 /* id */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.lockOptions:Lorg/hibernate/LockOptions;
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            invokespecial org.hibernate.event.spi.LoadEvent.<init>:(Ljava/io/Serializable;Ljava/lang/String;Lorg/hibernate/LockOptions;Lorg/hibernate/event/spi/EventSource;)V
            astore 2 /* event */
        start local 2 // org.hibernate.event.spi.LoadEvent event
         2: .line 2557
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            aload 2 /* event */
            getstatic org.hibernate.event.spi.LoadEventListener.LOAD:Lorg/hibernate/event/spi/LoadEventListener$LoadType;
            invokevirtual org.hibernate.internal.SessionImpl.fireLoad:(Lorg/hibernate/event/spi/LoadEvent;Lorg/hibernate/event/spi/LoadEventListener$LoadType;)V
         3: .line 2558
            aload 2 /* event */
            invokevirtual org.hibernate.event.spi.LoadEvent.getResult:()Ljava/lang/Object;
            areturn
        end local 2 // org.hibernate.event.spi.LoadEvent event
         4: .line 2561
      StackMap locals:
      StackMap stack:
            new org.hibernate.event.spi.LoadEvent
            dup
            aload 1 /* id */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            invokespecial org.hibernate.event.spi.LoadEvent.<init>:(Ljava/io/Serializable;Ljava/lang/String;ZLorg/hibernate/event/spi/EventSource;)V
            astore 2 /* event */
        start local 2 // org.hibernate.event.spi.LoadEvent event
         5: .line 2562
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
         6: .line 2564
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            aload 2 /* event */
            getstatic org.hibernate.event.spi.LoadEventListener.LOAD:Lorg/hibernate/event/spi/LoadEventListener$LoadType;
            invokevirtual org.hibernate.internal.SessionImpl.fireLoad:(Lorg/hibernate/event/spi/LoadEvent;Lorg/hibernate/event/spi/LoadEventListener$LoadType;)V
         7: .line 2565
            aload 2 /* event */
            invokevirtual org.hibernate.event.spi.LoadEvent.getResult:()Ljava/lang/Object;
            ifnonnull 9
         8: .line 2566
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            invokevirtual org.hibernate.internal.SessionImpl.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityNotFoundDelegate:()Lorg/hibernate/proxy/EntityNotFoundDelegate;
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            aload 1 /* id */
            invokeinterface org.hibernate.proxy.EntityNotFoundDelegate.handleEntityNotFound:(Ljava/lang/String;Ljava/io/Serializable;)V
         9: .line 2568
      StackMap locals: org.hibernate.event.spi.LoadEvent int
      StackMap stack:
            iconst_1
            istore 3 /* success */
        10: .line 2569
            aload 2 /* event */
            invokevirtual org.hibernate.event.spi.LoadEvent.getResult:()Ljava/lang/Object;
            astore 5
        11: .line 2572
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            iload 3 /* success */
            invokevirtual org.hibernate.internal.SessionImpl.afterOperation:(Z)V
        12: .line 2569
            aload 5
            areturn
        13: .line 2571
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        14: .line 2572
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            iload 3 /* success */
            invokevirtual org.hibernate.internal.SessionImpl.afterOperation:(Z)V
        15: .line 2573
            aload 4
            athrow
        end local 3 // boolean success
        end local 2 // org.hibernate.event.spi.LoadEvent event
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/hibernate/internal/SessionImpl$IdentifierLoadAccessImpl;
            0   16     1       id  Ljava/io/Serializable;
            2    4     2    event  Lorg/hibernate/event/spi/LoadEvent;
            5   16     2    event  Lorg/hibernate/event/spi/LoadEvent;
            6   16     3  success  Z
      Exception table:
        from    to  target  type
           6    11      13  any
    MethodParameters:
      Name  Flags
      id    

  public final java.lang.Object load(java.io.Serializable);
    descriptor: (Ljava/io/Serializable;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
        start local 1 // java.io.Serializable id
         0: .line 2578
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.lockOptions:Lorg/hibernate/LockOptions;
            ifnull 4
         1: .line 2579
            new org.hibernate.event.spi.LoadEvent
            dup
            aload 1 /* id */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.lockOptions:Lorg/hibernate/LockOptions;
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            invokespecial org.hibernate.event.spi.LoadEvent.<init>:(Ljava/io/Serializable;Ljava/lang/String;Lorg/hibernate/LockOptions;Lorg/hibernate/event/spi/EventSource;)V
            astore 2 /* event */
        start local 2 // org.hibernate.event.spi.LoadEvent event
         2: .line 2580
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            aload 2 /* event */
            getstatic org.hibernate.event.spi.LoadEventListener.GET:Lorg/hibernate/event/spi/LoadEventListener$LoadType;
            invokevirtual org.hibernate.internal.SessionImpl.fireLoad:(Lorg/hibernate/event/spi/LoadEvent;Lorg/hibernate/event/spi/LoadEventListener$LoadType;)V
         3: .line 2581
            aload 2 /* event */
            invokevirtual org.hibernate.event.spi.LoadEvent.getResult:()Ljava/lang/Object;
            areturn
        end local 2 // org.hibernate.event.spi.LoadEvent event
         4: .line 2584
      StackMap locals:
      StackMap stack:
            new org.hibernate.event.spi.LoadEvent
            dup
            aload 1 /* id */
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.entityPersister:Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.persister.entity.EntityPersister.getEntityName:()Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            invokespecial org.hibernate.event.spi.LoadEvent.<init>:(Ljava/io/Serializable;Ljava/lang/String;ZLorg/hibernate/event/spi/EventSource;)V
            astore 2 /* event */
        start local 2 // org.hibernate.event.spi.LoadEvent event
         5: .line 2585
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
         6: .line 2587
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            aload 2 /* event */
            getstatic org.hibernate.event.spi.LoadEventListener.GET:Lorg/hibernate/event/spi/LoadEventListener$LoadType;
            invokevirtual org.hibernate.internal.SessionImpl.fireLoad:(Lorg/hibernate/event/spi/LoadEvent;Lorg/hibernate/event/spi/LoadEventListener$LoadType;)V
         7: .line 2588
            iconst_1
            istore 3 /* success */
         8: .line 2589
            goto 14
         9: .line 2590
      StackMap locals: org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl java.io.Serializable org.hibernate.event.spi.LoadEvent int
      StackMap stack: org.hibernate.ObjectNotFoundException
            pop
        10: .line 2594
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            iload 3 /* success */
            invokevirtual org.hibernate.internal.SessionImpl.afterOperation:(Z)V
            goto 15
        11: .line 2593
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        12: .line 2594
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            iload 3 /* success */
            invokevirtual org.hibernate.internal.SessionImpl.afterOperation:(Z)V
        13: .line 2595
            aload 4
            athrow
        14: .line 2594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.this$0:Lorg/hibernate/internal/SessionImpl;
            iload 3 /* success */
            invokevirtual org.hibernate.internal.SessionImpl.afterOperation:(Z)V
        15: .line 2596
      StackMap locals:
      StackMap stack:
            aload 2 /* event */
            invokevirtual org.hibernate.event.spi.LoadEvent.getResult:()Ljava/lang/Object;
            areturn
        end local 3 // boolean success
        end local 2 // org.hibernate.event.spi.LoadEvent event
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/hibernate/internal/SessionImpl$IdentifierLoadAccessImpl;
            0   16     1       id  Ljava/io/Serializable;
            2    4     2    event  Lorg/hibernate/event/spi/LoadEvent;
            5   16     2    event  Lorg/hibernate/event/spi/LoadEvent;
            6   16     3  success  Z
      Exception table:
        from    to  target  type
           6     8       9  Class org.hibernate.ObjectNotFoundException
           6    10      11  any
    MethodParameters:
      Name  Flags
      id    

  public org.hibernate.IdentifierLoadAccess with(org.hibernate.LockOptions);
    descriptor: (Lorg/hibernate/LockOptions;)Lorg/hibernate/IdentifierLoadAccess;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.with:(Lorg/hibernate/LockOptions;)Lorg/hibernate/internal/SessionImpl$IdentifierLoadAccessImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SessionImpl.java"
NestHost: org.hibernate.internal.SessionImpl
InnerClasses:
  public final LoadType = org.hibernate.event.spi.LoadEventListener$LoadType of org.hibernate.event.spi.LoadEventListener
  private IdentifierLoadAccessImpl = org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl of org.hibernate.internal.SessionImpl