public class org.hibernate.cfg.annotations.EntityBinder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.cfg.annotations.EntityBinder
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String NATURAL_ID_CACHE_SUFFIX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "##NaturalId"

  private org.hibernate.boot.spi.MetadataBuildingContext context;
    descriptor: Lorg/hibernate/boot/spi/MetadataBuildingContext;
    flags: (0x0002) ACC_PRIVATE

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

  private org.hibernate.annotations.common.reflection.XClass annotatedClass;
    descriptor: Lorg/hibernate/annotations/common/reflection/XClass;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.mapping.PersistentClass persistentClass;
    descriptor: Lorg/hibernate/mapping/PersistentClass;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

  private org.hibernate.annotations.OptimisticLockType optimisticLockType;
    descriptor: Lorg/hibernate/annotations/OptimisticLockType;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.annotations.PolymorphismType polymorphismType;
    descriptor: Lorg/hibernate/annotations/PolymorphismType;
    flags: (0x0002) ACC_PRIVATE

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

  private int batchSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  private org.hibernate.annotations.common.reflection.XClass proxyClass;
    descriptor: Lorg/hibernate/annotations/common/reflection/XClass;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.Map<java.lang.String, org.hibernate.mapping.Join> secondaryTables;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/mapping/Join;>;

  private java.util.Map<java.lang.String, java.lang.Object> secondaryTableJoins;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private java.util.List<org.hibernate.annotations.Filter> filters;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/hibernate/annotations/Filter;>;

  private org.hibernate.cfg.InheritanceState inheritanceState;
    descriptor: Lorg/hibernate/cfg/InheritanceState;
    flags: (0x0002) ACC_PRIVATE

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

  private org.hibernate.cfg.AccessType propertyAccessType;
    descriptor: Lorg/hibernate/cfg/AccessType;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

  private static org.hibernate.cfg.annotations.EntityBinder$SecondaryTableNamingStrategyHelper SEC_TBL_NS_HELPER;
    descriptor: Lorg/hibernate/cfg/annotations/EntityBinder$SecondaryTableNamingStrategyHelper;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static volatile int[] $SWITCH_TABLE$org$hibernate$annotations$OptimisticLockType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$hibernate$annotations$PolymorphismType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$javax$persistence$SharedCacheMode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 106
            ldc Lorg/hibernate/cfg/annotations/EntityBinder;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.hibernate.cfg.annotations.EntityBinder.$assertionsDisabled:Z
         3: .line 107
            ldc Lorg/hibernate/internal/CoreMessageLogger;
            ldc Lorg/hibernate/cfg/annotations/EntityBinder;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.cfg.annotations.EntityBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         4: .line 1085
            new org.hibernate.cfg.annotations.EntityBinder$SecondaryTableNamingStrategyHelper
            dup
            invokespecial org.hibernate.cfg.annotations.EntityBinder$SecondaryTableNamingStrategyHelper.<init>:()V
            putstatic org.hibernate.cfg.annotations.EntityBinder.SEC_TBL_NS_HELPER:Lorg/hibernate/cfg/annotations/EntityBinder$SecondaryTableNamingStrategyHelper;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean wrapIdsInEmbeddedComponents();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
         0: .line 146
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.wrapIdsInEmbeddedComponents:Z
            ireturn
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/annotations/EntityBinder;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
         0: .line 152
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 115
            aload 0 /* this */
            ldc ""
            putfield org.hibernate.cfg.annotations.EntityBinder.discriminatorValue:Ljava/lang/String;
         2: .line 130
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.cfg.annotations.EntityBinder.secondaryTables:Ljava/util/Map;
         3: .line 131
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.cfg.annotations.EntityBinder.secondaryTableJoins:Ljava/util/Map;
         4: .line 132
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.cfg.annotations.EntityBinder.filters:Ljava/util/List;
         5: .line 135
            aload 0 /* this */
            getstatic org.hibernate.cfg.AccessType.DEFAULT:Lorg/hibernate/cfg/AccessType;
            putfield org.hibernate.cfg.annotations.EntityBinder.propertyAccessType:Lorg/hibernate/cfg/AccessType;
         6: .line 153
            return
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/cfg/annotations/EntityBinder;

  public void <init>(javax.persistence.Entity, org.hibernate.annotations.Entity, org.hibernate.annotations.common.reflection.XClass, org.hibernate.mapping.PersistentClass, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Ljavax/persistence/Entity;Lorg/hibernate/annotations/Entity;Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // javax.persistence.Entity ejb3Ann
        start local 2 // org.hibernate.annotations.Entity hibAnn
        start local 3 // org.hibernate.annotations.common.reflection.XClass annotatedClass
        start local 4 // org.hibernate.mapping.PersistentClass persistentClass
        start local 5 // org.hibernate.boot.spi.MetadataBuildingContext context
         0: .line 155
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 115
            aload 0 /* this */
            ldc ""
            putfield org.hibernate.cfg.annotations.EntityBinder.discriminatorValue:Ljava/lang/String;
         2: .line 130
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.cfg.annotations.EntityBinder.secondaryTables:Ljava/util/Map;
         3: .line 131
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.cfg.annotations.EntityBinder.secondaryTableJoins:Ljava/util/Map;
         4: .line 132
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.cfg.annotations.EntityBinder.filters:Ljava/util/List;
         5: .line 135
            aload 0 /* this */
            getstatic org.hibernate.cfg.AccessType.DEFAULT:Lorg/hibernate/cfg/AccessType;
            putfield org.hibernate.cfg.annotations.EntityBinder.propertyAccessType:Lorg/hibernate/cfg/AccessType;
         6: .line 161
            aload 0 /* this */
            aload 5 /* context */
            putfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
         7: .line 162
            aload 0 /* this */
            aload 4 /* persistentClass */
            putfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
         8: .line 163
            aload 0 /* this */
            aload 3 /* annotatedClass */
            putfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
         9: .line 164
            aload 0 /* this */
            aload 1 /* ejb3Ann */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.bindEjb3Annotation:(Ljavax/persistence/Entity;)V
        10: .line 165
            aload 0 /* this */
            aload 2 /* hibAnn */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.bindHibernateAnnotation:(Lorg/hibernate/annotations/Entity;)V
        11: .line 166
            return
        end local 5 // org.hibernate.boot.spi.MetadataBuildingContext context
        end local 4 // org.hibernate.mapping.PersistentClass persistentClass
        end local 3 // org.hibernate.annotations.common.reflection.XClass annotatedClass
        end local 2 // org.hibernate.annotations.Entity hibAnn
        end local 1 // javax.persistence.Entity ejb3Ann
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   12     1          ejb3Ann  Ljavax/persistence/Entity;
            0   12     2           hibAnn  Lorg/hibernate/annotations/Entity;
            0   12     3   annotatedClass  Lorg/hibernate/annotations/common/reflection/XClass;
            0   12     4  persistentClass  Lorg/hibernate/mapping/PersistentClass;
            0   12     5          context  Lorg/hibernate/boot/spi/MetadataBuildingContext;
    MethodParameters:
                 Name  Flags
      ejb3Ann          
      hibAnn           
      annotatedClass   
      persistentClass  
      context          

  public boolean isPropertyDefinedInSuperHierarchy(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // java.lang.String name
         0: .line 180
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            ifnonnull 2
         1: .line 181
            iconst_0
            ireturn
         2: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 1 /* name */
            invokevirtual org.hibernate.mapping.PersistentClass.isPropertyDefinedInSuperHierarchy:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private void bindHibernateAnnotation(org.hibernate.annotations.Entity);
    descriptor: (Lorg/hibernate/annotations/Entity;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.Entity hibAnn
         0: .line 189
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/DynamicInsert;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.DynamicInsert
            astore 2 /* dynamicInsertAnn */
        start local 2 // org.hibernate.annotations.DynamicInsert dynamicInsertAnn
         1: .line 190
            aload 0 /* this */
            aload 2 /* dynamicInsertAnn */
            ifnonnull 4
         2: .line 191
            aload 1 /* hibAnn */
            ifnonnull 3
            iconst_0
            goto 5
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Entity org.hibernate.annotations.DynamicInsert
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder
         3: aload 1 /* hibAnn */
            invokeinterface org.hibernate.annotations.Entity.dynamicInsert:()Z
            goto 5
         4: .line 192
      StackMap locals:
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder
            aload 2 /* dynamicInsertAnn */
            invokeinterface org.hibernate.annotations.DynamicInsert.value:()Z
         5: .line 190
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Entity org.hibernate.annotations.DynamicInsert
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder int
            putfield org.hibernate.cfg.annotations.EntityBinder.dynamicInsert:Z
        end local 2 // org.hibernate.annotations.DynamicInsert dynamicInsertAnn
         6: .line 196
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/DynamicUpdate;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.DynamicUpdate
            astore 2 /* dynamicUpdateAnn */
        start local 2 // org.hibernate.annotations.DynamicUpdate dynamicUpdateAnn
         7: .line 197
            aload 0 /* this */
            aload 2 /* dynamicUpdateAnn */
            ifnonnull 10
         8: .line 198
            aload 1 /* hibAnn */
            ifnonnull 9
            iconst_0
            goto 11
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Entity org.hibernate.annotations.DynamicUpdate
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder
         9: aload 1 /* hibAnn */
            invokeinterface org.hibernate.annotations.Entity.dynamicUpdate:()Z
            goto 11
        10: .line 199
      StackMap locals:
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder
            aload 2 /* dynamicUpdateAnn */
            invokeinterface org.hibernate.annotations.DynamicUpdate.value:()Z
        11: .line 197
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Entity org.hibernate.annotations.DynamicUpdate
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder int
            putfield org.hibernate.cfg.annotations.EntityBinder.dynamicUpdate:Z
        end local 2 // org.hibernate.annotations.DynamicUpdate dynamicUpdateAnn
        12: .line 203
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/SelectBeforeUpdate;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.SelectBeforeUpdate
            astore 2 /* selectBeforeUpdateAnn */
        start local 2 // org.hibernate.annotations.SelectBeforeUpdate selectBeforeUpdateAnn
        13: .line 204
            aload 0 /* this */
            aload 2 /* selectBeforeUpdateAnn */
            ifnonnull 16
        14: .line 205
            aload 1 /* hibAnn */
            ifnonnull 15
            iconst_0
            goto 17
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Entity org.hibernate.annotations.SelectBeforeUpdate
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder
        15: aload 1 /* hibAnn */
            invokeinterface org.hibernate.annotations.Entity.selectBeforeUpdate:()Z
            goto 17
        16: .line 206
      StackMap locals:
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder
            aload 2 /* selectBeforeUpdateAnn */
            invokeinterface org.hibernate.annotations.SelectBeforeUpdate.value:()Z
        17: .line 204
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Entity org.hibernate.annotations.SelectBeforeUpdate
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder int
            putfield org.hibernate.cfg.annotations.EntityBinder.selectBeforeUpdate:Z
        end local 2 // org.hibernate.annotations.SelectBeforeUpdate selectBeforeUpdateAnn
        18: .line 210
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/OptimisticLocking;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.OptimisticLocking
            astore 2 /* optimisticLockingAnn */
        start local 2 // org.hibernate.annotations.OptimisticLocking optimisticLockingAnn
        19: .line 211
            aload 0 /* this */
            aload 2 /* optimisticLockingAnn */
            ifnonnull 22
        20: .line 212
            aload 1 /* hibAnn */
            ifnonnull 21
            getstatic org.hibernate.annotations.OptimisticLockType.VERSION:Lorg/hibernate/annotations/OptimisticLockType;
            goto 23
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Entity org.hibernate.annotations.OptimisticLocking
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder
        21: aload 1 /* hibAnn */
            invokeinterface org.hibernate.annotations.Entity.optimisticLock:()Lorg/hibernate/annotations/OptimisticLockType;
            goto 23
        22: .line 213
      StackMap locals:
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder
            aload 2 /* optimisticLockingAnn */
            invokeinterface org.hibernate.annotations.OptimisticLocking.type:()Lorg/hibernate/annotations/OptimisticLockType;
        23: .line 211
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Entity org.hibernate.annotations.OptimisticLocking
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.OptimisticLockType
            putfield org.hibernate.cfg.annotations.EntityBinder.optimisticLockType:Lorg/hibernate/annotations/OptimisticLockType;
        end local 2 // org.hibernate.annotations.OptimisticLocking optimisticLockingAnn
        24: .line 217
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Polymorphism;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Polymorphism
            astore 2 /* polymorphismAnn */
        start local 2 // org.hibernate.annotations.Polymorphism polymorphismAnn
        25: .line 218
            aload 0 /* this */
            aload 2 /* polymorphismAnn */
            ifnonnull 28
        26: .line 219
            aload 1 /* hibAnn */
            ifnonnull 27
            getstatic org.hibernate.annotations.PolymorphismType.IMPLICIT:Lorg/hibernate/annotations/PolymorphismType;
            goto 29
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Entity org.hibernate.annotations.Polymorphism
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder
        27: aload 1 /* hibAnn */
            invokeinterface org.hibernate.annotations.Entity.polymorphism:()Lorg/hibernate/annotations/PolymorphismType;
            goto 29
        28: .line 220
      StackMap locals:
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder
            aload 2 /* polymorphismAnn */
            invokeinterface org.hibernate.annotations.Polymorphism.type:()Lorg/hibernate/annotations/PolymorphismType;
        29: .line 218
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Entity org.hibernate.annotations.Polymorphism
      StackMap stack: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.PolymorphismType
            putfield org.hibernate.cfg.annotations.EntityBinder.polymorphismType:Lorg/hibernate/annotations/PolymorphismType;
        end local 2 // org.hibernate.annotations.Polymorphism polymorphismAnn
        30: .line 223
            aload 1 /* hibAnn */
            ifnull 32
        31: .line 225
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.EntityBinder.explicitHibernateEntityAnnotation:Z
        32: .line 228
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hibernate.annotations.Entity hibAnn
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   33     0                   this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   33     1                 hibAnn  Lorg/hibernate/annotations/Entity;
            1    6     2       dynamicInsertAnn  Lorg/hibernate/annotations/DynamicInsert;
            7   12     2       dynamicUpdateAnn  Lorg/hibernate/annotations/DynamicUpdate;
           13   18     2  selectBeforeUpdateAnn  Lorg/hibernate/annotations/SelectBeforeUpdate;
           19   24     2   optimisticLockingAnn  Lorg/hibernate/annotations/OptimisticLocking;
           25   30     2        polymorphismAnn  Lorg/hibernate/annotations/Polymorphism;
    MethodParameters:
        Name  Flags
      hibAnn  

  private void bindEjb3Annotation(javax.persistence.Entity);
    descriptor: (Ljavax/persistence/Entity;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // javax.persistence.Entity ejb3Ann
         0: .line 231
            aload 1 /* ejb3Ann */
            ifnonnull 1
            new org.hibernate.AssertionFailure
            dup
            ldc "@Entity should always be not null"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 232
      StackMap locals:
      StackMap stack:
            aload 1 /* ejb3Ann */
            invokeinterface javax.persistence.Entity.name:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 233
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.unqualify:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
         3: .line 234
            goto 5
         4: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ejb3Ann */
            invokeinterface javax.persistence.Entity.name:()Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
         5: .line 238
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.persistence.Entity ejb3Ann
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    6     1  ejb3Ann  Ljavax/persistence/Entity;
    MethodParameters:
         Name  Flags
      ejb3Ann  

  public boolean isRootEntity();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
         0: .line 242
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            instanceof org.hibernate.mapping.RootClass
            ireturn
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/annotations/EntityBinder;

  public void setDiscriminatorValue(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // java.lang.String discriminatorValue
         0: .line 246
            aload 0 /* this */
            aload 1 /* discriminatorValue */
            putfield org.hibernate.cfg.annotations.EntityBinder.discriminatorValue:Ljava/lang/String;
         1: .line 247
            return
        end local 1 // java.lang.String discriminatorValue
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    2     1  discriminatorValue  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      discriminatorValue  

  public void setForceDiscriminator(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // boolean forceDiscriminator
         0: .line 250
            aload 0 /* this */
            iload 1 /* forceDiscriminator */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield org.hibernate.cfg.annotations.EntityBinder.forceDiscriminator:Ljava/lang/Boolean;
         1: .line 251
            return
        end local 1 // boolean forceDiscriminator
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    2     1  forceDiscriminator  Z
    MethodParameters:
                    Name  Flags
      forceDiscriminator  

  public void setInsertableDiscriminator(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // boolean insertableDiscriminator
         0: .line 254
            aload 0 /* this */
            iload 1 /* insertableDiscriminator */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield org.hibernate.cfg.annotations.EntityBinder.insertableDiscriminator:Ljava/lang/Boolean;
         1: .line 255
            return
        end local 1 // boolean insertableDiscriminator
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    2     1  insertableDiscriminator  Z
    MethodParameters:
                         Name  Flags
      insertableDiscriminator  

  public void bindEntity();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=15, args_size=1
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
         0: .line 258
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.isAbstract:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.hibernate.mapping.PersistentClass.setAbstract:(Ljava/lang/Boolean;)V
         1: .line 259
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.setClassName:(Ljava/lang/String;)V
         2: .line 260
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.setJpaEntityName:(Ljava/lang/String;)V
         3: .line 262
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.setEntityName:(Ljava/lang/String;)V
         4: .line 263
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.bindDiscriminatorValue:()V
         5: .line 265
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.lazy:Z
            invokevirtual org.hibernate.mapping.PersistentClass.setLazy:(Z)V
         6: .line 266
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.proxyClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ifnull 8
         7: .line 267
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.proxyClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.setProxyInterfaceName:(Ljava/lang/String;)V
         8: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.dynamicInsert:Z
            invokevirtual org.hibernate.mapping.PersistentClass.setDynamicInsert:(Z)V
         9: .line 270
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.dynamicUpdate:Z
            invokevirtual org.hibernate.mapping.PersistentClass.setDynamicUpdate:(Z)V
        10: .line 272
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            instanceof org.hibernate.mapping.RootClass
            ifeq 37
        11: .line 273
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            checkcast org.hibernate.mapping.RootClass
            astore 1 /* rootClass */
        start local 1 // org.hibernate.mapping.RootClass rootClass
        12: .line 274
            iconst_1
            istore 2 /* mutable */
        start local 2 // boolean mutable
        13: .line 276
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Immutable;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 16
        14: .line 277
            iconst_0
            istore 2 /* mutable */
        15: .line 278
            goto 20
        16: .line 281
      StackMap locals: org.hibernate.mapping.RootClass int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Entity;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Entity
        17: .line 280
            astore 3 /* entityAnn */
        start local 3 // org.hibernate.annotations.Entity entityAnn
        18: .line 282
            aload 3 /* entityAnn */
            ifnull 20
        19: .line 283
            aload 3 /* entityAnn */
            invokeinterface org.hibernate.annotations.Entity.mutable:()Z
            istore 2 /* mutable */
        end local 3 // org.hibernate.annotations.Entity entityAnn
        20: .line 286
      StackMap locals:
      StackMap stack:
            aload 1 /* rootClass */
            iload 2 /* mutable */
            invokevirtual org.hibernate.mapping.RootClass.setMutable:(Z)V
        21: .line 287
            aload 1 /* rootClass */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.polymorphismType:Lorg/hibernate/annotations/PolymorphismType;
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.isExplicitPolymorphism:(Lorg/hibernate/annotations/PolymorphismType;)Z
            invokevirtual org.hibernate.mapping.RootClass.setExplicitPolymorphism:(Z)V
        22: .line 289
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.where:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 24
        23: .line 290
            aload 1 /* rootClass */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.where:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.RootClass.setWhere:(Ljava/lang/String;)V
        24: .line 293
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.cacheConcurrentStrategy:Ljava/lang/String;
            ifnull 28
        25: .line 294
            aload 1 /* rootClass */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.cacheConcurrentStrategy:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.RootClass.setCacheConcurrencyStrategy:(Ljava/lang/String;)V
        26: .line 295
            aload 1 /* rootClass */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.cacheRegion:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.RootClass.setCacheRegionName:(Ljava/lang/String;)V
        27: .line 296
            aload 1 /* rootClass */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.cacheLazyProperty:Z
            invokevirtual org.hibernate.mapping.RootClass.setLazyPropertiesCacheable:(Z)V
        28: .line 299
      StackMap locals:
      StackMap stack:
            aload 1 /* rootClass */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.naturalIdCacheRegion:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.RootClass.setNaturalIdCacheRegionName:(Ljava/lang/String;)V
        29: .line 301
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.forceDiscriminator:Ljava/lang/Boolean;
            ifnonnull 31
        30: .line 302
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getBuildingOptions:()Lorg/hibernate/boot/spi/MetadataBuildingOptions;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingOptions.shouldImplicitlyForceDiscriminatorInSelect:()Z
            goto 32
        31: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.forceDiscriminator:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
        32: .line 301
      StackMap locals:
      StackMap stack: int
            istore 3 /* forceDiscriminatorInSelects */
        start local 3 // boolean forceDiscriminatorInSelects
        33: .line 305
            aload 1 /* rootClass */
            iload 3 /* forceDiscriminatorInSelects */
            invokevirtual org.hibernate.mapping.RootClass.setForceDiscriminator:(Z)V
        34: .line 307
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.insertableDiscriminator:Ljava/lang/Boolean;
            ifnull 41
        35: .line 308
            aload 1 /* rootClass */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.insertableDiscriminator:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual org.hibernate.mapping.RootClass.setDiscriminatorInsertable:(Z)V
        end local 3 // boolean forceDiscriminatorInSelects
        end local 2 // boolean mutable
        end local 1 // org.hibernate.mapping.RootClass rootClass
        36: .line 310
            goto 41
        37: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.explicitHibernateEntityAnnotation:Z
            ifeq 39
        38: .line 313
            getstatic org.hibernate.cfg.annotations.EntityBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.entityAnnotationOnNonRoot:(Ljava/lang/String;)V
        39: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Immutable;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 41
        40: .line 316
            getstatic org.hibernate.cfg.annotations.EntityBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.immutableAnnotationOnNonRoot:(Ljava/lang/String;)V
        41: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
            invokevirtual org.hibernate.mapping.PersistentClass.setCached:(Z)V
        42: .line 322
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.optimisticLockType:Lorg/hibernate/annotations/OptimisticLockType;
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.getVersioning:(Lorg/hibernate/annotations/OptimisticLockType;)Lorg/hibernate/engine/OptimisticLockStyle;
            invokevirtual org.hibernate.mapping.PersistentClass.setOptimisticLockStyle:(Lorg/hibernate/engine/OptimisticLockStyle;)V
        43: .line 323
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.selectBeforeUpdate:Z
            invokevirtual org.hibernate.mapping.PersistentClass.setSelectBeforeUpdate:(Z)V
        44: .line 326
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Persister;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Persister
            astore 1 /* persisterAnn */
        start local 1 // org.hibernate.annotations.Persister persisterAnn
        45: .line 327
            aconst_null
            astore 2 /* persister */
        start local 2 // java.lang.Class persister
        46: .line 328
            aload 1 /* persisterAnn */
            ifnull 49
        47: .line 329
            aload 1 /* persisterAnn */
            invokeinterface org.hibernate.annotations.Persister.impl:()Ljava/lang/Class;
            astore 2 /* persister */
        48: .line 330
            goto 55
        49: .line 332
      StackMap locals: org.hibernate.annotations.Persister java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Entity;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Entity
            astore 3 /* entityAnn */
        start local 3 // org.hibernate.annotations.Entity entityAnn
        50: .line 333
            aload 3 /* entityAnn */
            ifnull 55
            aload 3 /* entityAnn */
            invokeinterface org.hibernate.annotations.Entity.persister:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifne 55
        51: .line 335
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getBootstrapContext:()Lorg/hibernate/boot/spi/BootstrapContext;
            invokeinterface org.hibernate.boot.spi.BootstrapContext.getClassLoaderAccess:()Lorg/hibernate/boot/spi/ClassLoaderAccess;
            aload 3 /* entityAnn */
            invokeinterface org.hibernate.annotations.Entity.persister:()Ljava/lang/String;
            invokeinterface org.hibernate.boot.spi.ClassLoaderAccess.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* persister */
        52: .line 336
            goto 55
        53: .line 337
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Persister java.lang.Class org.hibernate.annotations.Entity
      StackMap stack: org.hibernate.boot.registry.classloading.spi.ClassLoadingException
            astore 4 /* e */
        start local 4 // org.hibernate.boot.registry.classloading.spi.ClassLoadingException e
        54: .line 338
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not find persister class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* entityAnn */
            invokeinterface org.hibernate.annotations.Entity.persister:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // org.hibernate.boot.registry.classloading.spi.ClassLoadingException e
        end local 3 // org.hibernate.annotations.Entity entityAnn
        55: .line 342
      StackMap locals:
      StackMap stack:
            aload 2 /* persister */
            ifnull 57
        56: .line 343
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 2 /* persister */
            invokevirtual org.hibernate.mapping.PersistentClass.setEntityPersisterClass:(Ljava/lang/Class;)V
        57: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.batchSize:I
            invokevirtual org.hibernate.mapping.PersistentClass.setBatchSize:(I)V
        58: .line 349
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/SQLInsert;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.SQLInsert
            astore 3 /* sqlInsert */
        start local 3 // org.hibernate.annotations.SQLInsert sqlInsert
        59: .line 350
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/SQLUpdate;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.SQLUpdate
            astore 4 /* sqlUpdate */
        start local 4 // org.hibernate.annotations.SQLUpdate sqlUpdate
        60: .line 351
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/SQLDelete;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.SQLDelete
            astore 5 /* sqlDelete */
        start local 5 // org.hibernate.annotations.SQLDelete sqlDelete
        61: .line 352
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/SQLDeleteAll;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.SQLDeleteAll
            astore 6 /* sqlDeleteAll */
        start local 6 // org.hibernate.annotations.SQLDeleteAll sqlDeleteAll
        62: .line 353
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Loader;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Loader
            astore 7 /* loader */
        start local 7 // org.hibernate.annotations.Loader loader
        63: .line 355
            aload 3 /* sqlInsert */
            ifnull 67
        64: .line 356
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 3 /* sqlInsert */
            invokeinterface org.hibernate.annotations.SQLInsert.sql:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            aload 3 /* sqlInsert */
            invokeinterface org.hibernate.annotations.SQLInsert.callable:()Z
        65: .line 357
            aload 3 /* sqlInsert */
            invokeinterface org.hibernate.annotations.SQLInsert.check:()Lorg/hibernate/annotations/ResultCheckStyle;
            invokevirtual org.hibernate.annotations.ResultCheckStyle.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        66: .line 356
            invokevirtual org.hibernate.mapping.PersistentClass.setCustomSQLInsert:(Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
        67: .line 361
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Persister java.lang.Class org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader
      StackMap stack:
            aload 4 /* sqlUpdate */
            ifnull 71
        68: .line 362
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 4 /* sqlUpdate */
            invokeinterface org.hibernate.annotations.SQLUpdate.sql:()Ljava/lang/String;
            aload 4 /* sqlUpdate */
            invokeinterface org.hibernate.annotations.SQLUpdate.callable:()Z
        69: .line 363
            aload 4 /* sqlUpdate */
            invokeinterface org.hibernate.annotations.SQLUpdate.check:()Lorg/hibernate/annotations/ResultCheckStyle;
            invokevirtual org.hibernate.annotations.ResultCheckStyle.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        70: .line 362
            invokevirtual org.hibernate.mapping.PersistentClass.setCustomSQLUpdate:(Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
        71: .line 366
      StackMap locals:
      StackMap stack:
            aload 5 /* sqlDelete */
            ifnull 75
        72: .line 367
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 5 /* sqlDelete */
            invokeinterface org.hibernate.annotations.SQLDelete.sql:()Ljava/lang/String;
            aload 5 /* sqlDelete */
            invokeinterface org.hibernate.annotations.SQLDelete.callable:()Z
        73: .line 368
            aload 5 /* sqlDelete */
            invokeinterface org.hibernate.annotations.SQLDelete.check:()Lorg/hibernate/annotations/ResultCheckStyle;
            invokevirtual org.hibernate.annotations.ResultCheckStyle.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        74: .line 367
            invokevirtual org.hibernate.mapping.PersistentClass.setCustomSQLDelete:(Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
        75: .line 371
      StackMap locals:
      StackMap stack:
            aload 6 /* sqlDeleteAll */
            ifnull 79
        76: .line 372
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 6 /* sqlDeleteAll */
            invokeinterface org.hibernate.annotations.SQLDeleteAll.sql:()Ljava/lang/String;
            aload 6 /* sqlDeleteAll */
            invokeinterface org.hibernate.annotations.SQLDeleteAll.callable:()Z
        77: .line 373
            aload 6 /* sqlDeleteAll */
            invokeinterface org.hibernate.annotations.SQLDeleteAll.check:()Lorg/hibernate/annotations/ResultCheckStyle;
            invokevirtual org.hibernate.annotations.ResultCheckStyle.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        78: .line 372
            invokevirtual org.hibernate.mapping.PersistentClass.setCustomSQLDelete:(Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
        79: .line 376
      StackMap locals:
      StackMap stack:
            aload 7 /* loader */
            ifnull 81
        80: .line 377
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 7 /* loader */
            invokeinterface org.hibernate.annotations.Loader.namedQuery:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.setLoaderName:(Ljava/lang/String;)V
        81: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
            invokevirtual org.hibernate.boot.model.relational.Database.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            astore 8 /* jdbcEnvironment */
        start local 8 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        82: .line 381
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Synchronize;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 96
        83: .line 382
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Synchronize;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Synchronize
            astore 9 /* synchronizedWith */
        start local 9 // org.hibernate.annotations.Synchronize synchronizedWith
        84: .line 384
            aload 9 /* synchronizedWith */
            invokeinterface org.hibernate.annotations.Synchronize.value:()[Ljava/lang/String;
            astore 10 /* tables */
        start local 10 // java.lang.String[] tables
        85: .line 385
            aload 10 /* tables */
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 95
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Persister java.lang.Class org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.annotations.Synchronize java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        86: aload 14
            iload 12
            aaload
            astore 11 /* table */
        start local 11 // java.lang.String table
        87: .line 386
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
        88: .line 387
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getBuildingOptions:()Lorg/hibernate/boot/spi/MetadataBuildingOptions;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingOptions.getPhysicalNamingStrategy:()Lorg/hibernate/boot/model/naming/PhysicalNamingStrategy;
        89: .line 388
            aload 8 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getIdentifierHelper:()Lorg/hibernate/engine/jdbc/env/spi/IdentifierHelper;
            aload 11 /* table */
            invokeinterface org.hibernate.engine.jdbc.env.spi.IdentifierHelper.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
        90: .line 389
            aload 8 /* jdbcEnvironment */
        91: .line 387
            invokeinterface org.hibernate.boot.model.naming.PhysicalNamingStrategy.toPhysicalTableName:(Lorg/hibernate/boot/model/naming/Identifier;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;)Lorg/hibernate/boot/model/naming/Identifier;
        92: .line 390
            aload 8 /* jdbcEnvironment */
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.boot.model.naming.Identifier.render:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
        93: .line 386
            invokevirtual org.hibernate.mapping.PersistentClass.addSynchronizedTable:(Ljava/lang/String;)V
        end local 11 // java.lang.String table
        94: .line 385
            iinc 12 1
      StackMap locals:
      StackMap stack:
        95: iload 12
            iload 13
            if_icmplt 86
        end local 10 // java.lang.String[] tables
        end local 9 // org.hibernate.annotations.Synchronize synchronizedWith
        96: .line 395
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Persister java.lang.Class org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.engine.jdbc.env.spi.JdbcEnvironment
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Subselect;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 99
        97: .line 396
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Subselect;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Subselect
            astore 9 /* subselect */
        start local 9 // org.hibernate.annotations.Subselect subselect
        98: .line 397
            aload 0 /* this */
            aload 9 /* subselect */
            invokeinterface org.hibernate.annotations.Subselect.value:()Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.EntityBinder.subselect:Ljava/lang/String;
        end local 9 // org.hibernate.annotations.Subselect subselect
        99: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Tuplizers;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 106
       100: .line 402
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Tuplizers;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Tuplizers
            invokeinterface org.hibernate.annotations.Tuplizers.value:()[Lorg/hibernate/annotations/Tuplizer;
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 105
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Persister java.lang.Class org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.engine.jdbc.env.spi.JdbcEnvironment top int int org.hibernate.annotations.Tuplizer[]
      StackMap stack:
       101: aload 12
            iload 10
            aaload
            astore 9 /* tuplizer */
        start local 9 // org.hibernate.annotations.Tuplizer tuplizer
       102: .line 403
            aload 9 /* tuplizer */
            invokeinterface org.hibernate.annotations.Tuplizer.entityMode:()Ljava/lang/String;
            invokestatic org.hibernate.EntityMode.parse:(Ljava/lang/String;)Lorg/hibernate/EntityMode;
            astore 13 /* mode */
        start local 13 // org.hibernate.EntityMode mode
       103: .line 405
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 13 /* mode */
            aload 9 /* tuplizer */
            invokeinterface org.hibernate.annotations.Tuplizer.impl:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.addTuplizer:(Lorg/hibernate/EntityMode;Ljava/lang/String;)V
        end local 13 // org.hibernate.EntityMode mode
        end local 9 // org.hibernate.annotations.Tuplizer tuplizer
       104: .line 402
            iinc 10 1
      StackMap locals:
      StackMap stack:
       105: iload 10
            iload 11
            if_icmplt 101
       106: .line 408
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Persister java.lang.Class org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.engine.jdbc.env.spi.JdbcEnvironment
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Tuplizer;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 110
       107: .line 409
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Tuplizer;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Tuplizer
            astore 9 /* tuplizer */
        start local 9 // org.hibernate.annotations.Tuplizer tuplizer
       108: .line 410
            aload 9 /* tuplizer */
            invokeinterface org.hibernate.annotations.Tuplizer.entityMode:()Ljava/lang/String;
            invokestatic org.hibernate.EntityMode.parse:(Ljava/lang/String;)Lorg/hibernate/EntityMode;
            astore 10 /* mode */
        start local 10 // org.hibernate.EntityMode mode
       109: .line 412
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 10 /* mode */
            aload 9 /* tuplizer */
            invokeinterface org.hibernate.annotations.Tuplizer.impl:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.addTuplizer:(Lorg/hibernate/EntityMode;Ljava/lang/String;)V
        end local 10 // org.hibernate.EntityMode mode
        end local 9 // org.hibernate.annotations.Tuplizer tuplizer
       110: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.filters:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 126
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Persister java.lang.Class org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.engine.jdbc.env.spi.JdbcEnvironment top java.util.Iterator
      StackMap stack:
       111: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.annotations.Filter
            astore 9 /* filter */
        start local 9 // org.hibernate.annotations.Filter filter
       112: .line 416
            aload 9 /* filter */
            invokeinterface org.hibernate.annotations.Filter.name:()Ljava/lang/String;
            astore 11 /* filterName */
        start local 11 // java.lang.String filterName
       113: .line 417
            aload 9 /* filter */
            invokeinterface org.hibernate.annotations.Filter.condition:()Ljava/lang/String;
            astore 12 /* cond */
        start local 12 // java.lang.String cond
       114: .line 418
            aload 12 /* cond */
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifeq 123
       115: .line 419
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 11 /* filterName */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getFilterDefinition:(Ljava/lang/String;)Lorg/hibernate/engine/spi/FilterDefinition;
            astore 13 /* definition */
        start local 13 // org.hibernate.engine.spi.FilterDefinition definition
       116: .line 420
            aload 13 /* definition */
            ifnonnull 117
            aconst_null
            goto 118
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Persister java.lang.Class org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.engine.jdbc.env.spi.JdbcEnvironment org.hibernate.annotations.Filter java.util.Iterator java.lang.String java.lang.String org.hibernate.engine.spi.FilterDefinition
      StackMap stack:
       117: aload 13 /* definition */
            invokevirtual org.hibernate.engine.spi.FilterDefinition.getDefaultFilterCondition:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
       118: astore 12 /* cond */
       119: .line 421
            aload 12 /* cond */
            invokestatic org.hibernate.internal.util.StringHelper.isEmpty:(Ljava/lang/String;)Z
            ifeq 123
       120: .line 422
            new org.hibernate.AnnotationException
            dup
       121: .line 423
            new java.lang.StringBuilder
            dup
            ldc "no filter condition found for filter "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* filterName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       122: .line 422
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // org.hibernate.engine.spi.FilterDefinition definition
       123: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 11 /* filterName */
            aload 12 /* cond */
            aload 9 /* filter */
            invokeinterface org.hibernate.annotations.Filter.deduceAliasInjectionPoints:()Z
       124: .line 428
            aload 9 /* filter */
            invokeinterface org.hibernate.annotations.Filter.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasTableMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
            aload 9 /* filter */
            invokeinterface org.hibernate.annotations.Filter.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasEntityMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
       125: .line 427
            invokevirtual org.hibernate.mapping.PersistentClass.addFilter:(Ljava/lang/String;Ljava/lang/String;ZLjava/util/Map;Ljava/util/Map;)V
        end local 12 // java.lang.String cond
        end local 11 // java.lang.String filterName
        end local 9 // org.hibernate.annotations.Filter filter
       126: .line 415
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Persister java.lang.Class org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.engine.jdbc.env.spi.JdbcEnvironment top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 111
       127: .line 430
            getstatic org.hibernate.cfg.annotations.EntityBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Import with entity name %s"
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
       128: .line 432
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addImport:(Ljava/lang/String;Ljava/lang/String;)V
       129: .line 433
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            astore 9 /* entityName */
        start local 9 // java.lang.String entityName
       130: .line 434
            aload 9 /* entityName */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 135
       131: .line 435
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 9 /* entityName */
            aload 9 /* entityName */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addImport:(Ljava/lang/String;Ljava/lang/String;)V
        end local 9 // java.lang.String entityName
       132: .line 437
            goto 135
       133: .line 438
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Persister java.lang.Class org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.engine.jdbc.env.spi.JdbcEnvironment
      StackMap stack: org.hibernate.MappingException
            astore 9 /* me */
        start local 9 // org.hibernate.MappingException me
       134: .line 439
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Use of the same entity name twice: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 9 /* me */
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // org.hibernate.MappingException me
       135: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.processNamedEntityGraphs:()V
       136: .line 443
            return
        end local 8 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        end local 7 // org.hibernate.annotations.Loader loader
        end local 6 // org.hibernate.annotations.SQLDeleteAll sqlDeleteAll
        end local 5 // org.hibernate.annotations.SQLDelete sqlDelete
        end local 4 // org.hibernate.annotations.SQLUpdate sqlUpdate
        end local 3 // org.hibernate.annotations.SQLInsert sqlInsert
        end local 2 // java.lang.Class persister
        end local 1 // org.hibernate.annotations.Persister persisterAnn
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0  137     0                         this  Lorg/hibernate/cfg/annotations/EntityBinder;
           12   36     1                    rootClass  Lorg/hibernate/mapping/RootClass;
           13   36     2                      mutable  Z
           18   20     3                    entityAnn  Lorg/hibernate/annotations/Entity;
           33   36     3  forceDiscriminatorInSelects  Z
           45  137     1                 persisterAnn  Lorg/hibernate/annotations/Persister;
           46  137     2                    persister  Ljava/lang/Class;
           50   55     3                    entityAnn  Lorg/hibernate/annotations/Entity;
           54   55     4                            e  Lorg/hibernate/boot/registry/classloading/spi/ClassLoadingException;
           59  137     3                    sqlInsert  Lorg/hibernate/annotations/SQLInsert;
           60  137     4                    sqlUpdate  Lorg/hibernate/annotations/SQLUpdate;
           61  137     5                    sqlDelete  Lorg/hibernate/annotations/SQLDelete;
           62  137     6                 sqlDeleteAll  Lorg/hibernate/annotations/SQLDeleteAll;
           63  137     7                       loader  Lorg/hibernate/annotations/Loader;
           82  137     8              jdbcEnvironment  Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
           84   96     9             synchronizedWith  Lorg/hibernate/annotations/Synchronize;
           85   96    10                       tables  [Ljava/lang/String;
           87   94    11                        table  Ljava/lang/String;
           98   99     9                    subselect  Lorg/hibernate/annotations/Subselect;
          102  104     9                     tuplizer  Lorg/hibernate/annotations/Tuplizer;
          103  104    13                         mode  Lorg/hibernate/EntityMode;
          108  110     9                     tuplizer  Lorg/hibernate/annotations/Tuplizer;
          109  110    10                         mode  Lorg/hibernate/EntityMode;
          112  126     9                       filter  Lorg/hibernate/annotations/Filter;
          113  126    11                   filterName  Ljava/lang/String;
          114  126    12                         cond  Ljava/lang/String;
          116  123    13                   definition  Lorg/hibernate/engine/spi/FilterDefinition;
          130  132     9                   entityName  Ljava/lang/String;
          134  135     9                           me  Lorg/hibernate/MappingException;
      Exception table:
        from    to  target  type
          51    52      53  Class org.hibernate.boot.registry.classloading.spi.ClassLoadingException
         128   132     133  Class org.hibernate.MappingException

  private void processNamedEntityGraphs();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
         0: .line 446
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Ljavax/persistence/NamedEntityGraph;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.NamedEntityGraph
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.processNamedEntityGraph:(Ljavax/persistence/NamedEntityGraph;)V
         1: .line 447
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Ljavax/persistence/NamedEntityGraphs;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.NamedEntityGraphs
            astore 1 /* graphs */
        start local 1 // javax.persistence.NamedEntityGraphs graphs
         2: .line 448
            aload 1 /* graphs */
            ifnull 8
         3: .line 449
            aload 1 /* graphs */
            invokeinterface javax.persistence.NamedEntityGraphs.value:()[Ljavax/persistence/NamedEntityGraph;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder javax.persistence.NamedEntityGraphs top int int javax.persistence.NamedEntityGraph[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* graph */
        start local 2 // javax.persistence.NamedEntityGraph graph
         5: .line 450
            aload 0 /* this */
            aload 2 /* graph */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.processNamedEntityGraph:(Ljavax/persistence/NamedEntityGraph;)V
        end local 2 // javax.persistence.NamedEntityGraph graph
         6: .line 449
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 4
         8: .line 453
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder javax.persistence.NamedEntityGraphs
      StackMap stack:
            return
        end local 1 // javax.persistence.NamedEntityGraphs graphs
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/hibernate/cfg/annotations/EntityBinder;
            2    9     1  graphs  Ljavax/persistence/NamedEntityGraphs;
            5    6     2   graph  Ljavax/persistence/NamedEntityGraph;

  private void processNamedEntityGraph(javax.persistence.NamedEntityGraph);
    descriptor: (Ljavax/persistence/NamedEntityGraph;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // javax.persistence.NamedEntityGraph annotation
         0: .line 456
            aload 1 /* annotation */
            ifnonnull 2
         1: .line 457
            return
         2: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
         3: .line 460
            new org.hibernate.cfg.annotations.NamedEntityGraphDefinition
            dup
            aload 1 /* annotation */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokespecial org.hibernate.cfg.annotations.NamedEntityGraphDefinition.<init>:(Ljavax/persistence/NamedEntityGraph;Ljava/lang/String;Ljava/lang/String;)V
         4: .line 459
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addNamedEntityGraph:(Lorg/hibernate/cfg/annotations/NamedEntityGraphDefinition;)V
         5: .line 462
            return
        end local 1 // javax.persistence.NamedEntityGraph annotation
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    6     1  annotation  Ljavax/persistence/NamedEntityGraph;
    MethodParameters:
            Name  Flags
      annotation  

  public void bindDiscriminatorValue();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
         0: .line 465
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.discriminatorValue:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isEmpty:(Ljava/lang/String;)Z
            ifeq 14
         1: .line 466
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getDiscriminator:()Lorg/hibernate/mapping/Value;
            astore 1 /* discriminator */
        start local 1 // org.hibernate.mapping.Value discriminator
         2: .line 467
            aload 1 /* discriminator */
            ifnonnull 5
         3: .line 468
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.setDiscriminatorValue:(Ljava/lang/String;)V
         4: .line 469
            goto 15
         5: .line 470
      StackMap locals: org.hibernate.mapping.Value
      StackMap stack:
            ldc "character"
            aload 1 /* discriminator */
            invokeinterface org.hibernate.mapping.Value.getType:()Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         6: .line 471
            new org.hibernate.AnnotationException
            dup
         7: .line 472
            ldc "Using default @DiscriminatorValue for a discriminator of type CHAR is not safe"
         8: .line 471
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 475
      StackMap locals:
      StackMap stack:
            ldc "integer"
            aload 1 /* discriminator */
            invokeinterface org.hibernate.mapping.Value.getType:()Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 476
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.setDiscriminatorValue:(Ljava/lang/String;)V
        11: .line 477
            goto 15
        12: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.setDiscriminatorValue:(Ljava/lang/String;)V
        end local 1 // org.hibernate.mapping.Value discriminator
        13: .line 481
            goto 15
        14: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.discriminatorValue:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.setDiscriminatorValue:(Ljava/lang/String;)V
        15: .line 486
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lorg/hibernate/cfg/annotations/EntityBinder;
            2   13     1  discriminator  Lorg/hibernate/mapping/Value;

  org.hibernate.engine.OptimisticLockStyle getVersioning(org.hibernate.annotations.OptimisticLockType);
    descriptor: (Lorg/hibernate/annotations/OptimisticLockType;)Lorg/hibernate/engine/OptimisticLockStyle;
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.OptimisticLockType type
         0: .line 489
            invokestatic org.hibernate.cfg.annotations.EntityBinder.$SWITCH_TABLE$org$hibernate$annotations$OptimisticLockType:()[I
            aload 1 /* type */
            invokevirtual org.hibernate.annotations.OptimisticLockType.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 2
                    2: 1
                    3: 3
                    4: 4
              default: 5
          }
         1: .line 491
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.engine.OptimisticLockStyle.VERSION:Lorg/hibernate/engine/OptimisticLockStyle;
            areturn
         2: .line 493
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.engine.OptimisticLockStyle.NONE:Lorg/hibernate/engine/OptimisticLockStyle;
            areturn
         3: .line 495
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.engine.OptimisticLockStyle.DIRTY:Lorg/hibernate/engine/OptimisticLockStyle;
            areturn
         4: .line 497
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.engine.OptimisticLockStyle.ALL:Lorg/hibernate/engine/OptimisticLockStyle;
            areturn
         5: .line 499
      StackMap locals:
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
            new java.lang.StringBuilder
            dup
            ldc "optimistic locking not supported: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.hibernate.annotations.OptimisticLockType type
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    6     1  type  Lorg/hibernate/annotations/OptimisticLockType;
    MethodParameters:
      Name  Flags
      type  

  private boolean isExplicitPolymorphism(org.hibernate.annotations.PolymorphismType);
    descriptor: (Lorg/hibernate/annotations/PolymorphismType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.PolymorphismType type
         0: .line 504
            invokestatic org.hibernate.cfg.annotations.EntityBinder.$SWITCH_TABLE$org$hibernate$annotations$PolymorphismType:()[I
            aload 1 /* type */
            invokevirtual org.hibernate.annotations.PolymorphismType.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 506
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 508
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         3: .line 510
      StackMap locals:
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown polymorphism type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.hibernate.annotations.PolymorphismType type
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    4     1  type  Lorg/hibernate/annotations/PolymorphismType;
    MethodParameters:
      Name  Flags
      type  

  public void setBatchSize(org.hibernate.annotations.BatchSize);
    descriptor: (Lorg/hibernate/annotations/BatchSize;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.BatchSize sizeAnn
         0: .line 515
            aload 1 /* sizeAnn */
            ifnull 3
         1: .line 516
            aload 0 /* this */
            aload 1 /* sizeAnn */
            invokeinterface org.hibernate.annotations.BatchSize.size:()I
            putfield org.hibernate.cfg.annotations.EntityBinder.batchSize:I
         2: .line 517
            goto 4
         3: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.hibernate.cfg.annotations.EntityBinder.batchSize:I
         4: .line 521
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hibernate.annotations.BatchSize sizeAnn
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    5     1  sizeAnn  Lorg/hibernate/annotations/BatchSize;
    MethodParameters:
         Name  Flags
      sizeAnn  

  public void setProxy(org.hibernate.annotations.Proxy);
    descriptor: (Lorg/hibernate/annotations/Proxy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.Proxy proxy
         0: .line 525
            aload 1 /* proxy */
            ifnull 11
         1: .line 526
            aload 0 /* this */
            aload 1 /* proxy */
            invokeinterface org.hibernate.annotations.Proxy.lazy:()Z
            putfield org.hibernate.cfg.annotations.EntityBinder.lazy:Z
         2: .line 527
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.lazy:Z
            ifne 5
         3: .line 528
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.cfg.annotations.EntityBinder.proxyClass:Lorg/hibernate/annotations/common/reflection/XClass;
         4: .line 529
            goto 13
         5: .line 531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getBootstrapContext:()Lorg/hibernate/boot/spi/BootstrapContext;
            invokeinterface org.hibernate.boot.spi.BootstrapContext.getReflectionManager:()Lorg/hibernate/annotations/common/reflection/ReflectionManager;
            astore 2 /* reflectionManager */
        start local 2 // org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager
         6: .line 532
            aload 2 /* reflectionManager */
            aload 1 /* proxy */
            invokeinterface org.hibernate.annotations.Proxy.proxyClass:()Ljava/lang/Class;
            invokeinterface org.hibernate.annotations.common.reflection.ReflectionManager.toXClass:(Ljava/lang/Class;)Lorg/hibernate/annotations/common/reflection/XClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokestatic org.hibernate.cfg.AnnotationBinder.isDefault:(Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Z
            ifeq 9
         7: .line 533
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            putfield org.hibernate.cfg.annotations.EntityBinder.proxyClass:Lorg/hibernate/annotations/common/reflection/XClass;
         8: .line 534
            goto 13
         9: .line 536
      StackMap locals: org.hibernate.annotations.common.reflection.ReflectionManager
      StackMap stack:
            aload 0 /* this */
            aload 2 /* reflectionManager */
            aload 1 /* proxy */
            invokeinterface org.hibernate.annotations.Proxy.proxyClass:()Ljava/lang/Class;
            invokeinterface org.hibernate.annotations.common.reflection.ReflectionManager.toXClass:(Ljava/lang/Class;)Lorg/hibernate/annotations/common/reflection/XClass;
            putfield org.hibernate.cfg.annotations.EntityBinder.proxyClass:Lorg/hibernate/annotations/common/reflection/XClass;
        end local 2 // org.hibernate.annotations.common.reflection.ReflectionManager reflectionManager
        10: .line 539
            goto 13
        11: .line 541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.EntityBinder.lazy:Z
        12: .line 542
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            putfield org.hibernate.cfg.annotations.EntityBinder.proxyClass:Lorg/hibernate/annotations/common/reflection/XClass;
        13: .line 544
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hibernate.annotations.Proxy proxy
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   14     1              proxy  Lorg/hibernate/annotations/Proxy;
            6   10     2  reflectionManager  Lorg/hibernate/annotations/common/reflection/ReflectionManager;
    MethodParameters:
       Name  Flags
      proxy  

  public void setWhere(org.hibernate.annotations.Where);
    descriptor: (Lorg/hibernate/annotations/Where;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.Where whereAnn
         0: .line 547
            aload 1 /* whereAnn */
            ifnull 2
         1: .line 548
            aload 0 /* this */
            aload 1 /* whereAnn */
            invokeinterface org.hibernate.annotations.Where.clause:()Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.EntityBinder.where:Ljava/lang/String;
         2: .line 550
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hibernate.annotations.Where whereAnn
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    3     1  whereAnn  Lorg/hibernate/annotations/Where;
    MethodParameters:
          Name  Flags
      whereAnn  

  public void setWrapIdsInEmbeddedComponents(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // boolean wrapIdsInEmbeddedComponents
         0: .line 553
            aload 0 /* this */
            iload 1 /* wrapIdsInEmbeddedComponents */
            putfield org.hibernate.cfg.annotations.EntityBinder.wrapIdsInEmbeddedComponents:Z
         1: .line 554
            return
        end local 1 // boolean wrapIdsInEmbeddedComponents
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    2     0                         this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    2     1  wrapIdsInEmbeddedComponents  Z
    MethodParameters:
                             Name  Flags
      wrapIdsInEmbeddedComponents  

  public void applyCaching(org.hibernate.annotations.common.reflection.XClass, javax.persistence.SharedCacheMode, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XClass;Ljavax/persistence/SharedCacheMode;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.common.reflection.XClass clazzToProcess
        start local 2 // javax.persistence.SharedCacheMode sharedCacheMode
        start local 3 // org.hibernate.boot.spi.MetadataBuildingContext context
         0: .line 560
            aload 1 /* clazzToProcess */
            ldc Lorg/hibernate/annotations/Cache;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Cache
            astore 4 /* explicitCacheAnn */
        start local 4 // org.hibernate.annotations.Cache explicitCacheAnn
         1: .line 561
            aload 1 /* clazzToProcess */
            ldc Ljavax/persistence/Cacheable;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.Cacheable
            astore 5 /* explicitCacheableAnn */
        start local 5 // javax.persistence.Cacheable explicitCacheableAnn
         2: .line 563
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
         3: .line 564
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.cfg.annotations.EntityBinder.cacheConcurrentStrategy:Ljava/lang/String;
         4: .line 565
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.cfg.annotations.EntityBinder.cacheRegion:Ljava/lang/String;
         5: .line 566
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.EntityBinder.cacheLazyProperty:Z
         6: .line 568
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            instanceof org.hibernate.mapping.RootClass
            ifeq 37
         7: .line 569
            aload 4 /* explicitCacheAnn */
            astore 6 /* effectiveCacheAnn */
        start local 6 // org.hibernate.annotations.Cache effectiveCacheAnn
         8: .line 571
            aload 4 /* explicitCacheAnn */
            ifnull 11
         9: .line 573
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
        10: .line 574
            goto 22
        11: .line 576
      StackMap locals: org.hibernate.annotations.Cache javax.persistence.Cacheable org.hibernate.annotations.Cache
      StackMap stack:
            aload 1 /* clazzToProcess */
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            aload 3 /* context */
            invokestatic org.hibernate.cfg.annotations.EntityBinder.buildCacheMock:(Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/annotations/Cache;
            astore 6 /* effectiveCacheAnn */
        12: .line 578
            invokestatic org.hibernate.cfg.annotations.EntityBinder.$SWITCH_TABLE$javax$persistence$SharedCacheMode:()[I
            aload 2 /* sharedCacheMode */
            invokevirtual javax.persistence.SharedCacheMode.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 13
                    2: 21
                    3: 15
                    4: 18
              default: 21
          }
        13: .line 581
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
        14: .line 582
            goto 22
        15: .line 585
      StackMap locals:
      StackMap stack:
            aload 5 /* explicitCacheableAnn */
            ifnull 22
            aload 5 /* explicitCacheableAnn */
            invokeinterface javax.persistence.Cacheable.value:()Z
            ifeq 22
        16: .line 586
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
        17: .line 588
            goto 22
        18: .line 591
      StackMap locals:
      StackMap stack:
            aload 5 /* explicitCacheableAnn */
            ifnull 19
            aload 5 /* explicitCacheableAnn */
            invokeinterface javax.persistence.Cacheable.value:()Z
            ifeq 22
        19: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
        20: .line 594
            goto 22
        21: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
        22: .line 604
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* effectiveCacheAnn */
            invokeinterface org.hibernate.annotations.Cache.usage:()Lorg/hibernate/annotations/CacheConcurrencyStrategy;
            invokestatic org.hibernate.cfg.annotations.EntityBinder.resolveCacheConcurrencyStrategy:(Lorg/hibernate/annotations/CacheConcurrencyStrategy;)Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.EntityBinder.cacheConcurrentStrategy:Ljava/lang/String;
        23: .line 605
            aload 0 /* this */
            aload 6 /* effectiveCacheAnn */
            invokeinterface org.hibernate.annotations.Cache.region:()Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.EntityBinder.cacheRegion:Ljava/lang/String;
        24: .line 606
            aload 6 /* effectiveCacheAnn */
            invokeinterface org.hibernate.annotations.Cache.include:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            dup
            astore 7
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
                96673: 25
           1358348916: 26
              default: 31
          }
      StackMap locals: java.lang.String
      StackMap stack:
        25: aload 7
            ldc "all"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 27
            goto 31
      StackMap locals:
      StackMap stack:
        26: aload 7
            ldc "non-lazy"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 31
        27: .line 608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.EntityBinder.cacheLazyProperty:Z
        28: .line 609
            goto 57
        29: .line 612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.cfg.annotations.EntityBinder.cacheLazyProperty:Z
        30: .line 613
            goto 57
        31: .line 616
      StackMap locals:
      StackMap stack:
            new org.hibernate.AnnotationException
            dup
        32: .line 617
            new java.lang.StringBuilder
            dup
            ldc "Unknown @Cache.include value ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* effectiveCacheAnn */
            invokeinterface org.hibernate.annotations.Cache.include:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] : "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        33: .line 618
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        34: .line 617
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        35: .line 616
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // org.hibernate.annotations.Cache effectiveCacheAnn
        36: .line 622
      StackMap locals:
      StackMap stack:
            goto 57
        37: .line 624
      StackMap locals:
      StackMap stack:
            aload 4 /* explicitCacheAnn */
            ifnull 44
        38: .line 625
            getstatic org.hibernate.cfg.annotations.EntityBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
        39: .line 626
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getClassName:()Ljava/lang/String;
            ifnonnull 41
        40: .line 627
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            goto 42
        41: .line 628
      StackMap locals:
      StackMap stack: org.hibernate.internal.CoreMessageLogger
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getClassName:()Ljava/lang/String;
        42: .line 625
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.common.reflection.XClass javax.persistence.SharedCacheMode org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.annotations.Cache javax.persistence.Cacheable
      StackMap stack: org.hibernate.internal.CoreMessageLogger java.lang.String
            invokeinterface org.hibernate.internal.CoreMessageLogger.cacheOrCacheableAnnotationOnNonRoot:(Ljava/lang/String;)V
        43: .line 630
            goto 57
        44: .line 631
      StackMap locals:
      StackMap stack:
            aload 5 /* explicitCacheableAnn */
            ifnonnull 47
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getSuperclass:()Lorg/hibernate/mapping/PersistentClass;
            ifnull 47
        45: .line 633
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getSuperclass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.isCached:()Z
            putfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
        46: .line 634
            goto 57
        47: .line 636
      StackMap locals:
      StackMap stack:
            invokestatic org.hibernate.cfg.annotations.EntityBinder.$SWITCH_TABLE$javax$persistence$SharedCacheMode:()[I
            aload 2 /* sharedCacheMode */
            invokevirtual javax.persistence.SharedCacheMode.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 48
                    2: 56
                    3: 50
                    4: 53
              default: 56
          }
        48: .line 639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
        49: .line 640
            goto 57
        50: .line 644
      StackMap locals:
      StackMap stack:
            aload 5 /* explicitCacheableAnn */
            ifnull 57
            aload 5 /* explicitCacheableAnn */
            invokeinterface javax.persistence.Cacheable.value:()Z
            ifeq 57
        51: .line 645
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
        52: .line 647
            goto 57
        53: .line 650
      StackMap locals:
      StackMap stack:
            aload 5 /* explicitCacheableAnn */
            ifnull 54
            aload 5 /* explicitCacheableAnn */
            invokeinterface javax.persistence.Cacheable.value:()Z
            ifne 57
        54: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
        55: .line 653
            goto 57
        56: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.cfg.annotations.EntityBinder.isCached:Z
        57: .line 664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.cfg.annotations.EntityBinder.naturalIdCacheRegion:Ljava/lang/String;
        58: .line 666
            aload 1 /* clazzToProcess */
            ldc Lorg/hibernate/annotations/NaturalIdCache;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.NaturalIdCache
            astore 6 /* naturalIdCacheAnn */
        start local 6 // org.hibernate.annotations.NaturalIdCache naturalIdCacheAnn
        59: .line 667
            aload 6 /* naturalIdCacheAnn */
            ifnull 67
        60: .line 668
            aload 6 /* naturalIdCacheAnn */
            invokeinterface org.hibernate.annotations.NaturalIdCache.region:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifeq 66
        61: .line 669
            aload 4 /* explicitCacheAnn */
            ifnull 64
            aload 4 /* explicitCacheAnn */
            invokeinterface org.hibernate.annotations.Cache.region:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 64
        62: .line 670
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 4 /* explicitCacheAnn */
            invokeinterface org.hibernate.annotations.Cache.region:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "##NaturalId"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.EntityBinder.naturalIdCacheRegion:Ljava/lang/String;
        63: .line 671
            goto 67
        64: .line 673
      StackMap locals: org.hibernate.annotations.NaturalIdCache
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* clazzToProcess */
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "##NaturalId"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.EntityBinder.naturalIdCacheRegion:Ljava/lang/String;
        65: .line 675
            goto 67
        66: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* naturalIdCacheAnn */
            invokeinterface org.hibernate.annotations.NaturalIdCache.region:()Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.EntityBinder.naturalIdCacheRegion:Ljava/lang/String;
        67: .line 680
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.hibernate.annotations.NaturalIdCache naturalIdCacheAnn
        end local 5 // javax.persistence.Cacheable explicitCacheableAnn
        end local 4 // org.hibernate.annotations.Cache explicitCacheAnn
        end local 3 // org.hibernate.boot.spi.MetadataBuildingContext context
        end local 2 // javax.persistence.SharedCacheMode sharedCacheMode
        end local 1 // org.hibernate.annotations.common.reflection.XClass clazzToProcess
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   68     0                  this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   68     1        clazzToProcess  Lorg/hibernate/annotations/common/reflection/XClass;
            0   68     2       sharedCacheMode  Ljavax/persistence/SharedCacheMode;
            0   68     3               context  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            1   68     4      explicitCacheAnn  Lorg/hibernate/annotations/Cache;
            2   68     5  explicitCacheableAnn  Ljavax/persistence/Cacheable;
            8   36     6     effectiveCacheAnn  Lorg/hibernate/annotations/Cache;
           59   68     6     naturalIdCacheAnn  Lorg/hibernate/annotations/NaturalIdCache;
    MethodParameters:
                 Name  Flags
      clazzToProcess   
      sharedCacheMode  
      context          

  private static java.lang.String resolveCacheConcurrencyStrategy(org.hibernate.annotations.CacheConcurrencyStrategy);
    descriptor: (Lorg/hibernate/annotations/CacheConcurrencyStrategy;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.hibernate.annotations.CacheConcurrencyStrategy strategy
         0: .line 683
            aload 0 /* strategy */
            invokevirtual org.hibernate.annotations.CacheConcurrencyStrategy.toAccessType:()Lorg/hibernate/cache/spi/access/AccessType;
            astore 1 /* accessType */
        start local 1 // org.hibernate.cache.spi.access.AccessType accessType
         1: .line 684
            aload 1 /* accessType */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.hibernate.cache.spi.access.AccessType
      StackMap stack:
         2: aload 1 /* accessType */
            invokevirtual org.hibernate.cache.spi.access.AccessType.getExternalName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // org.hibernate.cache.spi.access.AccessType accessType
        end local 0 // org.hibernate.annotations.CacheConcurrencyStrategy strategy
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0    strategy  Lorg/hibernate/annotations/CacheConcurrencyStrategy;
            1    4     1  accessType  Lorg/hibernate/cache/spi/access/AccessType;
    MethodParameters:
          Name  Flags
      strategy  

  private static org.hibernate.annotations.Cache buildCacheMock(java.lang.String, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/annotations/Cache;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String region
        start local 1 // org.hibernate.boot.spi.MetadataBuildingContext context
         0: .line 688
            new org.hibernate.cfg.annotations.EntityBinder$LocalCacheAnnotationStub
            dup
            aload 0 /* region */
            aload 1 /* context */
            invokestatic org.hibernate.cfg.annotations.EntityBinder.determineCacheConcurrencyStrategy:(Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/annotations/CacheConcurrencyStrategy;
            invokespecial org.hibernate.cfg.annotations.EntityBinder$LocalCacheAnnotationStub.<init>:(Ljava/lang/String;Lorg/hibernate/annotations/CacheConcurrencyStrategy;)V
            areturn
        end local 1 // org.hibernate.boot.spi.MetadataBuildingContext context
        end local 0 // java.lang.String region
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0   region  Ljava/lang/String;
            0    1     1  context  Lorg/hibernate/boot/spi/MetadataBuildingContext;
    MethodParameters:
         Name  Flags
      region   
      context  

  private static org.hibernate.annotations.CacheConcurrencyStrategy determineCacheConcurrencyStrategy(org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/annotations/CacheConcurrencyStrategy;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.boot.spi.MetadataBuildingContext context
         0: .line 720
            aload 0 /* context */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getBuildingOptions:()Lorg/hibernate/boot/spi/MetadataBuildingOptions;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingOptions.getImplicitCacheAccessType:()Lorg/hibernate/cache/spi/access/AccessType;
         1: .line 719
            invokestatic org.hibernate.annotations.CacheConcurrencyStrategy.fromAccessType:(Lorg/hibernate/cache/spi/access/AccessType;)Lorg/hibernate/annotations/CacheConcurrencyStrategy;
            areturn
        end local 0 // org.hibernate.boot.spi.MetadataBuildingContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lorg/hibernate/boot/spi/MetadataBuildingContext;
    MethodParameters:
         Name  Flags
      context  

  public void bindTableForDiscriminatedSubclass(org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref);
    descriptor: (Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref superTableXref
         0: .line 807
            ldc Lorg/hibernate/mapping/SingleTableSubclass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 7
         1: .line 808
            new org.hibernate.AssertionFailure
            dup
         2: .line 809
            new java.lang.StringBuilder
            dup
            ldc "Was expecting a discriminated subclass ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lorg/hibernate/mapping/SingleTableSubclass;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 810
            ldc "] but found ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] for entity ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 811
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 809
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 808
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
         8: .line 816
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
         9: .line 817
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
        10: .line 818
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        11: .line 819
            aload 1 /* superTableXref */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref.getPrimaryTable:()Lorg/hibernate/mapping/Table;
        12: .line 818
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getLogicalTableName:(Lorg/hibernate/mapping/Table;)Ljava/lang/String;
        13: .line 817
            invokevirtual org.hibernate.boot.model.relational.Database.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
        14: .line 822
            aload 1 /* superTableXref */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref.getPrimaryTable:()Lorg/hibernate/mapping/Table;
        15: .line 823
            aload 1 /* superTableXref */
        16: .line 815
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addEntityTableXref:(Ljava/lang/String;Lorg/hibernate/boot/model/naming/Identifier;Lorg/hibernate/mapping/Table;Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;)Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;
            pop
        17: .line 825
            return
        end local 1 // org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref superTableXref
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   18     1  superTableXref  Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;
    MethodParameters:
                Name  Flags
      superTableXref  

  public void bindTable(java.lang.String, java.lang.String, java.lang.String, java.util.List<org.hibernate.cfg.UniqueConstraintHolder>, java.lang.String, org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=11, args_size=7
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // java.lang.String schema
        start local 2 // java.lang.String catalog
        start local 3 // java.lang.String tableName
        start local 4 // java.util.List uniqueConstraints
        start local 5 // java.lang.String constraints
        start local 6 // org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref denormalizedSuperTableXref
         0: .line 834
            new org.hibernate.cfg.annotations.EntityBinder$EntityTableNamingStrategyHelper
            dup
         1: .line 835
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getClassName:()Ljava/lang/String;
         2: .line 836
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
         3: .line 837
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.name:Ljava/lang/String;
         4: .line 834
            invokespecial org.hibernate.cfg.annotations.EntityBinder$EntityTableNamingStrategyHelper.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 7 /* namingStrategyHelper */
        start local 7 // org.hibernate.cfg.annotations.EntityBinder$EntityTableNamingStrategyHelper namingStrategyHelper
         5: .line 841
            aload 3 /* tableName */
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 842
            aload 7 /* namingStrategyHelper */
            aload 3 /* tableName */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokevirtual org.hibernate.cfg.annotations.EntityBinder$EntityTableNamingStrategyHelper.handleExplicitName:(Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/boot/model/naming/Identifier;
            astore 8 /* logicalName */
        start local 8 // org.hibernate.boot.model.naming.Identifier logicalName
         7: .line 843
            goto 9
        end local 8 // org.hibernate.boot.model.naming.Identifier logicalName
         8: .line 845
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder$EntityTableNamingStrategyHelper
      StackMap stack:
            aload 7 /* namingStrategyHelper */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokevirtual org.hibernate.cfg.annotations.EntityBinder$EntityTableNamingStrategyHelper.determineImplicitName:(Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/boot/model/naming/Identifier;
            astore 8 /* logicalName */
        start local 8 // org.hibernate.boot.model.naming.Identifier logicalName
         9: .line 849
      StackMap locals: org.hibernate.boot.model.naming.Identifier
      StackMap stack:
            aload 1 /* schema */
        10: .line 850
            aload 2 /* catalog */
        11: .line 851
            aload 8 /* logicalName */
        12: .line 852
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.isAbstract:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
        13: .line 853
            aload 4 /* uniqueConstraints */
        14: .line 854
            aconst_null
        15: .line 855
            aload 5 /* constraints */
        16: .line 856
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
        17: .line 857
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.subselect:Ljava/lang/String;
        18: .line 858
            aload 6 /* denormalizedSuperTableXref */
        19: .line 848
            invokestatic org.hibernate.cfg.annotations.TableBinder.buildAndFillTable:(Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/boot/model/naming/Identifier;ZLjava/util/List;Ljava/util/List;Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;Ljava/lang/String;Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;)Lorg/hibernate/mapping/Table;
            astore 9 /* table */
        start local 9 // org.hibernate.mapping.Table table
        20: .line 860
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/RowId;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.RowId
            astore 10 /* rowId */
        start local 10 // org.hibernate.annotations.RowId rowId
        21: .line 861
            aload 10 /* rowId */
            ifnull 23
        22: .line 862
            aload 9 /* table */
            aload 10 /* rowId */
            invokeinterface org.hibernate.annotations.RowId.value:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Table.setRowId:(Ljava/lang/String;)V
        23: .line 865
      StackMap locals: org.hibernate.mapping.Table org.hibernate.annotations.RowId
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        24: .line 866
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
        25: .line 867
            aload 8 /* logicalName */
        26: .line 868
            aload 9 /* table */
        27: .line 869
            aload 6 /* denormalizedSuperTableXref */
        28: .line 865
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addEntityTableXref:(Ljava/lang/String;Lorg/hibernate/boot/model/naming/Identifier;Lorg/hibernate/mapping/Table;Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;)Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;
            pop
        29: .line 872
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            instanceof org.hibernate.mapping.TableOwner
            ifeq 33
        30: .line 873
            getstatic org.hibernate.cfg.annotations.EntityBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Bind entity %s on table %s"
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            aload 9 /* table */
            invokevirtual org.hibernate.mapping.Table.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        31: .line 874
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            checkcast org.hibernate.mapping.TableOwner
            aload 9 /* table */
            invokeinterface org.hibernate.mapping.TableOwner.setTable:(Lorg/hibernate/mapping/Table;)V
        32: .line 875
            goto 34
        33: .line 877
      StackMap locals:
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
            ldc "binding a table for a subclass"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 879
      StackMap locals:
      StackMap stack:
            return
        end local 10 // org.hibernate.annotations.RowId rowId
        end local 9 // org.hibernate.mapping.Table table
        end local 8 // org.hibernate.boot.model.naming.Identifier logicalName
        end local 7 // org.hibernate.cfg.annotations.EntityBinder$EntityTableNamingStrategyHelper namingStrategyHelper
        end local 6 // org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref denormalizedSuperTableXref
        end local 5 // java.lang.String constraints
        end local 4 // java.util.List uniqueConstraints
        end local 3 // java.lang.String tableName
        end local 2 // java.lang.String catalog
        end local 1 // java.lang.String schema
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   35     0                        this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   35     1                      schema  Ljava/lang/String;
            0   35     2                     catalog  Ljava/lang/String;
            0   35     3                   tableName  Ljava/lang/String;
            0   35     4           uniqueConstraints  Ljava/util/List<Lorg/hibernate/cfg/UniqueConstraintHolder;>;
            0   35     5                 constraints  Ljava/lang/String;
            0   35     6  denormalizedSuperTableXref  Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;
            5   35     7        namingStrategyHelper  Lorg/hibernate/cfg/annotations/EntityBinder$EntityTableNamingStrategyHelper;
            7    8     8                 logicalName  Lorg/hibernate/boot/model/naming/Identifier;
            9   35     8                 logicalName  Lorg/hibernate/boot/model/naming/Identifier;
           20   35     9                       table  Lorg/hibernate/mapping/Table;
           21   35    10                       rowId  Lorg/hibernate/annotations/RowId;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List<Lorg/hibernate/cfg/UniqueConstraintHolder;>;Ljava/lang/String;Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;)V
    MethodParameters:
                            Name  Flags
      schema                      
      catalog                     
      tableName                   
      uniqueConstraints           
      constraints                 
      denormalizedSuperTableXref  

  public void finalSecondaryTableBinding(org.hibernate.cfg.PropertyHolder);
    descriptor: (Lorg/hibernate/cfg/PropertyHolder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.cfg.PropertyHolder propertyHolder
         0: .line 886
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.secondaryTables:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* joins */
        start local 2 // java.util.Iterator joins
         1: .line 887
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.secondaryTableJoins:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* joinColumns */
        start local 3 // java.util.Iterator joinColumns
         2: .line 889
            goto 6
         3: .line 890
      StackMap locals: java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 3 /* joinColumns */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* uncastedColumn */
        start local 4 // java.lang.Object uncastedColumn
         4: .line 891
            aload 2 /* joins */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Join
            astore 5 /* join */
        start local 5 // org.hibernate.mapping.Join join
         5: .line 892
            aload 0 /* this */
            aload 4 /* uncastedColumn */
            aload 1 /* propertyHolder */
            aload 5 /* join */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.createPrimaryColumnsToSecondaryTable:(Ljava/lang/Object;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/mapping/Join;)V
        end local 5 // org.hibernate.mapping.Join join
        end local 4 // java.lang.Object uncastedColumn
         6: .line 889
      StackMap locals:
      StackMap stack:
            aload 2 /* joins */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 894
            return
        end local 3 // java.util.Iterator joinColumns
        end local 2 // java.util.Iterator joins
        end local 1 // org.hibernate.cfg.PropertyHolder propertyHolder
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    8     1  propertyHolder  Lorg/hibernate/cfg/PropertyHolder;
            1    8     2           joins  Ljava/util/Iterator;
            2    8     3     joinColumns  Ljava/util/Iterator;
            4    6     4  uncastedColumn  Ljava/lang/Object;
            5    6     5            join  Lorg/hibernate/mapping/Join;
    MethodParameters:
                Name  Flags
      propertyHolder  

  private void createPrimaryColumnsToSecondaryTable(java.lang.Object, org.hibernate.cfg.PropertyHolder, org.hibernate.mapping.Join);
    descriptor: (Ljava/lang/Object;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/mapping/Join;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=11, args_size=4
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // java.lang.Object uncastedColumn
        start local 2 // org.hibernate.cfg.PropertyHolder propertyHolder
        start local 3 // org.hibernate.mapping.Join join
         0: .line 898
            aconst_null
            astore 5 /* pkColumnsAnn */
        start local 5 // javax.persistence.PrimaryKeyJoinColumn[] pkColumnsAnn
         1: .line 899
            aconst_null
            astore 6 /* joinColumnsAnn */
        start local 6 // javax.persistence.JoinColumn[] joinColumnsAnn
         2: .line 900
            aload 1 /* uncastedColumn */
            instanceof javax.persistence.PrimaryKeyJoinColumn[]
            ifeq 4
         3: .line 901
            aload 1 /* uncastedColumn */
            checkcast javax.persistence.PrimaryKeyJoinColumn[]
            astore 5 /* pkColumnsAnn */
         4: .line 903
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder java.lang.Object org.hibernate.cfg.PropertyHolder org.hibernate.mapping.Join top javax.persistence.PrimaryKeyJoinColumn[] javax.persistence.JoinColumn[]
      StackMap stack:
            aload 1 /* uncastedColumn */
            instanceof javax.persistence.JoinColumn[]
            ifeq 6
         5: .line 904
            aload 1 /* uncastedColumn */
            checkcast javax.persistence.JoinColumn[]
            astore 6 /* joinColumnsAnn */
         6: .line 906
      StackMap locals:
      StackMap stack:
            aload 5 /* pkColumnsAnn */
            ifnonnull 17
            aload 6 /* joinColumnsAnn */
            ifnonnull 17
         7: .line 907
            iconst_1
            anewarray org.hibernate.cfg.Ejb3JoinColumn
            astore 4 /* ejb3JoinColumns */
        start local 4 // org.hibernate.cfg.Ejb3JoinColumn[] ejb3JoinColumns
         8: .line 908
            aload 4 /* ejb3JoinColumns */
            iconst_0
         9: .line 909
            aconst_null
        10: .line 910
            aconst_null
        11: .line 911
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
        12: .line 912
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.secondaryTables:Ljava/util/Map;
        13: .line 913
            aload 2 /* propertyHolder */
        14: .line 914
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
        15: .line 908
            invokestatic org.hibernate.cfg.Ejb3JoinColumn.buildJoinColumn:(Ljavax/persistence/PrimaryKeyJoinColumn;Ljavax/persistence/JoinColumn;Lorg/hibernate/mapping/Value;Ljava/util/Map;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/cfg/Ejb3JoinColumn;
            aastore
        16: .line 916
            goto 59
        end local 4 // org.hibernate.cfg.Ejb3JoinColumn[] ejb3JoinColumns
        17: .line 918
      StackMap locals:
      StackMap stack:
            aload 5 /* pkColumnsAnn */
            ifnull 19
        18: .line 919
            aload 5 /* pkColumnsAnn */
            arraylength
            goto 20
        19: .line 920
      StackMap locals:
      StackMap stack:
            aload 6 /* joinColumnsAnn */
            arraylength
        20: .line 918
      StackMap locals:
      StackMap stack: int
            istore 7 /* nbrOfJoinColumns */
        start local 7 // int nbrOfJoinColumns
        21: .line 921
            iload 7 /* nbrOfJoinColumns */
            ifne 32
        22: .line 922
            iconst_1
            anewarray org.hibernate.cfg.Ejb3JoinColumn
            astore 4 /* ejb3JoinColumns */
        start local 4 // org.hibernate.cfg.Ejb3JoinColumn[] ejb3JoinColumns
        23: .line 923
            aload 4 /* ejb3JoinColumns */
            iconst_0
        24: .line 924
            aconst_null
        25: .line 925
            aconst_null
        26: .line 926
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
        27: .line 927
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.secondaryTables:Ljava/util/Map;
        28: .line 928
            aload 2 /* propertyHolder */
        29: .line 929
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
        30: .line 923
            invokestatic org.hibernate.cfg.Ejb3JoinColumn.buildJoinColumn:(Ljavax/persistence/PrimaryKeyJoinColumn;Ljavax/persistence/JoinColumn;Lorg/hibernate/mapping/Value;Ljava/util/Map;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/cfg/Ejb3JoinColumn;
            aastore
        31: .line 931
            goto 59
        end local 4 // org.hibernate.cfg.Ejb3JoinColumn[] ejb3JoinColumns
        32: .line 933
      StackMap locals: int
      StackMap stack:
            iload 7 /* nbrOfJoinColumns */
            anewarray org.hibernate.cfg.Ejb3JoinColumn
            astore 4 /* ejb3JoinColumns */
        start local 4 // org.hibernate.cfg.Ejb3JoinColumn[] ejb3JoinColumns
        33: .line 934
            aload 5 /* pkColumnsAnn */
            ifnull 47
        34: .line 935
            iconst_0
            istore 8 /* colIndex */
        start local 8 // int colIndex
        35: goto 45
        36: .line 936
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder java.lang.Object org.hibernate.cfg.PropertyHolder org.hibernate.mapping.Join org.hibernate.cfg.Ejb3JoinColumn[] javax.persistence.PrimaryKeyJoinColumn[] javax.persistence.JoinColumn[] int int
      StackMap stack:
            aload 4 /* ejb3JoinColumns */
            iload 8 /* colIndex */
        37: .line 937
            aload 5 /* pkColumnsAnn */
            iload 8 /* colIndex */
            aaload
        38: .line 938
            aconst_null
        39: .line 939
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
        40: .line 940
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.secondaryTables:Ljava/util/Map;
        41: .line 941
            aload 2 /* propertyHolder */
        42: .line 942
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
        43: .line 936
            invokestatic org.hibernate.cfg.Ejb3JoinColumn.buildJoinColumn:(Ljavax/persistence/PrimaryKeyJoinColumn;Ljavax/persistence/JoinColumn;Lorg/hibernate/mapping/Value;Ljava/util/Map;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/cfg/Ejb3JoinColumn;
            aastore
        44: .line 935
            iinc 8 /* colIndex */ 1
      StackMap locals:
      StackMap stack:
        45: iload 8 /* colIndex */
            iload 7 /* nbrOfJoinColumns */
            if_icmplt 36
        end local 8 // int colIndex
        46: .line 945
            goto 59
        47: .line 947
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* colIndex */
        start local 8 // int colIndex
        48: goto 58
        49: .line 948
      StackMap locals: int
      StackMap stack:
            aload 4 /* ejb3JoinColumns */
            iload 8 /* colIndex */
        50: .line 949
            aconst_null
        51: .line 950
            aload 6 /* joinColumnsAnn */
            iload 8 /* colIndex */
            aaload
        52: .line 951
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
        53: .line 952
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.secondaryTables:Ljava/util/Map;
        54: .line 953
            aload 2 /* propertyHolder */
        55: .line 954
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
        56: .line 948
            invokestatic org.hibernate.cfg.Ejb3JoinColumn.buildJoinColumn:(Ljavax/persistence/PrimaryKeyJoinColumn;Ljavax/persistence/JoinColumn;Lorg/hibernate/mapping/Value;Ljava/util/Map;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/cfg/Ejb3JoinColumn;
            aastore
        57: .line 947
            iinc 8 /* colIndex */ 1
      StackMap locals:
      StackMap stack:
        58: iload 8 /* colIndex */
            iload 7 /* nbrOfJoinColumns */
            if_icmplt 49
        end local 8 // int colIndex
        end local 7 // int nbrOfJoinColumns
        59: .line 961
      StackMap locals:
      StackMap stack:
            aload 4 /* ejb3JoinColumns */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 63
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder java.lang.Object org.hibernate.cfg.PropertyHolder org.hibernate.mapping.Join org.hibernate.cfg.Ejb3JoinColumn[] javax.persistence.PrimaryKeyJoinColumn[] javax.persistence.JoinColumn[] top int int org.hibernate.cfg.Ejb3JoinColumn[]
      StackMap stack:
        60: aload 10
            iload 8
            aaload
            astore 7 /* joinColumn */
        start local 7 // org.hibernate.cfg.Ejb3JoinColumn joinColumn
        61: .line 962
            aload 7 /* joinColumn */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.forceNotNull:()V
        end local 7 // org.hibernate.cfg.Ejb3JoinColumn joinColumn
        62: .line 961
            iinc 8 1
      StackMap locals:
      StackMap stack:
        63: iload 8
            iload 9
            if_icmplt 60
        64: .line 964
            aload 0 /* this */
            aload 3 /* join */
            aload 4 /* ejb3JoinColumns */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.bindJoinToPersistentClass:(Lorg/hibernate/mapping/Join;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
        65: .line 965
            return
        end local 6 // javax.persistence.JoinColumn[] joinColumnsAnn
        end local 5 // javax.persistence.PrimaryKeyJoinColumn[] pkColumnsAnn
        end local 4 // org.hibernate.cfg.Ejb3JoinColumn[] ejb3JoinColumns
        end local 3 // org.hibernate.mapping.Join join
        end local 2 // org.hibernate.cfg.PropertyHolder propertyHolder
        end local 1 // java.lang.Object uncastedColumn
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   66     0              this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   66     1    uncastedColumn  Ljava/lang/Object;
            0   66     2    propertyHolder  Lorg/hibernate/cfg/PropertyHolder;
            0   66     3              join  Lorg/hibernate/mapping/Join;
            8   17     4   ejb3JoinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
           23   32     4   ejb3JoinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
           33   66     4   ejb3JoinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            1   66     5      pkColumnsAnn  [Ljavax/persistence/PrimaryKeyJoinColumn;
            2   66     6    joinColumnsAnn  [Ljavax/persistence/JoinColumn;
           21   59     7  nbrOfJoinColumns  I
           35   46     8          colIndex  I
           48   59     8          colIndex  I
           61   62     7        joinColumn  Lorg/hibernate/cfg/Ejb3JoinColumn;
    MethodParameters:
                Name  Flags
      uncastedColumn  
      propertyHolder  
      join            

  private void bindJoinToPersistentClass(org.hibernate.mapping.Join, org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/mapping/Join;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.mapping.Join join
        start local 2 // org.hibernate.cfg.Ejb3JoinColumn[] ejb3JoinColumns
        start local 3 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 968
            new org.hibernate.mapping.DependantValue
            dup
            aload 3 /* buildingContext */
            aload 1 /* join */
            invokevirtual org.hibernate.mapping.Join.getTable:()Lorg/hibernate/mapping/Table;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
            invokespecial org.hibernate.mapping.DependantValue.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/Table;Lorg/hibernate/mapping/KeyValue;)V
            astore 4 /* key */
        start local 4 // org.hibernate.mapping.SimpleValue key
         1: .line 969
            aload 1 /* join */
            aload 4 /* key */
            invokevirtual org.hibernate.mapping.Join.setKey:(Lorg/hibernate/mapping/KeyValue;)V
         2: .line 970
            aload 0 /* this */
            aload 1 /* join */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.setFKNameIfDefined:(Lorg/hibernate/mapping/Join;)V
         3: .line 971
            aload 4 /* key */
            iconst_0
            invokevirtual org.hibernate.mapping.SimpleValue.setCascadeDeleteEnabled:(Z)V
         4: .line 972
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aconst_null
            aload 2 /* ejb3JoinColumns */
            aload 4 /* key */
            iconst_0
            aload 3 /* buildingContext */
            invokestatic org.hibernate.cfg.annotations.TableBinder.bindFk:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/PersistentClass;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/mapping/SimpleValue;ZLorg/hibernate/boot/spi/MetadataBuildingContext;)V
         5: .line 973
            aload 1 /* join */
            invokevirtual org.hibernate.mapping.Join.createPrimaryKey:()V
         6: .line 974
            aload 1 /* join */
            invokevirtual org.hibernate.mapping.Join.createForeignKey:()V
         7: .line 975
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            aload 1 /* join */
            invokevirtual org.hibernate.mapping.PersistentClass.addJoin:(Lorg/hibernate/mapping/Join;)V
         8: .line 976
            return
        end local 4 // org.hibernate.mapping.SimpleValue key
        end local 3 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 2 // org.hibernate.cfg.Ejb3JoinColumn[] ejb3JoinColumns
        end local 1 // org.hibernate.mapping.Join join
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    9     1             join  Lorg/hibernate/mapping/Join;
            0    9     2  ejb3JoinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0    9     3  buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            1    9     4              key  Lorg/hibernate/mapping/SimpleValue;
    MethodParameters:
                 Name  Flags
      join             
      ejb3JoinColumns  
      buildingContext  

  private void setFKNameIfDefined(org.hibernate.mapping.Join);
    descriptor: (Lorg/hibernate/mapping/Join;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.mapping.Join join
         0: .line 981
            aload 0 /* this */
            aload 1 /* join */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.findMatchingComplimentTableAnnotation:(Lorg/hibernate/mapping/Join;)Lorg/hibernate/annotations/Table;
            astore 2 /* matchingTable */
        start local 2 // org.hibernate.annotations.Table matchingTable
         1: .line 982
            aload 2 /* matchingTable */
            ifnull 4
            aload 2 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.foreignKey:()Lorg/hibernate/annotations/ForeignKey;
            invokeinterface org.hibernate.annotations.ForeignKey.name:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifne 4
         2: .line 983
            aload 1 /* join */
            invokevirtual org.hibernate.mapping.Join.getKey:()Lorg/hibernate/mapping/KeyValue;
            checkcast org.hibernate.mapping.SimpleValue
            aload 2 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.foreignKey:()Lorg/hibernate/annotations/ForeignKey;
            invokeinterface org.hibernate.annotations.ForeignKey.name:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.SimpleValue.setForeignKeyName:(Ljava/lang/String;)V
         3: .line 984
            goto 11
         4: .line 986
      StackMap locals: org.hibernate.annotations.Table
      StackMap stack:
            aload 0 /* this */
            aload 1 /* join */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.findMatchingSecondaryTable:(Lorg/hibernate/mapping/Join;)Ljavax/persistence/SecondaryTable;
            astore 3 /* jpaSecondaryTable */
        start local 3 // javax.persistence.SecondaryTable jpaSecondaryTable
         5: .line 987
            aload 3 /* jpaSecondaryTable */
            ifnull 11
         6: .line 988
            aload 3 /* jpaSecondaryTable */
            invokeinterface javax.persistence.SecondaryTable.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.value:()Ljavax/persistence/ConstraintMode;
            getstatic javax.persistence.ConstraintMode.NO_CONSTRAINT:Ljavax/persistence/ConstraintMode;
            if_acmpne 9
         7: .line 989
            aload 1 /* join */
            invokevirtual org.hibernate.mapping.Join.getKey:()Lorg/hibernate/mapping/KeyValue;
            checkcast org.hibernate.mapping.SimpleValue
            ldc "none"
            invokevirtual org.hibernate.mapping.SimpleValue.setForeignKeyName:(Ljava/lang/String;)V
         8: .line 990
            goto 11
         9: .line 992
      StackMap locals: javax.persistence.SecondaryTable
      StackMap stack:
            aload 1 /* join */
            invokevirtual org.hibernate.mapping.Join.getKey:()Lorg/hibernate/mapping/KeyValue;
            checkcast org.hibernate.mapping.SimpleValue
            aload 3 /* jpaSecondaryTable */
            invokeinterface javax.persistence.SecondaryTable.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.name:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.SimpleValue.setForeignKeyName:(Ljava/lang/String;)V
        10: .line 993
            aload 1 /* join */
            invokevirtual org.hibernate.mapping.Join.getKey:()Lorg/hibernate/mapping/KeyValue;
            checkcast org.hibernate.mapping.SimpleValue
            aload 3 /* jpaSecondaryTable */
            invokeinterface javax.persistence.SecondaryTable.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.foreignKeyDefinition:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.SimpleValue.setForeignKeyDefinition:(Ljava/lang/String;)V
        end local 3 // javax.persistence.SecondaryTable jpaSecondaryTable
        11: .line 997
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.annotations.Table matchingTable
        end local 1 // org.hibernate.mapping.Join join
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   12     1               join  Lorg/hibernate/mapping/Join;
            1   12     2      matchingTable  Lorg/hibernate/annotations/Table;
            5   11     3  jpaSecondaryTable  Ljavax/persistence/SecondaryTable;
    MethodParameters:
      Name  Flags
      join  

  private javax.persistence.SecondaryTable findMatchingSecondaryTable(org.hibernate.mapping.Join);
    descriptor: (Lorg/hibernate/mapping/Join;)Ljavax/persistence/SecondaryTable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.mapping.Join join
         0: .line 1000
            aload 1 /* join */
            invokevirtual org.hibernate.mapping.Join.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.getQuotedName:()Ljava/lang/String;
            astore 2 /* nameToMatch */
        start local 2 // java.lang.String nameToMatch
         1: .line 1002
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Ljavax/persistence/SecondaryTable;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.SecondaryTable
            astore 3 /* secondaryTable */
        start local 3 // javax.persistence.SecondaryTable secondaryTable
         2: .line 1003
            aload 3 /* secondaryTable */
            ifnull 4
            aload 2 /* nameToMatch */
            aload 3 /* secondaryTable */
            invokeinterface javax.persistence.SecondaryTable.name:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1004
            aload 3 /* secondaryTable */
            areturn
         4: .line 1007
      StackMap locals: java.lang.String javax.persistence.SecondaryTable
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Ljavax/persistence/SecondaryTables;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.SecondaryTables
            astore 4 /* secondaryTables */
        start local 4 // javax.persistence.SecondaryTables secondaryTables
         5: .line 1008
            aload 4 /* secondaryTables */
            ifnull 11
         6: .line 1009
            aload 4 /* secondaryTables */
            invokeinterface javax.persistence.SecondaryTables.value:()[Ljavax/persistence/SecondaryTable;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 10
         7: .line 1010
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.mapping.Join java.lang.String javax.persistence.SecondaryTable javax.persistence.SecondaryTables int int javax.persistence.SecondaryTable[]
      StackMap stack:
            aload 3 /* secondaryTable */
            ifnull 9
            aload 2 /* nameToMatch */
            aload 3 /* secondaryTable */
            invokeinterface javax.persistence.SecondaryTable.name:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 1011
            aload 3 /* secondaryTable */
            areturn
         9: .line 1009
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        10: iload 5
            iload 6
            if_icmplt 7
        11: .line 1017
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // javax.persistence.SecondaryTables secondaryTables
        end local 3 // javax.persistence.SecondaryTable secondaryTable
        end local 2 // java.lang.String nameToMatch
        end local 1 // org.hibernate.mapping.Join join
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   12     1             join  Lorg/hibernate/mapping/Join;
            1   12     2      nameToMatch  Ljava/lang/String;
            2   12     3   secondaryTable  Ljavax/persistence/SecondaryTable;
            5   12     4  secondaryTables  Ljavax/persistence/SecondaryTables;
    MethodParameters:
      Name  Flags
      join  

  private org.hibernate.annotations.Table findMatchingComplimentTableAnnotation(org.hibernate.mapping.Join);
    descriptor: (Lorg/hibernate/mapping/Join;)Lorg/hibernate/annotations/Table;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=10, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.mapping.Join join
         0: .line 1021
            aload 1 /* join */
            invokevirtual org.hibernate.mapping.Join.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.getQuotedName:()Ljava/lang/String;
            astore 2 /* tableName */
        start local 2 // java.lang.String tableName
         1: .line 1022
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Table;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Table
            astore 3 /* table */
        start local 3 // org.hibernate.annotations.Table table
         2: .line 1023
            aconst_null
            astore 4 /* matchingTable */
        start local 4 // org.hibernate.annotations.Table matchingTable
         3: .line 1024
            aload 3 /* table */
            ifnull 6
            aload 2 /* tableName */
            aload 3 /* table */
            invokeinterface org.hibernate.annotations.Table.appliesTo:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 1025
            aload 3 /* table */
            astore 4 /* matchingTable */
         5: .line 1026
            goto 15
         6: .line 1028
      StackMap locals: java.lang.String org.hibernate.annotations.Table org.hibernate.annotations.Table
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Tables;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Tables
            astore 5 /* tables */
        start local 5 // org.hibernate.annotations.Tables tables
         7: .line 1029
            aload 5 /* tables */
            ifnull 15
         8: .line 1030
            aload 5 /* tables */
            invokeinterface org.hibernate.annotations.Tables.value:()[Lorg/hibernate/annotations/Table;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 14
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.mapping.Join java.lang.String org.hibernate.annotations.Table org.hibernate.annotations.Table org.hibernate.annotations.Tables top int int org.hibernate.annotations.Table[]
      StackMap stack:
         9: aload 9
            iload 7
            aaload
            astore 6 /* current */
        start local 6 // org.hibernate.annotations.Table current
        10: .line 1031
            aload 2 /* tableName */
            aload 6 /* current */
            invokeinterface org.hibernate.annotations.Table.appliesTo:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 1032
            aload 6 /* current */
            astore 4 /* matchingTable */
        12: .line 1033
            goto 15
        end local 6 // org.hibernate.annotations.Table current
        13: .line 1030
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        14: iload 7
            iload 8
            if_icmplt 9
        end local 5 // org.hibernate.annotations.Tables tables
        15: .line 1038
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.mapping.Join java.lang.String org.hibernate.annotations.Table org.hibernate.annotations.Table
      StackMap stack:
            aload 4 /* matchingTable */
            areturn
        end local 4 // org.hibernate.annotations.Table matchingTable
        end local 3 // org.hibernate.annotations.Table table
        end local 2 // java.lang.String tableName
        end local 1 // org.hibernate.mapping.Join join
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   16     1           join  Lorg/hibernate/mapping/Join;
            1   16     2      tableName  Ljava/lang/String;
            2   16     3          table  Lorg/hibernate/annotations/Table;
            3   16     4  matchingTable  Lorg/hibernate/annotations/Table;
            7   15     5         tables  Lorg/hibernate/annotations/Tables;
           10   13     6        current  Lorg/hibernate/annotations/Table;
    MethodParameters:
      Name  Flags
      join  

  public void firstLevelSecondaryTablesBinding(javax.persistence.SecondaryTable, javax.persistence.SecondaryTables);
    descriptor: (Ljavax/persistence/SecondaryTable;Ljavax/persistence/SecondaryTables;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // javax.persistence.SecondaryTable secTable
        start local 2 // javax.persistence.SecondaryTables secTables
         0: .line 1044
            aload 2 /* secTables */
            ifnull 7
         1: .line 1046
            aload 2 /* secTables */
            invokeinterface javax.persistence.SecondaryTables.value:()[Ljavax/persistence/SecondaryTable;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder javax.persistence.SecondaryTable javax.persistence.SecondaryTables top int int javax.persistence.SecondaryTable[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* tab */
        start local 3 // javax.persistence.SecondaryTable tab
         3: .line 1047
            aload 0 /* this */
            aload 3 /* tab */
            aconst_null
            aconst_null
            iconst_0
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.addJoin:(Ljavax/persistence/SecondaryTable;Ljavax/persistence/JoinTable;Lorg/hibernate/cfg/PropertyHolder;Z)Lorg/hibernate/mapping/Join;
            pop
        end local 3 // javax.persistence.SecondaryTable tab
         4: .line 1046
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 1049
            goto 8
         7: .line 1051
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder javax.persistence.SecondaryTable javax.persistence.SecondaryTables
      StackMap stack:
            aload 1 /* secTable */
            ifnull 8
            aload 0 /* this */
            aload 1 /* secTable */
            aconst_null
            aconst_null
            iconst_0
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.addJoin:(Ljavax/persistence/SecondaryTable;Ljavax/persistence/JoinTable;Lorg/hibernate/cfg/PropertyHolder;Z)Lorg/hibernate/mapping/Join;
            pop
         8: .line 1053
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javax.persistence.SecondaryTables secTables
        end local 1 // javax.persistence.SecondaryTable secTable
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    9     1   secTable  Ljavax/persistence/SecondaryTable;
            0    9     2  secTables  Ljavax/persistence/SecondaryTables;
            3    4     3        tab  Ljavax/persistence/SecondaryTable;
    MethodParameters:
           Name  Flags
      secTable   
      secTables  

  public org.hibernate.mapping.Join addJoin(javax.persistence.JoinTable, org.hibernate.cfg.PropertyHolder, boolean);
    descriptor: (Ljavax/persistence/JoinTable;Lorg/hibernate/cfg/PropertyHolder;Z)Lorg/hibernate/mapping/Join;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // javax.persistence.JoinTable joinTable
        start local 2 // org.hibernate.cfg.PropertyHolder holder
        start local 3 // boolean noDelayInPkColumnCreation
         0: .line 1057
            aload 0 /* this */
            aconst_null
            aload 1 /* joinTable */
            aload 2 /* holder */
            iload 3 /* noDelayInPkColumnCreation */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.addJoin:(Ljavax/persistence/SecondaryTable;Ljavax/persistence/JoinTable;Lorg/hibernate/cfg/PropertyHolder;Z)Lorg/hibernate/mapping/Join;
            areturn
        end local 3 // boolean noDelayInPkColumnCreation
        end local 2 // org.hibernate.cfg.PropertyHolder holder
        end local 1 // javax.persistence.JoinTable joinTable
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    1     0                       this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    1     1                  joinTable  Ljavax/persistence/JoinTable;
            0    1     2                     holder  Lorg/hibernate/cfg/PropertyHolder;
            0    1     3  noDelayInPkColumnCreation  Z
    MethodParameters:
                           Name  Flags
      joinTable                  
      holder                     
      noDelayInPkColumnCreation  

  private org.hibernate.mapping.Join addJoin(javax.persistence.SecondaryTable, javax.persistence.JoinTable, org.hibernate.cfg.PropertyHolder, boolean);
    descriptor: (Ljavax/persistence/SecondaryTable;Ljavax/persistence/JoinTable;Lorg/hibernate/cfg/PropertyHolder;Z)Lorg/hibernate/mapping/Join;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=14, args_size=5
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // javax.persistence.SecondaryTable secondaryTable
        start local 2 // javax.persistence.JoinTable joinTable
        start local 3 // org.hibernate.cfg.PropertyHolder propertyHolder
        start local 4 // boolean noDelayInPkColumnCreation
         0: .line 1093
            new org.hibernate.mapping.Join
            dup
            invokespecial org.hibernate.mapping.Join.<init>:()V
            astore 5 /* join */
        start local 5 // org.hibernate.mapping.Join join
         1: .line 1094
            aload 5 /* join */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.Join.setPersistentClass:(Lorg/hibernate/mapping/PersistentClass;)V
         2: .line 1102
            aload 1 /* secondaryTable */
            ifnull 17
         3: .line 1103
            aload 1 /* secondaryTable */
            invokeinterface javax.persistence.SecondaryTable.schema:()Ljava/lang/String;
            astore 6 /* schema */
        start local 6 // java.lang.String schema
         4: .line 1104
            aload 1 /* secondaryTable */
            invokeinterface javax.persistence.SecondaryTable.catalog:()Ljava/lang/String;
            astore 7 /* catalog */
        start local 7 // java.lang.String catalog
         5: .line 1105
            new org.hibernate.boot.model.relational.QualifiedTableName
            dup
         6: .line 1106
            aload 7 /* catalog */
            invokestatic org.hibernate.boot.model.naming.Identifier.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
         7: .line 1107
            aload 6 /* schema */
            invokestatic org.hibernate.boot.model.naming.Identifier.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
         8: .line 1108
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
         9: .line 1109
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
        10: .line 1110
            invokevirtual org.hibernate.boot.model.relational.Database.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
        11: .line 1111
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getIdentifierHelper:()Lorg/hibernate/engine/jdbc/env/spi/IdentifierHelper;
        12: .line 1112
            aload 1 /* secondaryTable */
            invokeinterface javax.persistence.SecondaryTable.name:()Ljava/lang/String;
            invokeinterface org.hibernate.engine.jdbc.env.spi.IdentifierHelper.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
        13: .line 1105
            invokespecial org.hibernate.boot.model.relational.QualifiedTableName.<init>:(Lorg/hibernate/boot/model/naming/Identifier;Lorg/hibernate/boot/model/naming/Identifier;Lorg/hibernate/boot/model/naming/Identifier;)V
            astore 10 /* logicalName */
        start local 10 // org.hibernate.boot.model.relational.QualifiedTableName logicalName
        14: .line 1114
            aload 1 /* secondaryTable */
            invokeinterface javax.persistence.SecondaryTable.pkJoinColumns:()[Ljavax/persistence/PrimaryKeyJoinColumn;
            astore 8 /* joinColumns */
        start local 8 // java.lang.Object joinColumns
        15: .line 1115
            aload 1 /* secondaryTable */
            invokeinterface javax.persistence.SecondaryTable.uniqueConstraints:()[Ljavax/persistence/UniqueConstraint;
            invokestatic org.hibernate.cfg.annotations.TableBinder.buildUniqueConstraintHolders:([Ljavax/persistence/UniqueConstraint;)Ljava/util/List;
            astore 9 /* uniqueConstraintHolders */
        start local 9 // java.util.List uniqueConstraintHolders
        16: .line 1116
            goto 33
        end local 10 // org.hibernate.boot.model.relational.QualifiedTableName logicalName
        end local 9 // java.util.List uniqueConstraintHolders
        end local 8 // java.lang.Object joinColumns
        end local 7 // java.lang.String catalog
        end local 6 // java.lang.String schema
        17: .line 1117
      StackMap locals: org.hibernate.mapping.Join
      StackMap stack:
            aload 2 /* joinTable */
            ifnull 32
        18: .line 1118
            aload 2 /* joinTable */
            invokeinterface javax.persistence.JoinTable.schema:()Ljava/lang/String;
            astore 6 /* schema */
        start local 6 // java.lang.String schema
        19: .line 1119
            aload 2 /* joinTable */
            invokeinterface javax.persistence.JoinTable.catalog:()Ljava/lang/String;
            astore 7 /* catalog */
        start local 7 // java.lang.String catalog
        20: .line 1120
            new org.hibernate.boot.model.relational.QualifiedTableName
            dup
        21: .line 1121
            aload 7 /* catalog */
            invokestatic org.hibernate.boot.model.naming.Identifier.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
        22: .line 1122
            aload 6 /* schema */
            invokestatic org.hibernate.boot.model.naming.Identifier.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
        23: .line 1123
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        24: .line 1124
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
        25: .line 1125
            invokevirtual org.hibernate.boot.model.relational.Database.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
        26: .line 1126
            invokeinterface org.hibernate.engine.jdbc.env.spi.JdbcEnvironment.getIdentifierHelper:()Lorg/hibernate/engine/jdbc/env/spi/IdentifierHelper;
        27: .line 1127
            aload 2 /* joinTable */
            invokeinterface javax.persistence.JoinTable.name:()Ljava/lang/String;
            invokeinterface org.hibernate.engine.jdbc.env.spi.IdentifierHelper.toIdentifier:(Ljava/lang/String;)Lorg/hibernate/boot/model/naming/Identifier;
        28: .line 1120
            invokespecial org.hibernate.boot.model.relational.QualifiedTableName.<init>:(Lorg/hibernate/boot/model/naming/Identifier;Lorg/hibernate/boot/model/naming/Identifier;Lorg/hibernate/boot/model/naming/Identifier;)V
            astore 10 /* logicalName */
        start local 10 // org.hibernate.boot.model.relational.QualifiedTableName logicalName
        29: .line 1129
            aload 2 /* joinTable */
            invokeinterface javax.persistence.JoinTable.joinColumns:()[Ljavax/persistence/JoinColumn;
            astore 8 /* joinColumns */
        start local 8 // java.lang.Object joinColumns
        30: .line 1130
            aload 2 /* joinTable */
            invokeinterface javax.persistence.JoinTable.uniqueConstraints:()[Ljavax/persistence/UniqueConstraint;
            invokestatic org.hibernate.cfg.annotations.TableBinder.buildUniqueConstraintHolders:([Ljavax/persistence/UniqueConstraint;)Ljava/util/List;
            astore 9 /* uniqueConstraintHolders */
        start local 9 // java.util.List uniqueConstraintHolders
        31: .line 1131
            goto 33
        end local 10 // org.hibernate.boot.model.relational.QualifiedTableName logicalName
        end local 9 // java.util.List uniqueConstraintHolders
        end local 8 // java.lang.Object joinColumns
        end local 7 // java.lang.String catalog
        end local 6 // java.lang.String schema
        32: .line 1133
      StackMap locals:
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
            ldc "Both JoinTable and SecondaryTable are null"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        start local 6 // java.lang.String schema
        start local 7 // java.lang.String catalog
        start local 8 // java.lang.Object joinColumns
        start local 9 // java.util.List uniqueConstraintHolders
        start local 10 // org.hibernate.boot.model.relational.QualifiedTableName logicalName
        33: .line 1137
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder javax.persistence.SecondaryTable javax.persistence.JoinTable org.hibernate.cfg.PropertyHolder int org.hibernate.mapping.Join java.lang.String java.lang.String java.lang.Object java.util.List org.hibernate.boot.model.relational.QualifiedTableName
      StackMap stack:
            aload 6 /* schema */
        34: .line 1138
            aload 7 /* catalog */
        35: .line 1139
            aload 10 /* logicalName */
            invokevirtual org.hibernate.boot.model.relational.QualifiedTableName.getTableName:()Lorg/hibernate/boot/model/naming/Identifier;
        36: .line 1140
            iconst_0
        37: .line 1141
            aload 9 /* uniqueConstraintHolders */
        38: .line 1142
            aconst_null
        39: .line 1143
            aconst_null
        40: .line 1144
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
        41: .line 1145
            aconst_null
        42: .line 1146
            aconst_null
        43: .line 1136
            invokestatic org.hibernate.cfg.annotations.TableBinder.buildAndFillTable:(Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/boot/model/naming/Identifier;ZLjava/util/List;Ljava/util/List;Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;Ljava/lang/String;Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;)Lorg/hibernate/mapping/Table;
            astore 11 /* table */
        start local 11 // org.hibernate.mapping.Table table
        44: .line 1149
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getEntityTableXref:(Ljava/lang/String;)Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;
            astore 12 /* tableXref */
        start local 12 // org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref tableXref
        45: .line 1150
            getstatic org.hibernate.cfg.annotations.EntityBinder.$assertionsDisabled:Z
            ifne 46
            aload 12 /* tableXref */
            ifnonnull 46
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not locate EntityTableXref for entity ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        46: .line 1151
      StackMap locals: org.hibernate.mapping.Table org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref
      StackMap stack:
            aload 12 /* tableXref */
            aload 10 /* logicalName */
            aload 5 /* join */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref.addSecondaryTable:(Lorg/hibernate/boot/model/relational/QualifiedTableName;Lorg/hibernate/mapping/Join;)V
        47: .line 1153
            aload 1 /* secondaryTable */
            ifnull 49
        48: .line 1154
            aload 11 /* table */
            aload 1 /* secondaryTable */
            invokeinterface javax.persistence.SecondaryTable.indexes:()[Ljavax/persistence/Index;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokestatic org.hibernate.cfg.annotations.TableBinder.addIndexes:(Lorg/hibernate/mapping/Table;[Ljavax/persistence/Index;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
        49: .line 1158
      StackMap locals:
      StackMap stack:
            aload 5 /* join */
            aload 11 /* table */
            invokevirtual org.hibernate.mapping.Join.setTable:(Lorg/hibernate/mapping/Table;)V
        50: .line 1162
            getstatic org.hibernate.cfg.annotations.EntityBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Adding secondary table to entity %s -> %s"
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            aload 5 /* join */
            invokevirtual org.hibernate.mapping.Join.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        51: .line 1163
            aload 0 /* this */
            aload 5 /* join */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.findMatchingComplimentTableAnnotation:(Lorg/hibernate/mapping/Join;)Lorg/hibernate/annotations/Table;
            astore 13 /* matchingTable */
        start local 13 // org.hibernate.annotations.Table matchingTable
        52: .line 1164
            aload 13 /* matchingTable */
            ifnull 77
        53: .line 1165
            aload 5 /* join */
            getstatic org.hibernate.annotations.FetchMode.JOIN:Lorg/hibernate/annotations/FetchMode;
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.fetch:()Lorg/hibernate/annotations/FetchMode;
            if_acmpeq 54
            iconst_1
            goto 55
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder javax.persistence.SecondaryTable javax.persistence.JoinTable org.hibernate.cfg.PropertyHolder int org.hibernate.mapping.Join java.lang.String java.lang.String java.lang.Object java.util.List org.hibernate.boot.model.relational.QualifiedTableName org.hibernate.mapping.Table org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref org.hibernate.annotations.Table
      StackMap stack: org.hibernate.mapping.Join
        54: iconst_0
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder javax.persistence.SecondaryTable javax.persistence.JoinTable org.hibernate.cfg.PropertyHolder int org.hibernate.mapping.Join java.lang.String java.lang.String java.lang.Object java.util.List org.hibernate.boot.model.relational.QualifiedTableName org.hibernate.mapping.Table org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref org.hibernate.annotations.Table
      StackMap stack: org.hibernate.mapping.Join int
        55: invokevirtual org.hibernate.mapping.Join.setSequentialSelect:(Z)V
        56: .line 1166
            aload 5 /* join */
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.inverse:()Z
            invokevirtual org.hibernate.mapping.Join.setInverse:(Z)V
        57: .line 1167
            aload 5 /* join */
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.optional:()Z
            invokevirtual org.hibernate.mapping.Join.setOptional:(Z)V
        58: .line 1168
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlInsert:()Lorg/hibernate/annotations/SQLInsert;
            invokeinterface org.hibernate.annotations.SQLInsert.sql:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifne 64
        59: .line 1169
            aload 5 /* join */
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlInsert:()Lorg/hibernate/annotations/SQLInsert;
            invokeinterface org.hibernate.annotations.SQLInsert.sql:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
        60: .line 1170
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlInsert:()Lorg/hibernate/annotations/SQLInsert;
            invokeinterface org.hibernate.annotations.SQLInsert.callable:()Z
        61: .line 1172
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlInsert:()Lorg/hibernate/annotations/SQLInsert;
            invokeinterface org.hibernate.annotations.SQLInsert.check:()Lorg/hibernate/annotations/ResultCheckStyle;
            invokevirtual org.hibernate.annotations.ResultCheckStyle.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
        62: .line 1171
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        63: .line 1169
            invokevirtual org.hibernate.mapping.Join.setCustomSQLInsert:(Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
        64: .line 1176
      StackMap locals:
      StackMap stack:
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlUpdate:()Lorg/hibernate/annotations/SQLUpdate;
            invokeinterface org.hibernate.annotations.SQLUpdate.sql:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifne 70
        65: .line 1177
            aload 5 /* join */
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlUpdate:()Lorg/hibernate/annotations/SQLUpdate;
            invokeinterface org.hibernate.annotations.SQLUpdate.sql:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
        66: .line 1178
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlUpdate:()Lorg/hibernate/annotations/SQLUpdate;
            invokeinterface org.hibernate.annotations.SQLUpdate.callable:()Z
        67: .line 1180
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlUpdate:()Lorg/hibernate/annotations/SQLUpdate;
            invokeinterface org.hibernate.annotations.SQLUpdate.check:()Lorg/hibernate/annotations/ResultCheckStyle;
            invokevirtual org.hibernate.annotations.ResultCheckStyle.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
        68: .line 1179
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        69: .line 1177
            invokevirtual org.hibernate.mapping.Join.setCustomSQLUpdate:(Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
        70: .line 1184
      StackMap locals:
      StackMap stack:
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlDelete:()Lorg/hibernate/annotations/SQLDelete;
            invokeinterface org.hibernate.annotations.SQLDelete.sql:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifne 80
        71: .line 1185
            aload 5 /* join */
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlDelete:()Lorg/hibernate/annotations/SQLDelete;
            invokeinterface org.hibernate.annotations.SQLDelete.sql:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
        72: .line 1186
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlDelete:()Lorg/hibernate/annotations/SQLDelete;
            invokeinterface org.hibernate.annotations.SQLDelete.callable:()Z
        73: .line 1188
            aload 13 /* matchingTable */
            invokeinterface org.hibernate.annotations.Table.sqlDelete:()Lorg/hibernate/annotations/SQLDelete;
            invokeinterface org.hibernate.annotations.SQLDelete.check:()Lorg/hibernate/annotations/ResultCheckStyle;
            invokevirtual org.hibernate.annotations.ResultCheckStyle.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
        74: .line 1187
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        75: .line 1185
            invokevirtual org.hibernate.mapping.Join.setCustomSQLDelete:(Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
        76: .line 1192
            goto 80
        77: .line 1195
      StackMap locals:
      StackMap stack:
            aload 5 /* join */
            iconst_0
            invokevirtual org.hibernate.mapping.Join.setSequentialSelect:(Z)V
        78: .line 1196
            aload 5 /* join */
            iconst_0
            invokevirtual org.hibernate.mapping.Join.setInverse:(Z)V
        79: .line 1197
            aload 5 /* join */
            iconst_1
            invokevirtual org.hibernate.mapping.Join.setOptional:(Z)V
        80: .line 1200
      StackMap locals:
      StackMap stack:
            iload 4 /* noDelayInPkColumnCreation */
            ifeq 83
        81: .line 1201
            aload 0 /* this */
            aload 8 /* joinColumns */
            aload 3 /* propertyHolder */
            aload 5 /* join */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.createPrimaryColumnsToSecondaryTable:(Ljava/lang/Object;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/mapping/Join;)V
        82: .line 1202
            goto 85
        83: .line 1204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.secondaryTables:Ljava/util/Map;
            aload 11 /* table */
            invokevirtual org.hibernate.mapping.Table.getQuotedName:()Ljava/lang/String;
            aload 5 /* join */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        84: .line 1205
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.secondaryTableJoins:Ljava/util/Map;
            aload 11 /* table */
            invokevirtual org.hibernate.mapping.Table.getQuotedName:()Ljava/lang/String;
            aload 8 /* joinColumns */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        85: .line 1208
      StackMap locals:
      StackMap stack:
            aload 5 /* join */
            areturn
        end local 13 // org.hibernate.annotations.Table matchingTable
        end local 12 // org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref tableXref
        end local 11 // org.hibernate.mapping.Table table
        end local 10 // org.hibernate.boot.model.relational.QualifiedTableName logicalName
        end local 9 // java.util.List uniqueConstraintHolders
        end local 8 // java.lang.Object joinColumns
        end local 7 // java.lang.String catalog
        end local 6 // java.lang.String schema
        end local 5 // org.hibernate.mapping.Join join
        end local 4 // boolean noDelayInPkColumnCreation
        end local 3 // org.hibernate.cfg.PropertyHolder propertyHolder
        end local 2 // javax.persistence.JoinTable joinTable
        end local 1 // javax.persistence.SecondaryTable secondaryTable
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   86     0                       this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   86     1             secondaryTable  Ljavax/persistence/SecondaryTable;
            0   86     2                  joinTable  Ljavax/persistence/JoinTable;
            0   86     3             propertyHolder  Lorg/hibernate/cfg/PropertyHolder;
            0   86     4  noDelayInPkColumnCreation  Z
            1   86     5                       join  Lorg/hibernate/mapping/Join;
            4   17     6                     schema  Ljava/lang/String;
           19   32     6                     schema  Ljava/lang/String;
           33   86     6                     schema  Ljava/lang/String;
            5   17     7                    catalog  Ljava/lang/String;
           20   32     7                    catalog  Ljava/lang/String;
           33   86     7                    catalog  Ljava/lang/String;
           15   17     8                joinColumns  Ljava/lang/Object;
           30   32     8                joinColumns  Ljava/lang/Object;
           33   86     8                joinColumns  Ljava/lang/Object;
           16   17     9    uniqueConstraintHolders  Ljava/util/List<Lorg/hibernate/cfg/UniqueConstraintHolder;>;
           31   32     9    uniqueConstraintHolders  Ljava/util/List<Lorg/hibernate/cfg/UniqueConstraintHolder;>;
           33   86     9    uniqueConstraintHolders  Ljava/util/List<Lorg/hibernate/cfg/UniqueConstraintHolder;>;
           14   17    10                logicalName  Lorg/hibernate/boot/model/relational/QualifiedTableName;
           29   32    10                logicalName  Lorg/hibernate/boot/model/relational/QualifiedTableName;
           33   86    10                logicalName  Lorg/hibernate/boot/model/relational/QualifiedTableName;
           44   86    11                      table  Lorg/hibernate/mapping/Table;
           45   86    12                  tableXref  Lorg/hibernate/boot/spi/InFlightMetadataCollector$EntityTableXref;
           52   86    13              matchingTable  Lorg/hibernate/annotations/Table;
    MethodParameters:
                           Name  Flags
      secondaryTable             
      joinTable                  
      propertyHolder             
      noDelayInPkColumnCreation  

  public java.util.Map<java.lang.String, org.hibernate.mapping.Join> getSecondaryTables();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
         0: .line 1212
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.secondaryTables:Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/annotations/EntityBinder;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/mapping/Join;>;

  public static java.lang.String getCacheConcurrencyStrategy(org.hibernate.annotations.CacheConcurrencyStrategy);
    descriptor: (Lorg/hibernate/annotations/CacheConcurrencyStrategy;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.hibernate.annotations.CacheConcurrencyStrategy strategy
         0: .line 1216
            aload 0 /* strategy */
            invokevirtual org.hibernate.annotations.CacheConcurrencyStrategy.toAccessType:()Lorg/hibernate/cache/spi/access/AccessType;
            astore 1 /* accessType */
        start local 1 // org.hibernate.cache.spi.access.AccessType accessType
         1: .line 1217
            aload 1 /* accessType */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.hibernate.cache.spi.access.AccessType
      StackMap stack:
         2: aload 1 /* accessType */
            invokevirtual org.hibernate.cache.spi.access.AccessType.getExternalName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // org.hibernate.cache.spi.access.AccessType accessType
        end local 0 // org.hibernate.annotations.CacheConcurrencyStrategy strategy
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0    strategy  Lorg/hibernate/annotations/CacheConcurrencyStrategy;
            1    4     1  accessType  Lorg/hibernate/cache/spi/access/AccessType;
    MethodParameters:
          Name  Flags
      strategy  

  public void addFilter(org.hibernate.annotations.Filter);
    descriptor: (Lorg/hibernate/annotations/Filter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.Filter filter
         0: .line 1221
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.filters:Ljava/util/List;
            aload 1 /* filter */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1222
            return
        end local 1 // org.hibernate.annotations.Filter filter
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    2     1  filter  Lorg/hibernate/annotations/Filter;
    MethodParameters:
        Name  Flags
      filter  

  public void setInheritanceState(org.hibernate.cfg.InheritanceState);
    descriptor: (Lorg/hibernate/cfg/InheritanceState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.cfg.InheritanceState inheritanceState
         0: .line 1225
            aload 0 /* this */
            aload 1 /* inheritanceState */
            putfield org.hibernate.cfg.annotations.EntityBinder.inheritanceState:Lorg/hibernate/cfg/InheritanceState;
         1: .line 1226
            return
        end local 1 // org.hibernate.cfg.InheritanceState inheritanceState
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    2     1  inheritanceState  Lorg/hibernate/cfg/InheritanceState;
    MethodParameters:
                  Name  Flags
      inheritanceState  

  public boolean isIgnoreIdAnnotations();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
         0: .line 1229
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.ignoreIdAnnotations:Z
            ireturn
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/annotations/EntityBinder;

  public void setIgnoreIdAnnotations(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // boolean ignoreIdAnnotations
         0: .line 1233
            aload 0 /* this */
            iload 1 /* ignoreIdAnnotations */
            putfield org.hibernate.cfg.annotations.EntityBinder.ignoreIdAnnotations:Z
         1: .line 1234
            return
        end local 1 // boolean ignoreIdAnnotations
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    2     1  ignoreIdAnnotations  Z
    MethodParameters:
                     Name  Flags
      ignoreIdAnnotations  

  public void processComplementaryTableDefinitions(javax.persistence.Table);
    descriptor: (Ljavax/persistence/Table;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // javax.persistence.Table table
         0: .line 1236
            aload 1 /* table */
            ifnonnull 1
            return
         1: .line 1237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            aload 1 /* table */
            invokeinterface javax.persistence.Table.indexes:()[Ljavax/persistence/Index;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokestatic org.hibernate.cfg.annotations.TableBinder.addIndexes:(Lorg/hibernate/mapping/Table;[Ljavax/persistence/Index;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
         2: .line 1238
            return
        end local 1 // javax.persistence.Table table
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    3     1  table  Ljavax/persistence/Table;
    MethodParameters:
       Name  Flags
      table  

  public void processComplementaryTableDefinitions(org.hibernate.annotations.Table);
    descriptor: (Lorg/hibernate/annotations/Table;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.Table table
         0: .line 1241
            aload 1 /* table */
            ifnonnull 1
            return
         1: .line 1242
      StackMap locals:
      StackMap stack:
            aload 1 /* table */
            invokeinterface org.hibernate.annotations.Table.appliesTo:()Ljava/lang/String;
            astore 2 /* appliedTable */
        start local 2 // java.lang.String appliedTable
         2: .line 1243
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getTableClosureIterator:()Ljava/util/Iterator;
            astore 3 /* tables */
        start local 3 // java.util.Iterator tables
         3: .line 1244
            aconst_null
            astore 4 /* hibTable */
        start local 4 // org.hibernate.mapping.Table hibTable
         4: .line 1245
            goto 10
         5: .line 1246
      StackMap locals: java.lang.String java.util.Iterator org.hibernate.mapping.Table
      StackMap stack:
            aload 3 /* tables */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Table
            astore 5 /* pcTable */
        start local 5 // org.hibernate.mapping.Table pcTable
         6: .line 1247
            aload 5 /* pcTable */
            invokevirtual org.hibernate.mapping.Table.getQuotedName:()Ljava/lang/String;
            aload 2 /* appliedTable */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 1249
            aload 5 /* pcTable */
            astore 4 /* hibTable */
         8: .line 1250
            goto 11
         9: .line 1252
      StackMap locals: org.hibernate.mapping.Table
      StackMap stack:
            aconst_null
            astore 4 /* hibTable */
        end local 5 // org.hibernate.mapping.Table pcTable
        10: .line 1245
      StackMap locals:
      StackMap stack:
            aload 3 /* tables */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 1254
      StackMap locals:
      StackMap stack:
            aload 4 /* hibTable */
            ifnonnull 18
        12: .line 1256
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.secondaryTables:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 17
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Table java.lang.String java.util.Iterator org.hibernate.mapping.Table top java.util.Iterator
      StackMap stack:
        13: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Join
            astore 5 /* join */
        start local 5 // org.hibernate.mapping.Join join
        14: .line 1257
            aload 5 /* join */
            invokevirtual org.hibernate.mapping.Join.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.getQuotedName:()Ljava/lang/String;
            aload 2 /* appliedTable */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 1258
            aload 5 /* join */
            invokevirtual org.hibernate.mapping.Join.getTable:()Lorg/hibernate/mapping/Table;
            astore 4 /* hibTable */
        16: .line 1259
            goto 18
        end local 5 // org.hibernate.mapping.Join join
        17: .line 1256
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        18: .line 1263
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Table java.lang.String java.util.Iterator org.hibernate.mapping.Table
      StackMap stack:
            aload 4 /* hibTable */
            ifnonnull 22
        19: .line 1264
            new org.hibernate.AnnotationException
            dup
        20: .line 1265
            new java.lang.StringBuilder
            dup
            ldc "@org.hibernate.annotations.Table references an unknown table: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* appliedTable */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 1264
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 1268
      StackMap locals:
      StackMap stack:
            aload 1 /* table */
            invokeinterface org.hibernate.annotations.Table.comment:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifne 23
            aload 4 /* hibTable */
            aload 1 /* table */
            invokeinterface org.hibernate.annotations.Table.comment:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Table.setComment:(Ljava/lang/String;)V
        23: .line 1269
      StackMap locals:
      StackMap stack:
            aload 4 /* hibTable */
            aload 1 /* table */
            invokeinterface org.hibernate.annotations.Table.indexes:()[Lorg/hibernate/annotations/Index;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.context:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokestatic org.hibernate.cfg.annotations.TableBinder.addIndexes:(Lorg/hibernate/mapping/Table;[Lorg/hibernate/annotations/Index;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
        24: .line 1270
            return
        end local 4 // org.hibernate.mapping.Table hibTable
        end local 3 // java.util.Iterator tables
        end local 2 // java.lang.String appliedTable
        end local 1 // org.hibernate.annotations.Table table
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   25     1         table  Lorg/hibernate/annotations/Table;
            2   25     2  appliedTable  Ljava/lang/String;
            3   25     3        tables  Ljava/util/Iterator;
            4   25     4      hibTable  Lorg/hibernate/mapping/Table;
            6   10     5       pcTable  Lorg/hibernate/mapping/Table;
           14   17     5          join  Lorg/hibernate/mapping/Join;
    MethodParameters:
       Name  Flags
      table  

  public void processComplementaryTableDefinitions(org.hibernate.annotations.Tables);
    descriptor: (Lorg/hibernate/annotations/Tables;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.Tables tables
         0: .line 1273
            aload 1 /* tables */
            ifnonnull 1
            return
         1: .line 1274
      StackMap locals:
      StackMap stack:
            aload 1 /* tables */
            invokeinterface org.hibernate.annotations.Tables.value:()[Lorg/hibernate/annotations/Table;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.Tables top int int org.hibernate.annotations.Table[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* table */
        start local 2 // org.hibernate.annotations.Table table
         3: .line 1275
            aload 0 /* this */
            aload 2 /* table */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions:(Lorg/hibernate/annotations/Table;)V
        end local 2 // org.hibernate.annotations.Table table
         4: .line 1274
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 1277
            return
        end local 1 // org.hibernate.annotations.Tables tables
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    7     1  tables  Lorg/hibernate/annotations/Tables;
            3    4     2   table  Lorg/hibernate/annotations/Table;
    MethodParameters:
        Name  Flags
      tables  

  public org.hibernate.cfg.AccessType getPropertyAccessType();
    descriptor: ()Lorg/hibernate/cfg/AccessType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
         0: .line 1280
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.propertyAccessType:Lorg/hibernate/cfg/AccessType;
            areturn
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/annotations/EntityBinder;

  public void setPropertyAccessType(org.hibernate.cfg.AccessType);
    descriptor: (Lorg/hibernate/cfg/AccessType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.cfg.AccessType propertyAccessor
         0: .line 1284
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.getExplicitAccessType:(Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;)Lorg/hibernate/cfg/AccessType;
            putfield org.hibernate.cfg.annotations.EntityBinder.propertyAccessType:Lorg/hibernate/cfg/AccessType;
         1: .line 1286
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.propertyAccessType:Lorg/hibernate/cfg/AccessType;
            ifnonnull 3
         2: .line 1287
            aload 0 /* this */
            aload 1 /* propertyAccessor */
            putfield org.hibernate.cfg.annotations.EntityBinder.propertyAccessType:Lorg/hibernate/cfg/AccessType;
         3: .line 1289
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hibernate.cfg.AccessType propertyAccessor
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    4     1  propertyAccessor  Lorg/hibernate/cfg/AccessType;
    MethodParameters:
                  Name  Flags
      propertyAccessor  

  public org.hibernate.cfg.AccessType getPropertyAccessor(org.hibernate.annotations.common.reflection.XAnnotatedElement);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;)Lorg/hibernate/cfg/AccessType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.common.reflection.XAnnotatedElement element
         0: .line 1292
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.getExplicitAccessType:(Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;)Lorg/hibernate/cfg/AccessType;
            astore 2 /* accessType */
        start local 2 // org.hibernate.cfg.AccessType accessType
         1: .line 1293
            aload 2 /* accessType */
            ifnonnull 3
         2: .line 1294
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.propertyAccessType:Lorg/hibernate/cfg/AccessType;
            astore 2 /* accessType */
         3: .line 1296
      StackMap locals: org.hibernate.cfg.AccessType
      StackMap stack:
            aload 2 /* accessType */
            areturn
        end local 2 // org.hibernate.cfg.AccessType accessType
        end local 1 // org.hibernate.annotations.common.reflection.XAnnotatedElement element
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0    4     1     element  Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;
            1    4     2  accessType  Lorg/hibernate/cfg/AccessType;
    MethodParameters:
         Name  Flags
      element  

  public org.hibernate.cfg.AccessType getExplicitAccessType(org.hibernate.annotations.common.reflection.XAnnotatedElement);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;)Lorg/hibernate/cfg/AccessType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.hibernate.cfg.annotations.EntityBinder this
        start local 1 // org.hibernate.annotations.common.reflection.XAnnotatedElement element
         0: .line 1300
            aconst_null
            astore 2 /* accessType */
        start local 2 // org.hibernate.cfg.AccessType accessType
         1: .line 1302
            aconst_null
            astore 3 /* hibernateAccessType */
        start local 3 // org.hibernate.cfg.AccessType hibernateAccessType
         2: .line 1303
            aconst_null
            astore 4 /* jpaAccessType */
        start local 4 // org.hibernate.cfg.AccessType jpaAccessType
         3: .line 1305
            aload 1 /* element */
            ldc Lorg/hibernate/annotations/AccessType;
            invokeinterface org.hibernate.annotations.common.reflection.XAnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.AccessType
            astore 5 /* accessTypeAnnotation */
        start local 5 // org.hibernate.annotations.AccessType accessTypeAnnotation
         4: .line 1306
            aload 5 /* accessTypeAnnotation */
            ifnull 6
         5: .line 1307
            aload 5 /* accessTypeAnnotation */
            invokeinterface org.hibernate.annotations.AccessType.value:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.AccessType.getAccessStrategy:(Ljava/lang/String;)Lorg/hibernate/cfg/AccessType;
            astore 3 /* hibernateAccessType */
         6: .line 1310
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.annotations.common.reflection.XAnnotatedElement org.hibernate.cfg.AccessType org.hibernate.cfg.AccessType org.hibernate.cfg.AccessType org.hibernate.annotations.AccessType
      StackMap stack:
            aload 1 /* element */
            ldc Ljavax/persistence/Access;
            invokeinterface org.hibernate.annotations.common.reflection.XAnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.Access
            astore 6 /* access */
        start local 6 // javax.persistence.Access access
         7: .line 1311
            aload 6 /* access */
            ifnull 9
         8: .line 1312
            aload 6 /* access */
            invokeinterface javax.persistence.Access.value:()Ljavax/persistence/AccessType;
            invokestatic org.hibernate.cfg.AccessType.getAccessStrategy:(Ljavax/persistence/AccessType;)Lorg/hibernate/cfg/AccessType;
            astore 4 /* jpaAccessType */
         9: .line 1315
      StackMap locals: javax.persistence.Access
      StackMap stack:
            aload 3 /* hibernateAccessType */
            ifnull 13
            aload 4 /* jpaAccessType */
            ifnull 13
            aload 3 /* hibernateAccessType */
            aload 4 /* jpaAccessType */
            if_acmpeq 13
        10: .line 1316
            new org.hibernate.MappingException
            dup
        11: .line 1317
            new java.lang.StringBuilder
            dup
            ldc "Found @Access and @AccessType with conflicting values on a property in class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.EntityBinder.annotatedClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 1316
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1321
      StackMap locals:
      StackMap stack:
            aload 3 /* hibernateAccessType */
            ifnull 16
        14: .line 1322
            aload 3 /* hibernateAccessType */
            astore 2 /* accessType */
        15: .line 1323
            goto 18
        16: .line 1324
      StackMap locals:
      StackMap stack:
            aload 4 /* jpaAccessType */
            ifnull 18
        17: .line 1325
            aload 4 /* jpaAccessType */
            astore 2 /* accessType */
        18: .line 1328
      StackMap locals:
      StackMap stack:
            aload 2 /* accessType */
            areturn
        end local 6 // javax.persistence.Access access
        end local 5 // org.hibernate.annotations.AccessType accessTypeAnnotation
        end local 4 // org.hibernate.cfg.AccessType jpaAccessType
        end local 3 // org.hibernate.cfg.AccessType hibernateAccessType
        end local 2 // org.hibernate.cfg.AccessType accessType
        end local 1 // org.hibernate.annotations.common.reflection.XAnnotatedElement element
        end local 0 // org.hibernate.cfg.annotations.EntityBinder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   19     0                  this  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   19     1               element  Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;
            1   19     2            accessType  Lorg/hibernate/cfg/AccessType;
            2   19     3   hibernateAccessType  Lorg/hibernate/cfg/AccessType;
            3   19     4         jpaAccessType  Lorg/hibernate/cfg/AccessType;
            4   19     5  accessTypeAnnotation  Lorg/hibernate/annotations/AccessType;
            7   19     6                access  Ljavax/persistence/Access;
    MethodParameters:
         Name  Flags
      element  

  static int[] $SWITCH_TABLE$org$hibernate$annotations$OptimisticLockType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 106
            getstatic org.hibernate.cfg.annotations.EntityBinder.$SWITCH_TABLE$org$hibernate$annotations$OptimisticLockType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.hibernate.annotations.OptimisticLockType.values:()[Lorg/hibernate/annotations/OptimisticLockType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.hibernate.annotations.OptimisticLockType.ALL:Lorg/hibernate/annotations/OptimisticLockType;
            invokevirtual org.hibernate.annotations.OptimisticLockType.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.hibernate.annotations.OptimisticLockType.DIRTY:Lorg/hibernate/annotations/OptimisticLockType;
            invokevirtual org.hibernate.annotations.OptimisticLockType.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.hibernate.annotations.OptimisticLockType.NONE:Lorg/hibernate/annotations/OptimisticLockType;
            invokevirtual org.hibernate.annotations.OptimisticLockType.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.hibernate.annotations.OptimisticLockType.VERSION:Lorg/hibernate/annotations/OptimisticLockType;
            invokevirtual org.hibernate.annotations.OptimisticLockType.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic org.hibernate.cfg.annotations.EntityBinder.$SWITCH_TABLE$org$hibernate$annotations$OptimisticLockType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$org$hibernate$annotations$PolymorphismType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 106
            getstatic org.hibernate.cfg.annotations.EntityBinder.$SWITCH_TABLE$org$hibernate$annotations$PolymorphismType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.hibernate.annotations.PolymorphismType.values:()[Lorg/hibernate/annotations/PolymorphismType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.hibernate.annotations.PolymorphismType.EXPLICIT:Lorg/hibernate/annotations/PolymorphismType;
            invokevirtual org.hibernate.annotations.PolymorphismType.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.hibernate.annotations.PolymorphismType.IMPLICIT:Lorg/hibernate/annotations/PolymorphismType;
            invokevirtual org.hibernate.annotations.PolymorphismType.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            dup
            putstatic org.hibernate.cfg.annotations.EntityBinder.$SWITCH_TABLE$org$hibernate$annotations$PolymorphismType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$javax$persistence$SharedCacheMode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 106
            getstatic org.hibernate.cfg.annotations.EntityBinder.$SWITCH_TABLE$javax$persistence$SharedCacheMode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic javax.persistence.SharedCacheMode.values:()[Ljavax/persistence/SharedCacheMode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic javax.persistence.SharedCacheMode.ALL:Ljavax/persistence/SharedCacheMode;
            invokevirtual javax.persistence.SharedCacheMode.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic javax.persistence.SharedCacheMode.DISABLE_SELECTIVE:Ljavax/persistence/SharedCacheMode;
            invokevirtual javax.persistence.SharedCacheMode.ordinal:()I
            iconst_4
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic javax.persistence.SharedCacheMode.ENABLE_SELECTIVE:Ljavax/persistence/SharedCacheMode;
            invokevirtual javax.persistence.SharedCacheMode.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic javax.persistence.SharedCacheMode.NONE:Ljavax/persistence/SharedCacheMode;
            invokevirtual javax.persistence.SharedCacheMode.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic javax.persistence.SharedCacheMode.UNSPECIFIED:Ljavax/persistence/SharedCacheMode;
            invokevirtual javax.persistence.SharedCacheMode.ordinal:()I
            iconst_5
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic org.hibernate.cfg.annotations.EntityBinder.$SWITCH_TABLE$javax$persistence$SharedCacheMode:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "EntityBinder.java"
NestMembers:
  org.hibernate.cfg.annotations.EntityBinder$EntityTableNamingStrategyHelper  org.hibernate.cfg.annotations.EntityBinder$EntityTableNamingStrategyHelper$1  org.hibernate.cfg.annotations.EntityBinder$EntityTableNamingStrategyHelper$1$1  org.hibernate.cfg.annotations.EntityBinder$EntityTableObjectNameSource  org.hibernate.cfg.annotations.EntityBinder$LocalCacheAnnotationStub  org.hibernate.cfg.annotations.EntityBinder$SecondaryTableNamingStrategyHelper
InnerClasses:
  public abstract EntityTableXref = org.hibernate.boot.spi.InFlightMetadataCollector$EntityTableXref of org.hibernate.boot.spi.InFlightMetadataCollector
  private EntityTableNamingStrategyHelper = org.hibernate.cfg.annotations.EntityBinder$EntityTableNamingStrategyHelper of org.hibernate.cfg.annotations.EntityBinder
  private EntityTableObjectNameSource = org.hibernate.cfg.annotations.EntityBinder$EntityTableObjectNameSource of org.hibernate.cfg.annotations.EntityBinder
  private LocalCacheAnnotationStub = org.hibernate.cfg.annotations.EntityBinder$LocalCacheAnnotationStub of org.hibernate.cfg.annotations.EntityBinder
  private SecondaryTableNamingStrategyHelper = org.hibernate.cfg.annotations.EntityBinder$SecondaryTableNamingStrategyHelper of org.hibernate.cfg.annotations.EntityBinder