public class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer extends org.hibernate.proxy.pojo.BasicLazyInitializer implements javassist.util.proxy.MethodHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer
  super_class: org.hibernate.proxy.pojo.BasicLazyInitializer
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final javassist.util.proxy.MethodFilter FINALIZE_FILTER;
    descriptor: Ljavassist/util/proxy/MethodFilter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.lang.Class[] interfaces;
    descriptor: [Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 50
            ldc Lorg/hibernate/proxy/pojo/javassist/JavassistLazyInitializer;
            invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
            putstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 52
            new org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer$1
            dup
            invokespecial org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer$1.<init>:()V
            putstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.FINALIZE_FILTER:Ljavassist/util/proxy/MethodFilter;
         2: .line 57
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.String, java.lang.Class, java.lang.Class[], java.io.Serializable, java.lang.reflect.Method, java.lang.reflect.Method, org.hibernate.type.CompositeType, org.hibernate.engine.spi.SessionImplementor, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;Ljava/io/Serializable;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Lorg/hibernate/type/CompositeType;Lorg/hibernate/engine/spi/SessionImplementor;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=10
        start local 0 // org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer this
        start local 1 // java.lang.String entityName
        start local 2 // java.lang.Class persistentClass
        start local 3 // java.lang.Class[] interfaces
        start local 4 // java.io.Serializable id
        start local 5 // java.lang.reflect.Method getIdentifierMethod
        start local 6 // java.lang.reflect.Method setIdentifierMethod
        start local 7 // org.hibernate.type.CompositeType componentIdType
        start local 8 // org.hibernate.engine.spi.SessionImplementor session
        start local 9 // boolean overridesEquals
         0: .line 72
            aload 0 /* this */
            aload 1 /* entityName */
            aload 2 /* persistentClass */
            aload 4 /* id */
            aload 5 /* getIdentifierMethod */
            aload 6 /* setIdentifierMethod */
            aload 7 /* componentIdType */
            aload 8 /* session */
            iload 9 /* overridesEquals */
            invokespecial org.hibernate.proxy.pojo.BasicLazyInitializer.<init>:(Ljava/lang/String;Ljava/lang/Class;Ljava/io/Serializable;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Lorg/hibernate/type/CompositeType;Lorg/hibernate/engine/spi/SessionImplementor;Z)V
         1: .line 73
            aload 0 /* this */
            aload 3 /* interfaces */
            putfield org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.interfaces:[Ljava/lang/Class;
         2: .line 74
            return
        end local 9 // boolean overridesEquals
        end local 8 // org.hibernate.engine.spi.SessionImplementor session
        end local 7 // org.hibernate.type.CompositeType componentIdType
        end local 6 // java.lang.reflect.Method setIdentifierMethod
        end local 5 // java.lang.reflect.Method getIdentifierMethod
        end local 4 // java.io.Serializable id
        end local 3 // java.lang.Class[] interfaces
        end local 2 // java.lang.Class persistentClass
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/hibernate/proxy/pojo/javassist/JavassistLazyInitializer;
            0    3     1           entityName  Ljava/lang/String;
            0    3     2      persistentClass  Ljava/lang/Class;
            0    3     3           interfaces  [Ljava/lang/Class;
            0    3     4                   id  Ljava/io/Serializable;
            0    3     5  getIdentifierMethod  Ljava/lang/reflect/Method;
            0    3     6  setIdentifierMethod  Ljava/lang/reflect/Method;
            0    3     7      componentIdType  Lorg/hibernate/type/CompositeType;
            0    3     8              session  Lorg/hibernate/engine/spi/SessionImplementor;
            0    3     9      overridesEquals  Z
    MethodParameters:
                     Name  Flags
      entityName           final
      persistentClass      final
      interfaces           final
      id                   final
      getIdentifierMethod  final
      setIdentifierMethod  final
      componentIdType      final
      session              final
      overridesEquals      final

  public static org.hibernate.proxy.HibernateProxy getProxy(java.lang.String, java.lang.Class, java.lang.Class[], java.lang.reflect.Method, java.lang.reflect.Method, org.hibernate.type.CompositeType, java.io.Serializable, org.hibernate.engine.spi.SessionImplementor);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Lorg/hibernate/type/CompositeType;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;)Lorg/hibernate/proxy/HibernateProxy;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=12, args_size=8
        start local 0 // java.lang.String entityName
        start local 1 // java.lang.Class persistentClass
        start local 2 // java.lang.Class[] interfaces
        start local 3 // java.lang.reflect.Method getIdentifierMethod
        start local 4 // java.lang.reflect.Method setIdentifierMethod
        start local 5 // org.hibernate.type.CompositeType componentIdType
        start local 6 // java.io.Serializable id
        start local 7 // org.hibernate.engine.spi.SessionImplementor session
         0: .line 87
            new org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer
            dup
         1: .line 88
            aload 0 /* entityName */
         2: .line 89
            aload 1 /* persistentClass */
         3: .line 90
            aload 2 /* interfaces */
         4: .line 91
            aload 6 /* id */
         5: .line 92
            aload 3 /* getIdentifierMethod */
         6: .line 93
            aload 4 /* setIdentifierMethod */
         7: .line 94
            aload 5 /* componentIdType */
         8: .line 95
            aload 7 /* session */
         9: .line 96
            aload 1 /* persistentClass */
            invokestatic org.hibernate.internal.util.ReflectHelper.overridesEquals:(Ljava/lang/Class;)Z
        10: .line 87
            invokespecial org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;Ljava/io/Serializable;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Lorg/hibernate/type/CompositeType;Lorg/hibernate/engine/spi/SessionImplementor;Z)V
            astore 8 /* instance */
        start local 8 // org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer instance
        11: .line 98
            new javassist.util.proxy.ProxyFactory
            dup
            invokespecial javassist.util.proxy.ProxyFactory.<init>:()V
            astore 9 /* factory */
        start local 9 // javassist.util.proxy.ProxyFactory factory
        12: .line 99
            aload 9 /* factory */
            aload 2 /* interfaces */
            arraylength
            iconst_1
            if_icmpne 13
            aload 1 /* persistentClass */
            goto 14
      StackMap locals: java.lang.String java.lang.Class java.lang.Class[] java.lang.reflect.Method java.lang.reflect.Method org.hibernate.type.CompositeType java.io.Serializable org.hibernate.engine.spi.SessionImplementor org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer javassist.util.proxy.ProxyFactory
      StackMap stack: javassist.util.proxy.ProxyFactory
        13: aconst_null
      StackMap locals: java.lang.String java.lang.Class java.lang.Class[] java.lang.reflect.Method java.lang.reflect.Method org.hibernate.type.CompositeType java.io.Serializable org.hibernate.engine.spi.SessionImplementor org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer javassist.util.proxy.ProxyFactory
      StackMap stack: javassist.util.proxy.ProxyFactory java.lang.Class
        14: invokevirtual javassist.util.proxy.ProxyFactory.setSuperclass:(Ljava/lang/Class;)V
        15: .line 100
            aload 9 /* factory */
            aload 2 /* interfaces */
            invokevirtual javassist.util.proxy.ProxyFactory.setInterfaces:([Ljava/lang/Class;)V
        16: .line 101
            aload 9 /* factory */
            getstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.FINALIZE_FILTER:Ljavassist/util/proxy/MethodFilter;
            invokevirtual javassist.util.proxy.ProxyFactory.setFilter:(Ljavassist/util/proxy/MethodFilter;)V
        17: .line 102
            aload 9 /* factory */
            invokevirtual javassist.util.proxy.ProxyFactory.createClass:()Ljava/lang/Class;
            astore 10 /* cl */
        start local 10 // java.lang.Class cl
        18: .line 103
            aload 10 /* cl */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.hibernate.proxy.HibernateProxy
            astore 11 /* proxy */
        start local 11 // org.hibernate.proxy.HibernateProxy proxy
        19: .line 104
            aload 11 /* proxy */
            checkcast javassist.util.proxy.Proxy
            aload 8 /* instance */
            invokeinterface javassist.util.proxy.Proxy.setHandler:(Ljavassist/util/proxy/MethodHandler;)V
        20: .line 105
            aload 8 /* instance */
            iconst_1
            putfield org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.constructed:Z
        21: .line 106
            aload 11 /* proxy */
        22: areturn
        end local 11 // org.hibernate.proxy.HibernateProxy proxy
        end local 10 // java.lang.Class cl
        end local 9 // javassist.util.proxy.ProxyFactory factory
        end local 8 // org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer instance
        23: .line 108
      StackMap locals: java.lang.String java.lang.Class java.lang.Class[] java.lang.reflect.Method java.lang.reflect.Method org.hibernate.type.CompositeType java.io.Serializable org.hibernate.engine.spi.SessionImplementor
      StackMap stack: java.lang.Throwable
            astore 8 /* t */
        start local 8 // java.lang.Throwable t
        24: .line 109
            getstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            getstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 0 /* entityName */
            invokeinterface org.hibernate.internal.CoreMessageLogger.javassistEnhancementFailed:(Ljava/lang/String;)Ljava/lang/String;
            aload 8 /* t */
            invokeinterface org.hibernate.internal.CoreMessageLogger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        25: .line 110
            new org.hibernate.HibernateException
            dup
            getstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 0 /* entityName */
            invokeinterface org.hibernate.internal.CoreMessageLogger.javassistEnhancementFailed:(Ljava/lang/String;)Ljava/lang/String;
            aload 8 /* t */
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Throwable t
        end local 7 // org.hibernate.engine.spi.SessionImplementor session
        end local 6 // java.io.Serializable id
        end local 5 // org.hibernate.type.CompositeType componentIdType
        end local 4 // java.lang.reflect.Method setIdentifierMethod
        end local 3 // java.lang.reflect.Method getIdentifierMethod
        end local 2 // java.lang.Class[] interfaces
        end local 1 // java.lang.Class persistentClass
        end local 0 // java.lang.String entityName
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   26     0           entityName  Ljava/lang/String;
            0   26     1      persistentClass  Ljava/lang/Class;
            0   26     2           interfaces  [Ljava/lang/Class;
            0   26     3  getIdentifierMethod  Ljava/lang/reflect/Method;
            0   26     4  setIdentifierMethod  Ljava/lang/reflect/Method;
            0   26     5      componentIdType  Lorg/hibernate/type/CompositeType;
            0   26     6                   id  Ljava/io/Serializable;
            0   26     7              session  Lorg/hibernate/engine/spi/SessionImplementor;
           11   23     8             instance  Lorg/hibernate/proxy/pojo/javassist/JavassistLazyInitializer;
           12   23     9              factory  Ljavassist/util/proxy/ProxyFactory;
           18   23    10                   cl  Ljava/lang/Class;
           19   23    11                proxy  Lorg/hibernate/proxy/HibernateProxy;
           24   26     8                    t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0    22      23  Class java.lang.Throwable
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                     Name  Flags
      entityName           final
      persistentClass      final
      interfaces           final
      getIdentifierMethod  final
      setIdentifierMethod  final
      componentIdType      
      id                   final
      session              final

  public static org.hibernate.proxy.HibernateProxy getProxy(java.lang.Class, java.lang.String, java.lang.Class, java.lang.Class[], java.lang.reflect.Method, java.lang.reflect.Method, org.hibernate.type.CompositeType, java.io.Serializable, org.hibernate.engine.spi.SessionImplementor, boolean);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Lorg/hibernate/type/CompositeType;Ljava/io/Serializable;Lorg/hibernate/engine/spi/SessionImplementor;Z)Lorg/hibernate/proxy/HibernateProxy;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=13, args_size=10
        start local 0 // java.lang.Class factory
        start local 1 // java.lang.String entityName
        start local 2 // java.lang.Class persistentClass
        start local 3 // java.lang.Class[] interfaces
        start local 4 // java.lang.reflect.Method getIdentifierMethod
        start local 5 // java.lang.reflect.Method setIdentifierMethod
        start local 6 // org.hibernate.type.CompositeType componentIdType
        start local 7 // java.io.Serializable id
        start local 8 // org.hibernate.engine.spi.SessionImplementor session
        start local 9 // boolean classOverridesEquals
         0: .line 126
            new org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer
            dup
         1: .line 127
            aload 1 /* entityName */
         2: .line 128
            aload 2 /* persistentClass */
         3: .line 129
            aload 3 /* interfaces */
            aload 7 /* id */
         4: .line 130
            aload 4 /* getIdentifierMethod */
         5: .line 131
            aload 5 /* setIdentifierMethod */
         6: .line 132
            aload 6 /* componentIdType */
         7: .line 133
            aload 8 /* session */
         8: .line 134
            iload 9 /* classOverridesEquals */
         9: .line 126
            invokespecial org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;Ljava/io/Serializable;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Lorg/hibernate/type/CompositeType;Lorg/hibernate/engine/spi/SessionImplementor;Z)V
            astore 10 /* instance */
        start local 10 // org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer instance
        10: .line 139
            aload 0 /* factory */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.hibernate.proxy.HibernateProxy
            astore 11 /* proxy */
        start local 11 // org.hibernate.proxy.HibernateProxy proxy
        11: .line 140
            goto 19
        end local 11 // org.hibernate.proxy.HibernateProxy proxy
        12: .line 141
      StackMap locals: java.lang.Class java.lang.String java.lang.Class java.lang.Class[] java.lang.reflect.Method java.lang.reflect.Method org.hibernate.type.CompositeType java.io.Serializable org.hibernate.engine.spi.SessionImplementor int org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer
      StackMap stack: java.lang.Exception
            astore 12 /* e */
        start local 12 // java.lang.Exception e
        13: .line 142
            new org.hibernate.HibernateException
            dup
        14: .line 143
            new java.lang.StringBuilder
            dup
            ldc "Javassist Enhancement failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 144
            aload 2 /* persistentClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 143
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 144
            aload 12 /* e */
        18: .line 142
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.lang.Exception e
        start local 11 // org.hibernate.proxy.HibernateProxy proxy
        19: .line 147
      StackMap locals: org.hibernate.proxy.HibernateProxy
      StackMap stack:
            aload 11 /* proxy */
            checkcast javassist.util.proxy.Proxy
            aload 10 /* instance */
            invokeinterface javassist.util.proxy.Proxy.setHandler:(Ljavassist/util/proxy/MethodHandler;)V
        20: .line 148
            aload 10 /* instance */
            iconst_1
            putfield org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.constructed:Z
        21: .line 149
            aload 11 /* proxy */
            areturn
        end local 11 // org.hibernate.proxy.HibernateProxy proxy
        end local 10 // org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer instance
        end local 9 // boolean classOverridesEquals
        end local 8 // org.hibernate.engine.spi.SessionImplementor session
        end local 7 // java.io.Serializable id
        end local 6 // org.hibernate.type.CompositeType componentIdType
        end local 5 // java.lang.reflect.Method setIdentifierMethod
        end local 4 // java.lang.reflect.Method getIdentifierMethod
        end local 3 // java.lang.Class[] interfaces
        end local 2 // java.lang.Class persistentClass
        end local 1 // java.lang.String entityName
        end local 0 // java.lang.Class factory
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   22     0               factory  Ljava/lang/Class;
            0   22     1            entityName  Ljava/lang/String;
            0   22     2       persistentClass  Ljava/lang/Class;
            0   22     3            interfaces  [Ljava/lang/Class;
            0   22     4   getIdentifierMethod  Ljava/lang/reflect/Method;
            0   22     5   setIdentifierMethod  Ljava/lang/reflect/Method;
            0   22     6       componentIdType  Lorg/hibernate/type/CompositeType;
            0   22     7                    id  Ljava/io/Serializable;
            0   22     8               session  Lorg/hibernate/engine/spi/SessionImplementor;
            0   22     9  classOverridesEquals  Z
           10   22    10              instance  Lorg/hibernate/proxy/pojo/javassist/JavassistLazyInitializer;
           11   12    11                 proxy  Lorg/hibernate/proxy/HibernateProxy;
           19   22    11                 proxy  Lorg/hibernate/proxy/HibernateProxy;
           13   19    12                     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.Exception
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                      Name  Flags
      factory               final
      entityName            final
      persistentClass       final
      interfaces            final
      getIdentifierMethod   final
      setIdentifierMethod   final
      componentIdType       final
      id                    final
      session               final
      classOverridesEquals  final

  public static java.lang.Class getProxyFactory(java.lang.Class, java.lang.Class[]);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Class persistentClass
        start local 1 // java.lang.Class[] interfaces
         0: .line 158
            new javassist.util.proxy.ProxyFactory
            dup
            invokespecial javassist.util.proxy.ProxyFactory.<init>:()V
            astore 2 /* factory */
        start local 2 // javassist.util.proxy.ProxyFactory factory
         1: .line 159
            aload 2 /* factory */
            aload 1 /* interfaces */
            arraylength
            iconst_1
            if_icmpne 2
            aload 0 /* persistentClass */
            goto 3
      StackMap locals: java.lang.Class java.lang.Class[] javassist.util.proxy.ProxyFactory
      StackMap stack: javassist.util.proxy.ProxyFactory
         2: aconst_null
      StackMap locals: java.lang.Class java.lang.Class[] javassist.util.proxy.ProxyFactory
      StackMap stack: javassist.util.proxy.ProxyFactory java.lang.Class
         3: invokevirtual javassist.util.proxy.ProxyFactory.setSuperclass:(Ljava/lang/Class;)V
         4: .line 160
            aload 2 /* factory */
            aload 1 /* interfaces */
            invokevirtual javassist.util.proxy.ProxyFactory.setInterfaces:([Ljava/lang/Class;)V
         5: .line 161
            aload 2 /* factory */
            getstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.FINALIZE_FILTER:Ljavassist/util/proxy/MethodFilter;
            invokevirtual javassist.util.proxy.ProxyFactory.setFilter:(Ljavassist/util/proxy/MethodFilter;)V
         6: .line 162
            aload 2 /* factory */
            invokevirtual javassist.util.proxy.ProxyFactory.createClass:()Ljava/lang/Class;
         7: areturn
        end local 2 // javassist.util.proxy.ProxyFactory factory
         8: .line 164
      StackMap locals: java.lang.Class java.lang.Class[]
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         9: .line 165
            getstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            getstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 0 /* persistentClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.javassistEnhancementFailed:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* t */
            invokeinterface org.hibernate.internal.CoreMessageLogger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        10: .line 166
            new org.hibernate.HibernateException
            dup
            getstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 0 /* persistentClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.javassistEnhancementFailed:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* t */
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.Class[] interfaces
        end local 0 // java.lang.Class persistentClass
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0  persistentClass  Ljava/lang/Class;
            0   11     1       interfaces  [Ljava/lang/Class;
            1    8     2          factory  Ljavassist/util/proxy/ProxyFactory;
            9   11     2                t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.Throwable
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      persistentClass  
      interfaces       

  public java.lang.Object invoke(java.lang.Object, java.lang.reflect.Method, java.lang.reflect.Method, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer this
        start local 1 // java.lang.Object proxy
        start local 2 // java.lang.reflect.Method thisMethod
        start local 3 // java.lang.reflect.Method proceed
        start local 4 // java.lang.Object[] args
         0: .line 176
            aload 0 /* this */
            getfield org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.constructed:Z
            ifeq 29
         1: .line 179
            aload 0 /* this */
            aload 2 /* thisMethod */
            aload 4 /* args */
            aload 1 /* proxy */
            invokevirtual org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke:(Ljava/lang/reflect/Method;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* result */
        start local 5 // java.lang.Object result
         2: .line 180
            goto 5
        end local 5 // java.lang.Object result
         3: .line 181
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* t */
        start local 6 // java.lang.Throwable t
         4: .line 182
            new java.lang.Exception
            dup
            aload 6 /* t */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Throwable t
        start local 5 // java.lang.Object result
         5: .line 184
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* result */
            getstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.INVOKE_IMPLEMENTATION:Ljava/lang/Object;
            if_acmpne 28
         6: .line 185
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getImplementation:()Ljava/lang/Object;
            astore 6 /* target */
        start local 6 // java.lang.Object target
         7: .line 188
            aload 0 /* this */
            getfield org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.persistentClass:Ljava/lang/Class;
            aload 2 /* thisMethod */
            invokestatic org.hibernate.internal.util.ReflectHelper.isPublic:(Ljava/lang/Class;Ljava/lang/reflect/Member;)Z
            ifeq 17
         8: .line 189
            aload 2 /* thisMethod */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            aload 6 /* target */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 15
         9: .line 190
            new java.lang.ClassCastException
            dup
        10: .line 191
            new java.lang.StringBuilder
            dup
            aload 6 /* target */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 192
            ldc " incompatible with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 193
            aload 2 /* thisMethod */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 191
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 190
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 196
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* thisMethod */
            aload 6 /* target */
            aload 4 /* args */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* returnValue */
        start local 7 // java.lang.Object returnValue
        16: .line 197
            goto 19
        end local 7 // java.lang.Object returnValue
        17: .line 199
      StackMap locals:
      StackMap stack:
            aload 2 /* thisMethod */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
        18: .line 200
            aload 2 /* thisMethod */
            aload 6 /* target */
            aload 4 /* args */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* returnValue */
        start local 7 // java.lang.Object returnValue
        19: .line 203
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* returnValue */
            aload 6 /* target */
            if_acmpne 24
        20: .line 204
            aload 7 /* returnValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* proxy */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 23
        21: .line 205
            aload 1 /* proxy */
        22: areturn
        23: .line 208
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 7 /* returnValue */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface org.hibernate.internal.CoreMessageLogger.narrowingProxy:(Ljava/lang/Class;)V
        24: .line 211
      StackMap locals:
      StackMap stack:
            aload 7 /* returnValue */
        25: areturn
        end local 7 // java.lang.Object returnValue
        26: .line 213
      StackMap locals: org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer java.lang.Object java.lang.reflect.Method java.lang.reflect.Method java.lang.Object[] java.lang.Object java.lang.Object
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 8 /* ite */
        start local 8 // java.lang.reflect.InvocationTargetException ite
        27: .line 214
            aload 8 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            athrow
        end local 8 // java.lang.reflect.InvocationTargetException ite
        end local 6 // java.lang.Object target
        28: .line 218
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 5 // java.lang.Object result
        29: .line 223
      StackMap locals:
      StackMap stack:
            aload 2 /* thisMethod */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            ldc "getHibernateLazyInitializer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 31
        30: .line 224
            aload 0 /* this */
            areturn
        31: .line 227
      StackMap locals:
      StackMap stack:
            aload 3 /* proceed */
            aload 1 /* proxy */
            aload 4 /* args */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Object[] args
        end local 3 // java.lang.reflect.Method proceed
        end local 2 // java.lang.reflect.Method thisMethod
        end local 1 // java.lang.Object proxy
        end local 0 // org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   32     0         this  Lorg/hibernate/proxy/pojo/javassist/JavassistLazyInitializer;
            0   32     1        proxy  Ljava/lang/Object;
            0   32     2   thisMethod  Ljava/lang/reflect/Method;
            0   32     3      proceed  Ljava/lang/reflect/Method;
            0   32     4         args  [Ljava/lang/Object;
            2    3     5       result  Ljava/lang/Object;
            5   29     5       result  Ljava/lang/Object;
            4    5     6            t  Ljava/lang/Throwable;
            7   28     6       target  Ljava/lang/Object;
           16   17     7  returnValue  Ljava/lang/Object;
           19   26     7  returnValue  Ljava/lang/Object;
           27   28     8          ite  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
           7    22      26  Class java.lang.reflect.InvocationTargetException
          23    25      26  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
            Name  Flags
      proxy       final
      thisMethod  final
      proceed     final
      args        final

  protected java.lang.Object serializableProxy();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=1, args_size=1
        start local 0 // org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer this
         0: .line 234
            new org.hibernate.proxy.pojo.javassist.SerializableProxy
            dup
         1: .line 235
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getEntityName:()Ljava/lang/String;
         2: .line 236
            aload 0 /* this */
            getfield org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.persistentClass:Ljava/lang/Class;
         3: .line 237
            aload 0 /* this */
            getfield org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.interfaces:[Ljava/lang/Class;
         4: .line 238
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getIdentifier:()Ljava/io/Serializable;
         5: .line 239
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.isReadOnlySettingAvailable:()Z
            ifeq 6
            aload 0 /* this */
            invokevirtual org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.isReadOnly:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            goto 7
      StackMap locals: org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer
      StackMap stack: new 0 new 0 java.lang.String java.lang.Class java.lang.Class[] java.io.Serializable
         6: aload 0 /* this */
            invokevirtual org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.isReadOnlyBeforeAttachedToSession:()Ljava/lang/Boolean;
         7: .line 240
      StackMap locals: org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer
      StackMap stack: new 0 new 0 java.lang.String java.lang.Class java.lang.Class[] java.io.Serializable java.lang.Boolean
            aload 0 /* this */
            getfield org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getIdentifierMethod:Ljava/lang/reflect/Method;
         8: .line 241
            aload 0 /* this */
            getfield org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.setIdentifierMethod:Ljava/lang/reflect/Method;
         9: .line 242
            aload 0 /* this */
            getfield org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.componentIdType:Lorg/hibernate/type/CompositeType;
        10: .line 234
            invokespecial org.hibernate.proxy.pojo.javassist.SerializableProxy.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;Ljava/io/Serializable;Ljava/lang/Boolean;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Lorg/hibernate/type/CompositeType;)V
            areturn
        end local 0 // org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/hibernate/proxy/pojo/javassist/JavassistLazyInitializer;
}
SourceFile: "JavassistLazyInitializer.java"
NestMembers:
  org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer$1
InnerClasses:
  org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer$1