public abstract class org.hibernate.proxy.AbstractLazyInitializer implements org.hibernate.proxy.LazyInitializer
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.proxy.AbstractLazyInitializer
  super_class: java.lang.Object
{
  private static final org.jboss.logging.Logger log;
    descriptor: Lorg/jboss/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.lang.String entityName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.io.Serializable id;
    descriptor: Ljava/io/Serializable;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object target;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private java.lang.Boolean readOnlyBeforeAttachedToSession;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String sessionFactoryUuid;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 51
            ldc Lorg/hibernate/proxy/AbstractLazyInitializer;
            invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
            putstatic org.hibernate.proxy.AbstractLazyInitializer.log:Lorg/jboss/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 68
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 69
            return
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  protected void <init>(java.lang.String, java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/lang/String;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
        start local 1 // java.lang.String entityName
        start local 2 // java.io.Serializable id
        start local 3 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 78
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 79
            aload 0 /* this */
            aload 1 /* entityName */
            putfield org.hibernate.proxy.AbstractLazyInitializer.entityName:Ljava/lang/String;
         2: .line 80
            aload 0 /* this */
            aload 2 /* id */
            putfield org.hibernate.proxy.AbstractLazyInitializer.id:Ljava/io/Serializable;
         3: .line 82
            aload 3 /* session */
            ifnonnull 6
         4: .line 83
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.unsetSession:()V
         5: .line 84
            goto 7
         6: .line 86
      StackMap locals: org.hibernate.proxy.AbstractLazyInitializer java.lang.String java.io.Serializable org.hibernate.engine.spi.SessionImplementor
      StackMap stack:
            aload 0 /* this */
            aload 3 /* session */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.setSession:(Lorg/hibernate/engine/spi/SessionImplementor;)V
         7: .line 88
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.engine.spi.SessionImplementor session
        end local 2 // java.io.Serializable id
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/hibernate/proxy/AbstractLazyInitializer;
            0    8     1  entityName  Ljava/lang/String;
            0    8     2          id  Ljava/io/Serializable;
            0    8     3     session  Lorg/hibernate/engine/spi/SessionImplementor;
    MethodParameters:
            Name  Flags
      entityName  
      id          
      session     

  public final java.lang.String getEntityName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 92
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.entityName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  public final java.io.Serializable getIdentifier();
    descriptor: ()Ljava/io/Serializable;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 97
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.id:Ljava/io/Serializable;
            areturn
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  public final void setIdentifier(java.io.Serializable);
    descriptor: (Ljava/io/Serializable;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
        start local 1 // java.io.Serializable id
         0: .line 102
            aload 0 /* this */
            aload 1 /* id */
            putfield org.hibernate.proxy.AbstractLazyInitializer.id:Ljava/io/Serializable;
         1: .line 103
            return
        end local 1 // java.io.Serializable id
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;
            0    2     1    id  Ljava/io/Serializable;
    MethodParameters:
      Name  Flags
      id    

  public final boolean isUninitialized();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 107
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.initialized: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.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

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

  public final void setSession(org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
        start local 1 // org.hibernate.engine.spi.SessionImplementor s
         0: .line 117
            aload 1 /* s */
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            if_acmpeq 15
         1: .line 119
            aload 1 /* s */
            ifnonnull 4
         2: .line 120
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.unsetSession:()V
         3: .line 121
            goto 15
         4: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.isConnectedToSession:()Z
            ifeq 6
         5: .line 124
            new org.hibernate.HibernateException
            dup
            ldc "illegally attempted to associate a proxy with two open Sessions"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            putfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
         7: .line 129
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.readOnlyBeforeAttachedToSession:Ljava/lang/Boolean;
            ifnonnull 13
         8: .line 131
            aload 1 /* s */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.entityName:Ljava/lang/String;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 2 /* persister */
        start local 2 // org.hibernate.persister.entity.EntityPersister persister
         9: .line 132
            aload 0 /* this */
            aload 1 /* s */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            invokeinterface org.hibernate.engine.spi.PersistenceContext.isDefaultReadOnly:()Z
            ifne 10
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.isMutable:()Z
            ifeq 10
            iconst_0
            goto 11
      StackMap locals: org.hibernate.proxy.AbstractLazyInitializer org.hibernate.engine.spi.SessionImplementor org.hibernate.persister.entity.EntityPersister
      StackMap stack: org.hibernate.proxy.AbstractLazyInitializer
        10: iconst_1
      StackMap locals: org.hibernate.proxy.AbstractLazyInitializer org.hibernate.engine.spi.SessionImplementor org.hibernate.persister.entity.EntityPersister
      StackMap stack: org.hibernate.proxy.AbstractLazyInitializer int
        11: invokevirtual org.hibernate.proxy.AbstractLazyInitializer.setReadOnly:(Z)V
        end local 2 // org.hibernate.persister.entity.EntityPersister persister
        12: .line 133
            goto 15
        13: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.readOnlyBeforeAttachedToSession:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.setReadOnly:(Z)V
        14: .line 137
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.proxy.AbstractLazyInitializer.readOnlyBeforeAttachedToSession:Ljava/lang/Boolean;
        15: .line 141
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hibernate.engine.spi.SessionImplementor s
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/hibernate/proxy/AbstractLazyInitializer;
            0   16     1          s  Lorg/hibernate/engine/spi/SessionImplementor;
            9   12     2  persister  Lorg/hibernate/persister/entity/EntityPersister;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
      Name  Flags
      s     

  private static org.hibernate.engine.spi.EntityKey generateEntityKeyOrNull(java.io.Serializable, org.hibernate.engine.spi.SessionImplementor, java.lang.String);
    descriptor: (Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/String;)Lorg/hibernate/engine/spi/EntityKey;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.Serializable id
        start local 1 // org.hibernate.engine.spi.SessionImplementor s
        start local 2 // java.lang.String entityName
         0: .line 144
            aload 0 /* id */
            ifnull 1
            aload 1 /* s */
            ifnull 1
            aload 2 /* entityName */
            ifnonnull 2
         1: .line 145
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 147
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            aload 0 /* id */
            aload 1 /* s */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 2 /* entityName */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.generateEntityKey:(Ljava/io/Serializable;Lorg/hibernate/persister/entity/EntityPersister;)Lorg/hibernate/engine/spi/EntityKey;
            areturn
        end local 2 // java.lang.String entityName
        end local 1 // org.hibernate.engine.spi.SessionImplementor s
        end local 0 // java.io.Serializable id
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0          id  Ljava/io/Serializable;
            0    3     1           s  Lorg/hibernate/engine/spi/SessionImplementor;
            0    3     2  entityName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      id          
      s           
      entityName  

  public final void unsetSession();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 152
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.prepareForPossibleLoadingOutsideTransaction:()V
         1: .line 153
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
         2: .line 154
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.proxy.AbstractLazyInitializer.readOnly:Z
         3: .line 155
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.proxy.AbstractLazyInitializer.readOnlyBeforeAttachedToSession:Ljava/lang/Boolean;
         4: .line 156
            return
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  public final void initialize();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 160
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.initialized:Z
            ifne 14
         1: .line 161
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.allowLoadOutsideTransaction:Z
            ifeq 4
         2: .line 162
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.permissiveInitialization:()V
         3: .line 163
            goto 15
         4: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnonnull 6
         5: .line 165
            new org.hibernate.LazyInitializationException
            dup
            ldc "could not initialize proxy - no Session"
            invokespecial org.hibernate.LazyInitializationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isOpen:()Z
            ifne 8
         7: .line 168
            new org.hibernate.LazyInitializationException
            dup
            ldc "could not initialize proxy - the owning Session was closed"
            invokespecial org.hibernate.LazyInitializationException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isConnected:()Z
            ifne 10
         9: .line 171
            new org.hibernate.LazyInitializationException
            dup
            ldc "could not initialize proxy - the owning Session is disconnected"
            invokespecial org.hibernate.LazyInitializationException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.entityName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.id:Ljava/io/Serializable;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.immediateLoad:(Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/Object;
            putfield org.hibernate.proxy.AbstractLazyInitializer.target:Ljava/lang/Object;
        11: .line 175
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.proxy.AbstractLazyInitializer.initialized:Z
        12: .line 176
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.checkTargetState:()V
        13: .line 178
            goto 15
        14: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.checkTargetState:()V
        15: .line 182
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;
    Exceptions:
      throws org.hibernate.HibernateException

  protected void permissiveInitialization();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 185
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnonnull 37
         1: .line 187
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.sessionFactoryUuid:Ljava/lang/String;
            ifnonnull 3
         2: .line 188
            new org.hibernate.LazyInitializationException
            dup
            ldc "could not initialize proxy - no Session"
            invokespecial org.hibernate.LazyInitializationException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 192
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.internal.SessionFactoryRegistry.INSTANCE:Lorg/hibernate/internal/SessionFactoryRegistry;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.sessionFactoryUuid:Ljava/lang/String;
            invokevirtual org.hibernate.internal.SessionFactoryRegistry.getSessionFactory:(Ljava/lang/String;)Lorg/hibernate/SessionFactory;
         4: .line 191
            checkcast org.hibernate.engine.spi.SessionFactoryImplementor
            astore 1 /* sf */
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sf
         5: .line 193
            aload 1 /* sf */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.openSession:()Lorg/hibernate/Session;
            checkcast org.hibernate.engine.spi.SessionImplementor
            astore 2 /* session */
        start local 2 // org.hibernate.engine.spi.SessionImplementor session
         6: .line 194
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            iconst_1
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setDefaultReadOnly:(Z)V
         7: .line 195
            aload 2 /* session */
            getstatic org.hibernate.FlushMode.MANUAL:Lorg/hibernate/FlushMode;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.setFlushMode:(Lorg/hibernate/FlushMode;)V
         8: .line 197
            aload 2 /* session */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getTransactionCoordinator:()Lorg/hibernate/engine/transaction/spi/TransactionCoordinator;
         9: .line 198
            invokeinterface org.hibernate.engine.transaction.spi.TransactionCoordinator.getTransactionContext:()Lorg/hibernate/engine/transaction/spi/TransactionContext;
            invokeinterface org.hibernate.engine.transaction.spi.TransactionContext.getTransactionEnvironment:()Lorg/hibernate/engine/transaction/spi/TransactionEnvironment;
        10: .line 199
            invokeinterface org.hibernate.engine.transaction.spi.TransactionEnvironment.getTransactionFactory:()Lorg/hibernate/engine/transaction/spi/TransactionFactory;
        11: .line 200
            invokeinterface org.hibernate.engine.transaction.spi.TransactionFactory.compatibleWithJtaSynchronization:()Z
        12: .line 197
            istore 3 /* isJTA */
        start local 3 // boolean isJTA
        13: .line 202
            iload 3 /* isJTA */
            ifne 15
        14: .line 208
            aload 2 /* session */
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.beginTransaction:()Lorg/hibernate/Transaction;
            pop
        15: .line 212
      StackMap locals: org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.engine.spi.SessionImplementor int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* session */
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.entityName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.id:Ljava/io/Serializable;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.immediateLoad:(Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/Object;
            putfield org.hibernate.proxy.AbstractLazyInitializer.target:Ljava/lang/Object;
        16: .line 213
            goto 25
        17: .line 214
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        18: .line 217
            iload 3 /* isJTA */
            ifne 20
        19: .line 218
            aload 2 /* session */
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.getTransaction:()Lorg/hibernate/Transaction;
            invokeinterface org.hibernate.Transaction.commit:()V
        20: .line 220
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2 /* session */
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.close:()Ljava/sql/Connection;
            pop
        21: .line 221
            goto 24
        22: .line 222
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        23: .line 223
            getstatic org.hibernate.proxy.AbstractLazyInitializer.log:Lorg/jboss/logging/Logger;
            ldc "Unable to close temporary session used to load lazy proxy associated to no session"
            invokevirtual org.jboss.logging.Logger.warn:(Ljava/lang/Object;)V
        24: .line 225
      StackMap locals:
      StackMap stack:
            aload 4
            athrow
        25: .line 217
      StackMap locals:
      StackMap stack:
            iload 3 /* isJTA */
            ifne 27
        26: .line 218
            aload 2 /* session */
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.getTransaction:()Lorg/hibernate/Transaction;
            invokeinterface org.hibernate.Transaction.commit:()V
        27: .line 220
      StackMap locals:
      StackMap stack:
            aload 2 /* session */
            checkcast org.hibernate.Session
            invokeinterface org.hibernate.Session.close:()Ljava/sql/Connection;
            pop
        28: .line 221
            goto 31
        29: .line 222
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        30: .line 223
            getstatic org.hibernate.proxy.AbstractLazyInitializer.log:Lorg/jboss/logging/Logger;
            ldc "Unable to close temporary session used to load lazy proxy associated to no session"
            invokevirtual org.jboss.logging.Logger.warn:(Ljava/lang/Object;)V
        31: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.proxy.AbstractLazyInitializer.initialized:Z
        32: .line 227
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.checkTargetState:()V
        end local 3 // boolean isJTA
        end local 2 // org.hibernate.engine.spi.SessionImplementor session
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sf
        33: .line 228
            goto 43
        34: .line 229
      StackMap locals: org.hibernate.proxy.AbstractLazyInitializer
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
        35: .line 230
            aload 1 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        36: .line 231
            new org.hibernate.LazyInitializationException
            dup
            aload 1 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial org.hibernate.LazyInitializationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Exception e
        37: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isOpen:()Z
            ifeq 42
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isConnected:()Z
            ifeq 42
        38: .line 235
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.entityName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.id:Ljava/io/Serializable;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.immediateLoad:(Ljava/lang/String;Ljava/io/Serializable;)Ljava/lang/Object;
            putfield org.hibernate.proxy.AbstractLazyInitializer.target:Ljava/lang/Object;
        39: .line 236
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.proxy.AbstractLazyInitializer.initialized:Z
        40: .line 237
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.checkTargetState:()V
        41: .line 238
            goto 43
        42: .line 240
      StackMap locals:
      StackMap stack:
            new org.hibernate.LazyInitializationException
            dup
            ldc "could not initialize proxy - Session was closed or disced"
            invokespecial org.hibernate.LazyInitializationException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 242
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0     this  Lorg/hibernate/proxy/AbstractLazyInitializer;
            5   33     1       sf  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            6   33     2  session  Lorg/hibernate/engine/spi/SessionImplementor;
           13   33     3    isJTA  Z
           35   37     1        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          15    17      17  any
          18    21      22  Class java.lang.Exception
          25    28      29  Class java.lang.Exception
           3    33      34  Class java.lang.Exception

  protected void prepareForPossibleLoadingOutsideTransaction();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 245
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnull 6
         1: .line 246
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.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.isInitializeLazyStateOutsideTransactionsEnabled:()Z
            putfield org.hibernate.proxy.AbstractLazyInitializer.allowLoadOutsideTransaction:Z
         2: .line 248
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.allowLoadOutsideTransaction:Z
            ifeq 6
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.sessionFactoryUuid:Ljava/lang/String;
            ifnonnull 6
         3: .line 250
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getReference:()Ljavax/naming/Reference;
            ldc "uuid"
            invokevirtual javax.naming.Reference.get:(Ljava/lang/String;)Ljavax/naming/RefAddr;
            invokevirtual javax.naming.RefAddr.getContent:()Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.hibernate.proxy.AbstractLazyInitializer.sessionFactoryUuid:Ljava/lang/String;
         4: .line 251
            goto 6
         5: .line 252
      StackMap locals:
      StackMap stack: javax.naming.NamingException
            pop
         6: .line 257
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;
      Exception table:
        from    to  target  type
           3     4       5  Class javax.naming.NamingException

  private void checkTargetState();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 260
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.unwrap:Z
            ifne 3
         1: .line 261
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.target:Ljava/lang/Object;
            ifnonnull 3
         2: .line 262
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.getSession:()Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityNotFoundDelegate:()Lorg/hibernate/proxy/EntityNotFoundDelegate;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.entityName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.id:Ljava/io/Serializable;
            invokeinterface org.hibernate.proxy.EntityNotFoundDelegate.handleEntityNotFound:(Ljava/lang/String;Ljava/io/Serializable;)V
         3: .line 265
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  protected final boolean isConnectedToSession();
    descriptor: ()Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 273
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.getProxyOrNull:()Ljava/lang/Object;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  private java.lang.Object getProxyOrNull();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 277
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.getIdentifier:()Ljava/io/Serializable;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.getEntityName:()Ljava/lang/String;
            invokestatic org.hibernate.proxy.AbstractLazyInitializer.generateEntityKeyOrNull:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/String;)Lorg/hibernate/engine/spi/EntityKey;
            astore 1 /* entityKey */
        start local 1 // org.hibernate.engine.spi.EntityKey entityKey
         1: .line 278
            aload 1 /* entityKey */
            ifnull 3
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnull 3
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isOpen:()Z
            ifeq 3
         2: .line 279
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 1 /* entityKey */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getProxy:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
            areturn
         3: .line 281
      StackMap locals: org.hibernate.engine.spi.EntityKey
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.hibernate.engine.spi.EntityKey entityKey
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/hibernate/proxy/AbstractLazyInitializer;
            1    4     1  entityKey  Lorg/hibernate/engine/spi/EntityKey;

  public final java.lang.Object getImplementation();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 286
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.initialize:()V
         1: .line 287
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.target:Ljava/lang/Object;
            areturn
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  public final void setImplementation(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
        start local 1 // java.lang.Object target
         0: .line 292
            aload 0 /* this */
            aload 1 /* target */
            putfield org.hibernate.proxy.AbstractLazyInitializer.target:Ljava/lang/Object;
         1: .line 293
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.proxy.AbstractLazyInitializer.initialized:Z
         2: .line 294
            return
        end local 1 // java.lang.Object target
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/proxy/AbstractLazyInitializer;
            0    3     1  target  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      target  

  public final java.lang.Object getImplementation(org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
        start local 1 // org.hibernate.engine.spi.SessionImplementor s
         0: .line 298
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.getIdentifier:()Ljava/io/Serializable;
            aload 1 /* s */
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.getEntityName:()Ljava/lang/String;
            invokestatic org.hibernate.proxy.AbstractLazyInitializer.generateEntityKeyOrNull:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/String;)Lorg/hibernate/engine/spi/EntityKey;
            astore 2 /* entityKey */
        start local 2 // org.hibernate.engine.spi.EntityKey entityKey
         1: .line 299
            aload 2 /* entityKey */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.hibernate.engine.spi.EntityKey
      StackMap stack:
         2: aload 1 /* s */
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 2 /* entityKey */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.getEntity:(Lorg/hibernate/engine/spi/EntityKey;)Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 2 // org.hibernate.engine.spi.EntityKey entityKey
        end local 1 // org.hibernate.engine.spi.SessionImplementor s
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/hibernate/proxy/AbstractLazyInitializer;
            0    4     1          s  Lorg/hibernate/engine/spi/SessionImplementor;
            1    4     2  entityKey  Lorg/hibernate/engine/spi/EntityKey;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
      Name  Flags
      s     

  protected final java.lang.Object getTarget();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 310
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.target:Ljava/lang/Object;
            areturn
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  public final boolean isReadOnlySettingAvailable();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 315
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnull 1
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isClosed:()Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  private void errorIfReadOnlySettingNotAvailable();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 319
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            ifnonnull 4
         1: .line 320
            new org.hibernate.TransientObjectException
            dup
         2: .line 321
            ldc "Proxy is detached (i.e, session is null). The read-only/modifiable setting is only accessible when the proxy is associated with an open session."
         3: .line 320
            invokespecial org.hibernate.TransientObjectException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.isClosed:()Z
            ifeq 8
         5: .line 325
            new org.hibernate.SessionException
            dup
         6: .line 326
            ldc "Session is closed. The read-only/modifiable setting is only accessible when the proxy is associated with an open session."
         7: .line 325
            invokespecial org.hibernate.SessionException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 329
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  public final boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 333
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.errorIfReadOnlySettingNotAvailable:()V
         1: .line 334
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.readOnly:Z
            ireturn
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  public final void setReadOnly(boolean);
    descriptor: (Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
        start local 1 // boolean readOnly
         0: .line 339
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.errorIfReadOnlySettingNotAvailable:()V
         1: .line 341
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.readOnly:Z
            iload 1 /* readOnly */
            if_icmpeq 10
         2: .line 342
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.entityName:Ljava/lang/String;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 2 /* persister */
        start local 2 // org.hibernate.persister.entity.EntityPersister persister
         3: .line 343
            aload 2 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.isMutable:()Z
            ifne 5
            iload 1 /* readOnly */
            ifne 5
         4: .line 344
            new java.lang.IllegalStateException
            dup
            ldc "cannot make proxies for immutable entities modifiable"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 346
      StackMap locals: org.hibernate.persister.entity.EntityPersister
      StackMap stack:
            aload 0 /* this */
            iload 1 /* readOnly */
            putfield org.hibernate.proxy.AbstractLazyInitializer.readOnly:Z
         6: .line 347
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.initialized:Z
            ifeq 10
         7: .line 348
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.getIdentifier:()Ljava/io/Serializable;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.getEntityName:()Ljava/lang/String;
            invokestatic org.hibernate.proxy.AbstractLazyInitializer.generateEntityKeyOrNull:(Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/String;)Lorg/hibernate/engine/spi/EntityKey;
            astore 3 /* key */
        start local 3 // org.hibernate.engine.spi.EntityKey key
         8: .line 349
            aload 3 /* key */
            ifnull 10
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 3 /* key */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.containsEntity:(Lorg/hibernate/engine/spi/EntityKey;)Z
            ifeq 10
         9: .line 350
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.session:Lorg/hibernate/engine/spi/SessionImplementor;
            invokeinterface org.hibernate.engine.spi.SessionImplementor.getPersistenceContext:()Lorg/hibernate/engine/spi/PersistenceContext;
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.target:Ljava/lang/Object;
            iload 1 /* readOnly */
            invokeinterface org.hibernate.engine.spi.PersistenceContext.setReadOnly:(Ljava/lang/Object;Z)V
        end local 3 // org.hibernate.engine.spi.EntityKey key
        end local 2 // org.hibernate.persister.entity.EntityPersister persister
        10: .line 354
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean readOnly
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/hibernate/proxy/AbstractLazyInitializer;
            0   11     1   readOnly  Z
            3   10     2  persister  Lorg/hibernate/persister/entity/EntityPersister;
            8   10     3        key  Lorg/hibernate/engine/spi/EntityKey;
    MethodParameters:
          Name  Flags
      readOnly  

  protected final java.lang.Boolean isReadOnlyBeforeAttachedToSession();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 370
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.isReadOnlySettingAvailable:()Z
            ifeq 4
         1: .line 371
            new java.lang.IllegalStateException
            dup
         2: .line 372
            ldc "Cannot call isReadOnlyBeforeAttachedToSession when isReadOnlySettingAvailable == true"
         3: .line 371
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.readOnlyBeforeAttachedToSession:Ljava/lang/Boolean;
            areturn
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  final void setReadOnlyBeforeAttachedToSession(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
        start local 1 // java.lang.Boolean readOnlyBeforeAttachedToSession
         0: .line 392
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.AbstractLazyInitializer.isReadOnlySettingAvailable:()Z
            ifeq 4
         1: .line 393
            new java.lang.IllegalStateException
            dup
         2: .line 394
            ldc "Cannot call setReadOnlyBeforeAttachedToSession when isReadOnlySettingAvailable == true"
         3: .line 393
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* readOnlyBeforeAttachedToSession */
            putfield org.hibernate.proxy.AbstractLazyInitializer.readOnlyBeforeAttachedToSession:Ljava/lang/Boolean;
         5: .line 398
            return
        end local 1 // java.lang.Boolean readOnlyBeforeAttachedToSession
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0    6     0                             this  Lorg/hibernate/proxy/AbstractLazyInitializer;
            0    6     1  readOnlyBeforeAttachedToSession  Ljava/lang/Boolean;
    MethodParameters:
                                 Name  Flags
      readOnlyBeforeAttachedToSession  

  public boolean isUnwrap();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
         0: .line 402
            aload 0 /* this */
            getfield org.hibernate.proxy.AbstractLazyInitializer.unwrap:Z
            ireturn
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/proxy/AbstractLazyInitializer;

  public void setUnwrap(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.proxy.AbstractLazyInitializer this
        start local 1 // boolean unwrap
         0: .line 407
            aload 0 /* this */
            iload 1 /* unwrap */
            putfield org.hibernate.proxy.AbstractLazyInitializer.unwrap:Z
         1: .line 408
            return
        end local 1 // boolean unwrap
        end local 0 // org.hibernate.proxy.AbstractLazyInitializer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/proxy/AbstractLazyInitializer;
            0    2     1  unwrap  Z
    MethodParameters:
        Name  Flags
      unwrap  
}
SourceFile: "AbstractLazyInitializer.java"