public final class org.hibernate.jpa.internal.util.PersistenceUtilHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.hibernate.jpa.internal.util.PersistenceUtilHelper
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.jpa.internal.util.PersistenceUtilHelper this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            return
        end local 0 // org.hibernate.jpa.internal.util.PersistenceUtilHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/jpa/internal/util/PersistenceUtilHelper;

  public static javax.persistence.spi.LoadState isLoaded(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljavax/persistence/spi/LoadState;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object reference
         0: .line 78
            aload 0 /* reference */
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 7
         1: .line 79
            aload 0 /* reference */
            checkcast org.hibernate.proxy.HibernateProxy
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            invokeinterface org.hibernate.proxy.LazyInitializer.isUninitialized:()Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 1 /* isInitialized */
        start local 1 // boolean isInitialized
         4: .line 80
            iload 1 /* isInitialized */
            ifeq 5
            getstatic javax.persistence.spi.LoadState.LOADED:Ljavax/persistence/spi/LoadState;
            goto 6
      StackMap locals: int
      StackMap stack:
         5: getstatic javax.persistence.spi.LoadState.NOT_LOADED:Ljavax/persistence/spi/LoadState;
      StackMap locals:
      StackMap stack: javax.persistence.spi.LoadState
         6: areturn
        end local 1 // boolean isInitialized
         7: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* reference */
            instanceof org.hibernate.engine.spi.PersistentAttributeInterceptable
            ifeq 12
         8: .line 83
            aload 0 /* reference */
            checkcast org.hibernate.engine.spi.PersistentAttributeInterceptable
            invokestatic org.hibernate.jpa.internal.util.PersistenceUtilHelper.isInitialized:(Lorg/hibernate/engine/spi/PersistentAttributeInterceptable;)Z
            istore 1 /* isInitialized */
        start local 1 // boolean isInitialized
         9: .line 84
            iload 1 /* isInitialized */
            ifeq 10
            getstatic javax.persistence.spi.LoadState.LOADED:Ljavax/persistence/spi/LoadState;
            goto 11
      StackMap locals: int
      StackMap stack:
        10: getstatic javax.persistence.spi.LoadState.NOT_LOADED:Ljavax/persistence/spi/LoadState;
      StackMap locals:
      StackMap stack: javax.persistence.spi.LoadState
        11: areturn
        end local 1 // boolean isInitialized
        12: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* reference */
            instanceof org.hibernate.collection.spi.PersistentCollection
            ifeq 17
        13: .line 87
            aload 0 /* reference */
            checkcast org.hibernate.collection.spi.PersistentCollection
            invokeinterface org.hibernate.collection.spi.PersistentCollection.wasInitialized:()Z
            istore 1 /* isInitialized */
        start local 1 // boolean isInitialized
        14: .line 88
            iload 1 /* isInitialized */
            ifeq 15
            getstatic javax.persistence.spi.LoadState.LOADED:Ljavax/persistence/spi/LoadState;
            goto 16
      StackMap locals: int
      StackMap stack:
        15: getstatic javax.persistence.spi.LoadState.NOT_LOADED:Ljavax/persistence/spi/LoadState;
      StackMap locals:
      StackMap stack: javax.persistence.spi.LoadState
        16: areturn
        end local 1 // boolean isInitialized
        17: .line 91
      StackMap locals:
      StackMap stack:
            getstatic javax.persistence.spi.LoadState.UNKNOWN:Ljavax/persistence/spi/LoadState;
            areturn
        end local 0 // java.lang.Object reference
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0      reference  Ljava/lang/Object;
            4    7     1  isInitialized  Z
            9   12     1  isInitialized  Z
           14   17     1  isInitialized  Z
    MethodParameters:
           Name  Flags
      reference  

  private static boolean isInitialized(org.hibernate.engine.spi.PersistentAttributeInterceptable);
    descriptor: (Lorg/hibernate/engine/spi/PersistentAttributeInterceptable;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.hibernate.engine.spi.PersistentAttributeInterceptable interceptable
         0: .line 97
            aload 0 /* interceptable */
            invokestatic org.hibernate.jpa.internal.util.PersistenceUtilHelper.extractInterceptor:(Lorg/hibernate/engine/spi/PersistentAttributeInterceptable;)Lorg/hibernate/bytecode/enhance/spi/interceptor/LazyAttributeLoadingInterceptor;
            astore 1 /* interceptor */
        start local 1 // org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor interceptor
         1: .line 98
            aload 0 /* interceptable */
            ifnull 2
            aload 1 /* interceptor */
            ifnull 2
            aload 1 /* interceptor */
            invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor.hasAnyUninitializedAttributes:()Z
            ifeq 2
            iconst_0
            ireturn
      StackMap locals: org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor
      StackMap stack:
         2: iconst_1
            ireturn
        end local 1 // org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor interceptor
        end local 0 // org.hibernate.engine.spi.PersistentAttributeInterceptable interceptable
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0  interceptable  Lorg/hibernate/engine/spi/PersistentAttributeInterceptable;
            1    3     1    interceptor  Lorg/hibernate/bytecode/enhance/spi/interceptor/LazyAttributeLoadingInterceptor;
    MethodParameters:
               Name  Flags
      interceptable  

  private static org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor extractInterceptor(org.hibernate.engine.spi.PersistentAttributeInterceptable);
    descriptor: (Lorg/hibernate/engine/spi/PersistentAttributeInterceptable;)Lorg/hibernate/bytecode/enhance/spi/interceptor/LazyAttributeLoadingInterceptor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.engine.spi.PersistentAttributeInterceptable interceptable
         0: .line 102
            aload 0 /* interceptable */
            invokeinterface org.hibernate.engine.spi.PersistentAttributeInterceptable.$$_hibernate_getInterceptor:()Lorg/hibernate/engine/spi/PersistentAttributeInterceptor;
            checkcast org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor
            areturn
        end local 0 // org.hibernate.engine.spi.PersistentAttributeInterceptable interceptable
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  interceptable  Lorg/hibernate/engine/spi/PersistentAttributeInterceptable;
    MethodParameters:
               Name  Flags
      interceptable  

  public static javax.persistence.spi.LoadState isLoadedWithoutReference(java.lang.Object, java.lang.String, org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/hibernate/jpa/internal/util/PersistenceUtilHelper$MetadataCache;)Ljavax/persistence/spi/LoadState;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=9, args_size=3
        start local 0 // java.lang.Object entity
        start local 1 // java.lang.String attributeName
        start local 2 // org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache cache
         0: .line 117
            iconst_0
            istore 3 /* sureFromUs */
        start local 3 // boolean sureFromUs
         1: .line 118
            aload 0 /* entity */
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 7
         2: .line 119
            aload 0 /* entity */
            checkcast org.hibernate.proxy.HibernateProxy
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            astore 4 /* li */
        start local 4 // org.hibernate.proxy.LazyInitializer li
         3: .line 120
            aload 4 /* li */
            invokeinterface org.hibernate.proxy.LazyInitializer.isUninitialized:()Z
            ifeq 5
         4: .line 122
            getstatic javax.persistence.spi.LoadState.NOT_LOADED:Ljavax/persistence/spi/LoadState;
            areturn
         5: .line 126
      StackMap locals: int org.hibernate.proxy.LazyInitializer
      StackMap stack:
            aload 4 /* li */
            invokeinterface org.hibernate.proxy.LazyInitializer.getImplementation:()Ljava/lang/Object;
            astore 0 /* entity */
         6: .line 128
            iconst_1
            istore 3 /* sureFromUs */
        end local 4 // org.hibernate.proxy.LazyInitializer li
         7: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* entity */
            instanceof org.hibernate.engine.spi.PersistentAttributeInterceptable
            ifeq 43
         8: .line 133
            aload 0 /* entity */
            checkcast org.hibernate.engine.spi.PersistentAttributeInterceptable
            invokestatic org.hibernate.jpa.internal.util.PersistenceUtilHelper.extractInterceptor:(Lorg/hibernate/engine/spi/PersistentAttributeInterceptable;)Lorg/hibernate/bytecode/enhance/spi/interceptor/LazyAttributeLoadingInterceptor;
            astore 4 /* interceptor */
        start local 4 // org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor interceptor
         9: .line 134
            aload 4 /* interceptor */
            ifnull 10
            aload 4 /* interceptor */
            aload 1 /* attributeName */
            invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor.isAttributeLoaded:(Ljava/lang/String;)Z
            ifne 10
            iconst_0
            goto 11
      StackMap locals: org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor
      StackMap stack:
        10: iconst_1
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* isInitialized */
        start local 5 // boolean isInitialized
        12: .line 136
            iload 5 /* isInitialized */
            ifeq 25
            aload 4 /* interceptor */
            ifnull 25
        13: .line 140
            aload 0 /* entity */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 7 /* entityClass */
        start local 7 // java.lang.Class entityClass
        14: .line 141
            aload 2 /* cache */
            aload 7 /* entityClass */
            invokevirtual org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache.getClassMetadata:(Ljava/lang/Class;)Lorg/hibernate/jpa/internal/util/PersistenceUtilHelper$ClassMetadataCache;
        15: .line 142
            aload 1 /* attributeName */
            invokevirtual org.hibernate.jpa.internal.util.PersistenceUtilHelper$ClassMetadataCache.getAttributeAccess:(Ljava/lang/String;)Lorg/hibernate/jpa/internal/util/PersistenceUtilHelper$AttributeAccess;
        16: .line 143
            aload 0 /* entity */
            invokeinterface org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeAccess.extractValue:(Ljava/lang/Object;)Ljava/lang/Object;
        17: .line 141
            astore 8 /* attributeValue */
        start local 8 // java.lang.Object attributeValue
        18: .line 144
            aload 8 /* attributeValue */
            invokestatic org.hibernate.jpa.internal.util.PersistenceUtilHelper.isLoaded:(Ljava/lang/Object;)Ljavax/persistence/spi/LoadState;
            astore 6 /* state */
        start local 6 // javax.persistence.spi.LoadState state
        19: .line 147
            aload 6 /* state */
            getstatic javax.persistence.spi.LoadState.UNKNOWN:Ljavax/persistence/spi/LoadState;
            if_acmpne 42
        20: .line 148
            getstatic javax.persistence.spi.LoadState.LOADED:Ljavax/persistence/spi/LoadState;
            astore 6 /* state */
        end local 8 // java.lang.Object attributeValue
        end local 7 // java.lang.Class entityClass
        21: .line 150
            goto 42
        end local 6 // javax.persistence.spi.LoadState state
        22: .line 151
      StackMap locals: java.lang.Object java.lang.String org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache int org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor int
      StackMap stack: org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeExtractionException
            pop
        23: .line 152
            getstatic javax.persistence.spi.LoadState.UNKNOWN:Ljavax/persistence/spi/LoadState;
            astore 6 /* state */
        start local 6 // javax.persistence.spi.LoadState state
        24: .line 154
            goto 42
        end local 6 // javax.persistence.spi.LoadState state
        25: .line 155
      StackMap locals:
      StackMap stack:
            aload 4 /* interceptor */
            ifnull 28
        26: .line 156
            getstatic javax.persistence.spi.LoadState.NOT_LOADED:Ljavax/persistence/spi/LoadState;
            astore 6 /* state */
        start local 6 // javax.persistence.spi.LoadState state
        27: .line 157
            goto 42
        end local 6 // javax.persistence.spi.LoadState state
        28: .line 158
      StackMap locals:
      StackMap stack:
            iload 3 /* sureFromUs */
            ifeq 41
        29: .line 162
            aload 0 /* entity */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 7 /* entityClass */
        start local 7 // java.lang.Class entityClass
        30: .line 163
            aload 2 /* cache */
            aload 7 /* entityClass */
            invokevirtual org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache.getClassMetadata:(Ljava/lang/Class;)Lorg/hibernate/jpa/internal/util/PersistenceUtilHelper$ClassMetadataCache;
        31: .line 164
            aload 1 /* attributeName */
            invokevirtual org.hibernate.jpa.internal.util.PersistenceUtilHelper$ClassMetadataCache.getAttributeAccess:(Ljava/lang/String;)Lorg/hibernate/jpa/internal/util/PersistenceUtilHelper$AttributeAccess;
        32: .line 165
            aload 0 /* entity */
            invokeinterface org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeAccess.extractValue:(Ljava/lang/Object;)Ljava/lang/Object;
        33: .line 163
            astore 8 /* attributeValue */
        start local 8 // java.lang.Object attributeValue
        34: .line 166
            aload 8 /* attributeValue */
            invokestatic org.hibernate.jpa.internal.util.PersistenceUtilHelper.isLoaded:(Ljava/lang/Object;)Ljavax/persistence/spi/LoadState;
            astore 6 /* state */
        start local 6 // javax.persistence.spi.LoadState state
        35: .line 169
            aload 6 /* state */
            getstatic javax.persistence.spi.LoadState.UNKNOWN:Ljavax/persistence/spi/LoadState;
            if_acmpne 42
        36: .line 170
            getstatic javax.persistence.spi.LoadState.LOADED:Ljavax/persistence/spi/LoadState;
            astore 6 /* state */
        end local 8 // java.lang.Object attributeValue
        end local 7 // java.lang.Class entityClass
        37: .line 172
            goto 42
        end local 6 // javax.persistence.spi.LoadState state
        38: .line 173
      StackMap locals:
      StackMap stack: org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeExtractionException
            pop
        39: .line 174
            getstatic javax.persistence.spi.LoadState.UNKNOWN:Ljavax/persistence/spi/LoadState;
            astore 6 /* state */
        start local 6 // javax.persistence.spi.LoadState state
        40: .line 176
            goto 42
        end local 6 // javax.persistence.spi.LoadState state
        41: .line 178
      StackMap locals:
      StackMap stack:
            getstatic javax.persistence.spi.LoadState.UNKNOWN:Ljavax/persistence/spi/LoadState;
            astore 6 /* state */
        start local 6 // javax.persistence.spi.LoadState state
        42: .line 181
      StackMap locals: javax.persistence.spi.LoadState
      StackMap stack:
            aload 6 /* state */
            areturn
        end local 6 // javax.persistence.spi.LoadState state
        end local 5 // boolean isInitialized
        end local 4 // org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributeLoadingInterceptor interceptor
        43: .line 184
      StackMap locals:
      StackMap stack:
            getstatic javax.persistence.spi.LoadState.UNKNOWN:Ljavax/persistence/spi/LoadState;
            areturn
        end local 3 // boolean sureFromUs
        end local 2 // org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache cache
        end local 1 // java.lang.String attributeName
        end local 0 // java.lang.Object entity
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   44     0          entity  Ljava/lang/Object;
            0   44     1   attributeName  Ljava/lang/String;
            0   44     2           cache  Lorg/hibernate/jpa/internal/util/PersistenceUtilHelper$MetadataCache;
            1   44     3      sureFromUs  Z
            3    7     4              li  Lorg/hibernate/proxy/LazyInitializer;
            9   43     4     interceptor  Lorg/hibernate/bytecode/enhance/spi/interceptor/LazyAttributeLoadingInterceptor;
           12   43     5   isInitialized  Z
           19   22     6           state  Ljavax/persistence/spi/LoadState;
           24   25     6           state  Ljavax/persistence/spi/LoadState;
           27   28     6           state  Ljavax/persistence/spi/LoadState;
           35   38     6           state  Ljavax/persistence/spi/LoadState;
           40   41     6           state  Ljavax/persistence/spi/LoadState;
           42   43     6           state  Ljavax/persistence/spi/LoadState;
           14   21     7     entityClass  Ljava/lang/Class;
           18   21     8  attributeValue  Ljava/lang/Object;
           30   37     7     entityClass  Ljava/lang/Class;
           34   37     8  attributeValue  Ljava/lang/Object;
      Exception table:
        from    to  target  type
          13    21      22  Class org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeExtractionException
          29    37      38  Class org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeExtractionException
    MethodParameters:
               Name  Flags
      entity         
      attributeName  
      cache          

  public static javax.persistence.spi.LoadState isLoadedWithReference(java.lang.Object, java.lang.String, org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/hibernate/jpa/internal/util/PersistenceUtilHelper$MetadataCache;)Ljavax/persistence/spi/LoadState;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // java.lang.Object entity
        start local 1 // java.lang.String attributeName
        start local 2 // org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache cache
         0: .line 200
            aload 0 /* entity */
            instanceof org.hibernate.proxy.HibernateProxy
            ifeq 5
         1: .line 201
            aload 0 /* entity */
            checkcast org.hibernate.proxy.HibernateProxy
            invokeinterface org.hibernate.proxy.HibernateProxy.getHibernateLazyInitializer:()Lorg/hibernate/proxy/LazyInitializer;
            astore 3 /* li */
        start local 3 // org.hibernate.proxy.LazyInitializer li
         2: .line 202
            aload 3 /* li */
            invokeinterface org.hibernate.proxy.LazyInitializer.isUninitialized:()Z
            ifeq 4
         3: .line 204
            getstatic javax.persistence.spi.LoadState.NOT_LOADED:Ljavax/persistence/spi/LoadState;
            areturn
         4: .line 208
      StackMap locals: org.hibernate.proxy.LazyInitializer
      StackMap stack:
            aload 3 /* li */
            invokeinterface org.hibernate.proxy.LazyInitializer.getImplementation:()Ljava/lang/Object;
            astore 0 /* entity */
        end local 3 // org.hibernate.proxy.LazyInitializer li
         5: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* entity */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 3 /* entityClass */
        start local 3 // java.lang.Class entityClass
         6: .line 214
            aload 2 /* cache */
            aload 3 /* entityClass */
            invokevirtual org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache.getClassMetadata:(Ljava/lang/Class;)Lorg/hibernate/jpa/internal/util/PersistenceUtilHelper$ClassMetadataCache;
         7: .line 215
            aload 1 /* attributeName */
            invokevirtual org.hibernate.jpa.internal.util.PersistenceUtilHelper$ClassMetadataCache.getAttributeAccess:(Ljava/lang/String;)Lorg/hibernate/jpa/internal/util/PersistenceUtilHelper$AttributeAccess;
         8: .line 216
            aload 0 /* entity */
            invokeinterface org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeAccess.extractValue:(Ljava/lang/Object;)Ljava/lang/Object;
         9: .line 214
            astore 4 /* attributeValue */
        start local 4 // java.lang.Object attributeValue
        10: .line 217
            aload 4 /* attributeValue */
            invokestatic org.hibernate.jpa.internal.util.PersistenceUtilHelper.isLoaded:(Ljava/lang/Object;)Ljavax/persistence/spi/LoadState;
        11: areturn
        end local 4 // java.lang.Object attributeValue
        end local 3 // java.lang.Class entityClass
        12: .line 219
      StackMap locals:
      StackMap stack: org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeExtractionException
            pop
        13: .line 220
            getstatic javax.persistence.spi.LoadState.UNKNOWN:Ljavax/persistence/spi/LoadState;
            areturn
        end local 2 // org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache cache
        end local 1 // java.lang.String attributeName
        end local 0 // java.lang.Object entity
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0          entity  Ljava/lang/Object;
            0   14     1   attributeName  Ljava/lang/String;
            0   14     2           cache  Lorg/hibernate/jpa/internal/util/PersistenceUtilHelper$MetadataCache;
            2    5     3              li  Lorg/hibernate/proxy/LazyInitializer;
            6   12     3     entityClass  Ljava/lang/Class;
           10   12     4  attributeValue  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           5    11      12  Class org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeExtractionException
    MethodParameters:
               Name  Flags
      entity         
      attributeName  
      cache          

  private static java.lang.reflect.Method getMethod(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.String attributeName
         0: .line 394
            aload 1 /* attributeName */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 2 /* string */
        start local 2 // char[] string
         1: .line 395
            aload 2 /* string */
            iconst_0
            aload 2 /* string */
            iconst_0
            caload
            invokestatic java.lang.Character.toUpperCase:(C)C
            castore
         2: .line 396
            new java.lang.String
            dup
            aload 2 /* string */
            invokespecial java.lang.String.<init>:([C)V
            astore 3 /* casedAttributeName */
        start local 3 // java.lang.String casedAttributeName
         3: .line 398
            aload 0 /* clazz */
            new java.lang.StringBuilder
            dup
            ldc "get"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* casedAttributeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         4: areturn
         5: .line 400
      StackMap locals: java.lang.Class java.lang.String char[] java.lang.String
      StackMap stack: java.lang.NoSuchMethodException
            pop
         6: .line 401
            aload 0 /* clazz */
            new java.lang.StringBuilder
            dup
            ldc "is"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* casedAttributeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         7: areturn
        end local 3 // java.lang.String casedAttributeName
        end local 2 // char[] string
         8: .line 404
      StackMap locals: java.lang.Class java.lang.String
      StackMap stack: java.lang.NoSuchMethodException
            pop
         9: .line 405
            aconst_null
            areturn
        end local 1 // java.lang.String attributeName
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0               clazz  Ljava/lang/Class<*>;
            0   10     1       attributeName  Ljava/lang/String;
            1    8     2              string  [C
            3    8     3  casedAttributeName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.NoSuchMethodException
           0     4       8  Class java.lang.NoSuchMethodException
           5     7       8  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/reflect/Method;
    MethodParameters:
               Name  Flags
      clazz          
      attributeName  
}
SourceFile: "PersistenceUtilHelper.java"
NestMembers:
  org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeAccess  org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeExtractionException  org.hibernate.jpa.internal.util.PersistenceUtilHelper$ClassMetadataCache  org.hibernate.jpa.internal.util.PersistenceUtilHelper$ClassMetadataCache$1  org.hibernate.jpa.internal.util.PersistenceUtilHelper$FieldAttributeAccess  org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache  org.hibernate.jpa.internal.util.PersistenceUtilHelper$MethodAttributeAccess  org.hibernate.jpa.internal.util.PersistenceUtilHelper$NoSuchAttributeAccess
InnerClasses:
  public abstract AttributeAccess = org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeAccess of org.hibernate.jpa.internal.util.PersistenceUtilHelper
  public AttributeExtractionException = org.hibernate.jpa.internal.util.PersistenceUtilHelper$AttributeExtractionException of org.hibernate.jpa.internal.util.PersistenceUtilHelper
  public ClassMetadataCache = org.hibernate.jpa.internal.util.PersistenceUtilHelper$ClassMetadataCache of org.hibernate.jpa.internal.util.PersistenceUtilHelper
  public FieldAttributeAccess = org.hibernate.jpa.internal.util.PersistenceUtilHelper$FieldAttributeAccess of org.hibernate.jpa.internal.util.PersistenceUtilHelper
  public MetadataCache = org.hibernate.jpa.internal.util.PersistenceUtilHelper$MetadataCache of org.hibernate.jpa.internal.util.PersistenceUtilHelper
  public MethodAttributeAccess = org.hibernate.jpa.internal.util.PersistenceUtilHelper$MethodAttributeAccess of org.hibernate.jpa.internal.util.PersistenceUtilHelper
  private NoSuchAttributeAccess = org.hibernate.jpa.internal.util.PersistenceUtilHelper$NoSuchAttributeAccess of org.hibernate.jpa.internal.util.PersistenceUtilHelper