public class org.hibernate.cfg.BinderHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.cfg.BinderHelper
  super_class: java.lang.Object
{
  public static final java.lang.String ANNOTATION_STRING_DEFAULT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: ""

  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jboss.logging.Logger log;
    descriptor: Lorg/jboss/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.util.Set<java.lang.String> PRIMITIVE_NAMES;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 74
            ldc Lorg/hibernate/cfg/BinderHelper;
            invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
            putstatic org.hibernate.cfg.BinderHelper.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 75
            ldc Lorg/hibernate/cfg/BinderHelper;
            invokestatic org.hibernate.internal.CoreLogging.logger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
            putstatic org.hibernate.cfg.BinderHelper.log:Lorg/jboss/logging/Logger;
         2: .line 81
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 0 /* primitiveNames */
        start local 0 // java.util.Set primitiveNames
         3: .line 82
            aload 0 /* primitiveNames */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 83
            aload 0 /* primitiveNames */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 84
            aload 0 /* primitiveNames */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 85
            aload 0 /* primitiveNames */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 86
            aload 0 /* primitiveNames */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 87
            aload 0 /* primitiveNames */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 88
            aload 0 /* primitiveNames */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 89
            aload 0 /* primitiveNames */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 90
            aload 0 /* primitiveNames */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            putstatic org.hibernate.cfg.BinderHelper.PRIMITIVE_NAMES:Ljava/util/Set;
        end local 0 // java.util.Set primitiveNames
        12: .line 93
            return
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            3   12     0  primitiveNames  Ljava/util/Set<Ljava/lang/String;>;

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.BinderHelper this
         0: .line 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 78
            return
        end local 0 // org.hibernate.cfg.BinderHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/cfg/BinderHelper;

  public static org.hibernate.mapping.Property shallowCopy(org.hibernate.mapping.Property);
    descriptor: (Lorg/hibernate/mapping/Property;)Lorg/hibernate/mapping/Property;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.mapping.Property property
         0: .line 99
            new org.hibernate.mapping.Property
            dup
            invokespecial org.hibernate.mapping.Property.<init>:()V
            astore 1 /* clone */
        start local 1 // org.hibernate.mapping.Property clone
         1: .line 100
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getCascade:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Property.setCascade:(Ljava/lang/String;)V
         2: .line 101
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isInsertable:()Z
            invokevirtual org.hibernate.mapping.Property.setInsertable:(Z)V
         3: .line 102
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isLazy:()Z
            invokevirtual org.hibernate.mapping.Property.setLazy:(Z)V
         4: .line 103
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Property.setName:(Ljava/lang/String;)V
         5: .line 104
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isNaturalIdentifier:()Z
            invokevirtual org.hibernate.mapping.Property.setNaturalIdentifier:(Z)V
         6: .line 105
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptimisticLocked:()Z
            invokevirtual org.hibernate.mapping.Property.setOptimisticLocked:(Z)V
         7: .line 106
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptional:()Z
            invokevirtual org.hibernate.mapping.Property.setOptional:(Z)V
         8: .line 107
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.Property.setPersistentClass:(Lorg/hibernate/mapping/PersistentClass;)V
         9: .line 108
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getPropertyAccessorName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Property.setPropertyAccessorName:(Ljava/lang/String;)V
        10: .line 109
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isSelectable:()Z
            invokevirtual org.hibernate.mapping.Property.setSelectable:(Z)V
        11: .line 110
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            invokevirtual org.hibernate.mapping.Property.setUpdateable:(Z)V
        12: .line 111
            aload 1 /* clone */
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            invokevirtual org.hibernate.mapping.Property.setValue:(Lorg/hibernate/mapping/Value;)V
        13: .line 112
            aload 1 /* clone */
            areturn
        end local 1 // org.hibernate.mapping.Property clone
        end local 0 // org.hibernate.mapping.Property property
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0  property  Lorg/hibernate/mapping/Property;
            1   14     1     clone  Lorg/hibernate/mapping/Property;
    MethodParameters:
          Name  Flags
      property  

  public static void createSyntheticPropertyReference(org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.mapping.PersistentClass, org.hibernate.mapping.PersistentClass, org.hibernate.mapping.Value, boolean, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: ([Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/Value;ZLorg/hibernate/boot/spi/MetadataBuildingContext;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=18, args_size=6
        start local 0 // org.hibernate.cfg.Ejb3JoinColumn[] columns
        start local 1 // org.hibernate.mapping.PersistentClass ownerEntity
        start local 2 // org.hibernate.mapping.PersistentClass associatedEntity
        start local 3 // org.hibernate.mapping.Value value
        start local 4 // boolean inverse
        start local 5 // org.hibernate.boot.spi.MetadataBuildingContext context
         0: .line 253
            aload 0 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.isImplicit:()Z
            ifne 1
            aload 0 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getMappedBy:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 254
      StackMap locals:
      StackMap stack:
            return
         2: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* columns */
            aload 1 /* ownerEntity */
            aload 5 /* context */
            invokestatic org.hibernate.cfg.Ejb3JoinColumn.checkReferencedColumnsType:([Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/boot/spi/MetadataBuildingContext;)I
            istore 6 /* fkEnum */
        start local 6 // int fkEnum
         3: .line 257
            aload 0 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyHolder:()Lorg/hibernate/cfg/PropertyHolder;
            ifnull 5
         4: .line 258
            aload 0 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyHolder:()Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            goto 6
         5: .line 259
      StackMap locals: int
      StackMap stack:
            aconst_null
         6: .line 257
      StackMap locals:
      StackMap stack: org.hibernate.mapping.PersistentClass
            astore 7 /* associatedClass */
        start local 7 // org.hibernate.mapping.PersistentClass associatedClass
         7: .line 260
            iconst_2
            iload 6 /* fkEnum */
            if_icmpne 95
         8: .line 268
            new java.lang.StringBuilder
            dup
            ldc "_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 8 /* propertyNameBuffer */
        start local 8 // java.lang.StringBuilder propertyNameBuffer
         9: .line 269
            aload 8 /* propertyNameBuffer */
            aload 7 /* associatedClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            bipush 46
            bipush 95
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 270
            aload 8 /* propertyNameBuffer */
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
            bipush 46
            bipush 95
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 271
            aload 8 /* propertyNameBuffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* syntheticPropertyName */
        start local 9 // java.lang.String syntheticPropertyName
        12: .line 273
            aload 1 /* ownerEntity */
            aload 0 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getReferencedColumn:()Ljava/lang/String;
            aload 5 /* context */
            invokestatic org.hibernate.cfg.BinderHelper.findColumnOwner:(Lorg/hibernate/mapping/PersistentClass;Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Ljava/lang/Object;
            astore 10 /* columnOwner */
        start local 10 // java.lang.Object columnOwner
        13: .line 274
            aload 10 /* columnOwner */
            aload 0 /* columns */
            aload 5 /* context */
            invokestatic org.hibernate.cfg.BinderHelper.findPropertiesByColumns:(Ljava/lang/Object;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Ljava/util/List;
            astore 11 /* properties */
        start local 11 // java.util.List properties
        14: .line 277
            aload 11 /* properties */
            ifnull 40
        15: .line 279
            aload 10 /* columnOwner */
            instanceof org.hibernate.mapping.PersistentClass
            ifeq 17
        16: .line 280
            new org.hibernate.mapping.Component
            dup
            aload 5 /* context */
            aload 10 /* columnOwner */
            checkcast org.hibernate.mapping.PersistentClass
            invokespecial org.hibernate.mapping.Component.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/PersistentClass;)V
            goto 18
        17: .line 281
      StackMap locals: org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.mapping.Value int org.hibernate.boot.spi.MetadataBuildingContext int org.hibernate.mapping.PersistentClass java.lang.StringBuilder java.lang.String java.lang.Object java.util.List
      StackMap stack:
            new org.hibernate.mapping.Component
            dup
            aload 5 /* context */
            aload 10 /* columnOwner */
            checkcast org.hibernate.mapping.Join
            invokespecial org.hibernate.mapping.Component.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/Join;)V
        18: .line 279
      StackMap locals:
      StackMap stack: org.hibernate.mapping.Component
            astore 13 /* embeddedComp */
        start local 13 // org.hibernate.mapping.Component embeddedComp
        19: .line 282
            aload 13 /* embeddedComp */
            iconst_1
            invokevirtual org.hibernate.mapping.Component.setEmbedded:(Z)V
        20: .line 283
            aload 13 /* embeddedComp */
            aload 13 /* embeddedComp */
            invokevirtual org.hibernate.mapping.Component.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getClassName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Component.setComponentClassName:(Ljava/lang/String;)V
        21: .line 284
            aload 11 /* properties */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 15
            goto 29
      StackMap locals: org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.mapping.Value int org.hibernate.boot.spi.MetadataBuildingContext int org.hibernate.mapping.PersistentClass java.lang.StringBuilder java.lang.String java.lang.Object java.util.List top org.hibernate.mapping.Component top java.util.Iterator
      StackMap stack:
        22: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 14 /* property */
        start local 14 // org.hibernate.mapping.Property property
        23: .line 285
            aload 14 /* property */
            invokestatic org.hibernate.cfg.BinderHelper.shallowCopy:(Lorg/hibernate/mapping/Property;)Lorg/hibernate/mapping/Property;
            astore 16 /* clone */
        start local 16 // org.hibernate.mapping.Property clone
        24: .line 286
            aload 16 /* clone */
            iconst_0
            invokevirtual org.hibernate.mapping.Property.setInsertable:(Z)V
        25: .line 287
            aload 16 /* clone */
            iconst_0
            invokevirtual org.hibernate.mapping.Property.setUpdateable:(Z)V
        26: .line 288
            aload 16 /* clone */
            iconst_0
            invokevirtual org.hibernate.mapping.Property.setNaturalIdentifier:(Z)V
        27: .line 289
            aload 16 /* clone */
            aload 14 /* property */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            invokevirtual org.hibernate.mapping.Property.setValueGenerationStrategy:(Lorg/hibernate/tuple/ValueGeneration;)V
        28: .line 290
            aload 13 /* embeddedComp */
            aload 16 /* clone */
            invokevirtual org.hibernate.mapping.Component.addProperty:(Lorg/hibernate/mapping/Property;)V
        end local 16 // org.hibernate.mapping.Property clone
        end local 14 // org.hibernate.mapping.Property property
        29: .line 284
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        30: .line 292
            new org.hibernate.mapping.SyntheticProperty
            dup
            invokespecial org.hibernate.mapping.SyntheticProperty.<init>:()V
            astore 12 /* synthProp */
        start local 12 // org.hibernate.mapping.Property synthProp
        31: .line 293
            aload 12 /* synthProp */
            aload 9 /* syntheticPropertyName */
            invokevirtual org.hibernate.mapping.Property.setName:(Ljava/lang/String;)V
        32: .line 294
            aload 12 /* synthProp */
            aload 1 /* ownerEntity */
            invokevirtual org.hibernate.mapping.Property.setPersistentClass:(Lorg/hibernate/mapping/PersistentClass;)V
        33: .line 295
            aload 12 /* synthProp */
            iconst_0
            invokevirtual org.hibernate.mapping.Property.setUpdateable:(Z)V
        34: .line 296
            aload 12 /* synthProp */
            iconst_0
            invokevirtual org.hibernate.mapping.Property.setInsertable:(Z)V
        35: .line 297
            aload 12 /* synthProp */
            aload 13 /* embeddedComp */
            invokevirtual org.hibernate.mapping.Property.setValue:(Lorg/hibernate/mapping/Value;)V
        36: .line 298
            aload 12 /* synthProp */
            ldc "embedded"
            invokevirtual org.hibernate.mapping.Property.setPropertyAccessorName:(Ljava/lang/String;)V
        37: .line 299
            aload 1 /* ownerEntity */
            aload 12 /* synthProp */
            invokevirtual org.hibernate.mapping.PersistentClass.addProperty:(Lorg/hibernate/mapping/Property;)V
        38: .line 301
            aload 13 /* embeddedComp */
            invokestatic org.hibernate.cfg.annotations.TableBinder.createUniqueConstraint:(Lorg/hibernate/mapping/Value;)V
        end local 13 // org.hibernate.mapping.Component embeddedComp
        39: .line 302
            goto 66
        end local 12 // org.hibernate.mapping.Property synthProp
        40: .line 305
      StackMap locals: org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.mapping.Value int org.hibernate.boot.spi.MetadataBuildingContext int org.hibernate.mapping.PersistentClass java.lang.StringBuilder java.lang.String java.lang.Object java.util.List
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 13 /* columnsList */
        start local 13 // java.lang.StringBuilder columnsList
        41: .line 306
            aload 13 /* columnsList */
            ldc "referencedColumnNames("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        42: .line 307
            aload 0 /* columns */
            dup
            astore 17
            arraylength
            istore 16
            iconst_0
            istore 15
            goto 46
      StackMap locals: org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.mapping.Value int org.hibernate.boot.spi.MetadataBuildingContext int org.hibernate.mapping.PersistentClass java.lang.StringBuilder java.lang.String java.lang.Object java.util.List top java.lang.StringBuilder top int int org.hibernate.cfg.Ejb3JoinColumn[]
      StackMap stack:
        43: aload 17
            iload 15
            aaload
            astore 14 /* column */
        start local 14 // org.hibernate.cfg.Ejb3JoinColumn column
        44: .line 308
            aload 13 /* columnsList */
            aload 14 /* column */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getReferencedColumn:()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;
            pop
        end local 14 // org.hibernate.cfg.Ejb3JoinColumn column
        45: .line 307
            iinc 15 1
      StackMap locals:
      StackMap stack:
        46: iload 15
            iload 16
            if_icmplt 43
        47: .line 310
            aload 13 /* columnsList */
            aload 13 /* columnsList */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_2
            isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        48: .line 311
            aload 13 /* columnsList */
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        49: .line 313
            aload 2 /* associatedEntity */
            ifnull 56
        50: .line 315
            aload 13 /* columnsList */
            ldc "of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        51: .line 316
            aload 2 /* associatedEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        52: .line 317
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        53: .line 318
            aload 0 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        54: .line 319
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        55: .line 320
            goto 62
        56: .line 322
      StackMap locals: org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.mapping.Value int org.hibernate.boot.spi.MetadataBuildingContext int org.hibernate.mapping.PersistentClass java.lang.StringBuilder java.lang.String java.lang.Object java.util.List top java.lang.StringBuilder
      StackMap stack:
            aload 0 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyHolder:()Lorg/hibernate/cfg/PropertyHolder;
            ifnull 62
        57: .line 323
            aload 13 /* columnsList */
            ldc "of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        58: .line 324
            aload 0 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyHolder:()Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        59: .line 325
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 326
            aload 0 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        61: .line 327
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        62: .line 330
      StackMap locals:
      StackMap stack:
            aload 13 /* columnsList */
            ldc "referencing "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        63: .line 331
            aload 1 /* ownerEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        64: .line 332
            ldc " not mapped to a single property"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        65: .line 333
            new org.hibernate.AnnotationException
            dup
            aload 13 /* columnsList */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // java.lang.StringBuilder columnsList
        start local 12 // org.hibernate.mapping.Property synthProp
        66: .line 339
      StackMap locals: org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.mapping.Value int org.hibernate.boot.spi.MetadataBuildingContext int org.hibernate.mapping.PersistentClass java.lang.StringBuilder java.lang.String java.lang.Object java.util.List org.hibernate.mapping.Property
      StackMap stack:
            aload 3 /* value */
            instanceof org.hibernate.mapping.ToOne
            ifeq 76
        67: .line 340
            aload 3 /* value */
            checkcast org.hibernate.mapping.ToOne
            aload 9 /* syntheticPropertyName */
            invokevirtual org.hibernate.mapping.ToOne.setReferencedPropertyName:(Ljava/lang/String;)V
        68: .line 341
            aload 3 /* value */
            checkcast org.hibernate.mapping.ToOne
            aload 9 /* syntheticPropertyName */
            ifnonnull 69
            iconst_1
            goto 70
      StackMap locals:
      StackMap stack: org.hibernate.mapping.ToOne
        69: iconst_0
      StackMap locals: org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.mapping.Value int org.hibernate.boot.spi.MetadataBuildingContext int org.hibernate.mapping.PersistentClass java.lang.StringBuilder java.lang.String java.lang.Object java.util.List org.hibernate.mapping.Property
      StackMap stack: org.hibernate.mapping.ToOne int
        70: invokevirtual org.hibernate.mapping.ToOne.setReferenceToPrimaryKey:(Z)V
        71: .line 342
            aload 5 /* context */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        72: .line 343
            aload 1 /* ownerEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
        73: .line 344
            aload 9 /* syntheticPropertyName */
        74: .line 342
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addUniquePropertyReference:(Ljava/lang/String;Ljava/lang/String;)V
        75: .line 346
            goto 88
        76: .line 347
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            instanceof org.hibernate.mapping.Collection
            ifeq 83
        77: .line 348
            aload 3 /* value */
            checkcast org.hibernate.mapping.Collection
            aload 9 /* syntheticPropertyName */
            invokevirtual org.hibernate.mapping.Collection.setReferencedPropertyName:(Ljava/lang/String;)V
        78: .line 350
            aload 5 /* context */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        79: .line 351
            aload 1 /* ownerEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
        80: .line 352
            aload 9 /* syntheticPropertyName */
        81: .line 350
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addPropertyReference:(Ljava/lang/String;Ljava/lang/String;)V
        82: .line 354
            goto 88
        83: .line 356
      StackMap locals:
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
        84: .line 357
            new java.lang.StringBuilder
            dup
            ldc "Do a property ref on an unexpected Value type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        85: .line 358
            aload 3 /* value */
            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;
        86: .line 357
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        87: .line 356
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        88: .line 361
      StackMap locals:
      StackMap stack:
            aload 5 /* context */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        89: .line 362
            new java.lang.StringBuilder
            dup
            iload 4 /* inverse */
            ifeq 90
            ldc "inverse__"
            goto 91
      StackMap locals: org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.mapping.Value int org.hibernate.boot.spi.MetadataBuildingContext int org.hibernate.mapping.PersistentClass java.lang.StringBuilder java.lang.String java.lang.Object java.util.List org.hibernate.mapping.Property
      StackMap stack: org.hibernate.boot.spi.InFlightMetadataCollector new 89 new 89
        90: ldc ""
      StackMap locals: org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.mapping.Value int org.hibernate.boot.spi.MetadataBuildingContext int org.hibernate.mapping.PersistentClass java.lang.StringBuilder java.lang.String java.lang.Object java.util.List org.hibernate.mapping.Property
      StackMap stack: org.hibernate.boot.spi.InFlightMetadataCollector new 89 new 89 java.lang.String
        91: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* associatedClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        92: .line 363
            aload 0 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
        93: .line 364
            aload 9 /* syntheticPropertyName */
        94: .line 361
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addPropertyReferencedAssociation:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 12 // org.hibernate.mapping.Property synthProp
        end local 11 // java.util.List properties
        end local 10 // java.lang.Object columnOwner
        end local 9 // java.lang.String syntheticPropertyName
        end local 8 // java.lang.StringBuilder propertyNameBuffer
        95: .line 367
      StackMap locals: org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.mapping.Value int org.hibernate.boot.spi.MetadataBuildingContext int org.hibernate.mapping.PersistentClass
      StackMap stack:
            return
        end local 7 // org.hibernate.mapping.PersistentClass associatedClass
        end local 6 // int fkEnum
        end local 5 // org.hibernate.boot.spi.MetadataBuildingContext context
        end local 4 // boolean inverse
        end local 3 // org.hibernate.mapping.Value value
        end local 2 // org.hibernate.mapping.PersistentClass associatedEntity
        end local 1 // org.hibernate.mapping.PersistentClass ownerEntity
        end local 0 // org.hibernate.cfg.Ejb3JoinColumn[] columns
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   96     0                columns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0   96     1            ownerEntity  Lorg/hibernate/mapping/PersistentClass;
            0   96     2       associatedEntity  Lorg/hibernate/mapping/PersistentClass;
            0   96     3                  value  Lorg/hibernate/mapping/Value;
            0   96     4                inverse  Z
            0   96     5                context  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            3   96     6                 fkEnum  I
            7   96     7        associatedClass  Lorg/hibernate/mapping/PersistentClass;
            9   95     8     propertyNameBuffer  Ljava/lang/StringBuilder;
           12   95     9  syntheticPropertyName  Ljava/lang/String;
           13   95    10            columnOwner  Ljava/lang/Object;
           14   95    11             properties  Ljava/util/List<Lorg/hibernate/mapping/Property;>;
           31   40    12              synthProp  Lorg/hibernate/mapping/Property;
           66   95    12              synthProp  Lorg/hibernate/mapping/Property;
           19   39    13           embeddedComp  Lorg/hibernate/mapping/Component;
           23   29    14               property  Lorg/hibernate/mapping/Property;
           24   29    16                  clone  Lorg/hibernate/mapping/Property;
           41   66    13            columnsList  Ljava/lang/StringBuilder;
           44   45    14                 column  Lorg/hibernate/cfg/Ejb3JoinColumn;
    MethodParameters:
                  Name  Flags
      columns           
      ownerEntity       
      associatedEntity  
      value             
      inverse           
      context           

  private static java.util.List<org.hibernate.mapping.Property> findPropertiesByColumns(, org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Ljava/lang/Object;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=14, args_size=3
        start local 0 // java.lang.Object columnOwner
        start local 1 // org.hibernate.cfg.Ejb3JoinColumn[] columns
        start local 2 // org.hibernate.boot.spi.MetadataBuildingContext context
         0: .line 374
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* columnsToProperty */
        start local 3 // java.util.Map columnsToProperty
         1: .line 375
            new java.util.ArrayList
            dup
            aload 1 /* columns */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* orderedColumns */
        start local 4 // java.util.List orderedColumns
         2: .line 377
            aload 0 /* columnOwner */
            instanceof org.hibernate.mapping.PersistentClass
            ifeq 5
         3: .line 378
            aload 0 /* columnOwner */
            checkcast org.hibernate.mapping.PersistentClass
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            astore 5 /* referencedTable */
        start local 5 // org.hibernate.mapping.Table referencedTable
         4: .line 379
            goto 13
        end local 5 // org.hibernate.mapping.Table referencedTable
         5: .line 380
      StackMap locals: java.util.Map java.util.List
      StackMap stack:
            aload 0 /* columnOwner */
            instanceof org.hibernate.mapping.Join
            ifeq 8
         6: .line 381
            aload 0 /* columnOwner */
            checkcast org.hibernate.mapping.Join
            invokevirtual org.hibernate.mapping.Join.getTable:()Lorg/hibernate/mapping/Table;
            astore 5 /* referencedTable */
        start local 5 // org.hibernate.mapping.Table referencedTable
         7: .line 382
            goto 13
        end local 5 // org.hibernate.mapping.Table referencedTable
         8: .line 384
      StackMap locals:
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
         9: .line 385
            aload 0 /* columnOwner */
            ifnonnull 11
        10: .line 386
            ldc "columnOwner is null"
            goto 12
        11: .line 387
      StackMap locals: java.lang.Object org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.boot.spi.MetadataBuildingContext java.util.Map java.util.List
      StackMap stack: new 8 new 8
            new java.lang.StringBuilder
            dup
            ldc "columnOwner neither PersistentClass nor Join: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* columnOwner */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 384
      StackMap locals: java.lang.Object org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.boot.spi.MetadataBuildingContext java.util.Map java.util.List
      StackMap stack: new 8 new 8 java.lang.String
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        start local 5 // org.hibernate.mapping.Table referencedTable
        13: .line 391
      StackMap locals: org.hibernate.mapping.Table
      StackMap stack:
            aload 1 /* columns */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 24
      StackMap locals: java.lang.Object org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.boot.spi.MetadataBuildingContext java.util.Map java.util.List org.hibernate.mapping.Table top int int org.hibernate.cfg.Ejb3JoinColumn[]
      StackMap stack:
        14: aload 9
            iload 7
            aaload
            astore 6 /* column1 */
        start local 6 // org.hibernate.cfg.Ejb3JoinColumn column1
        15: .line 392
            new org.hibernate.mapping.Column
            dup
        16: .line 393
            aload 2 /* context */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        17: .line 394
            aload 5 /* referencedTable */
        18: .line 395
            aload 6 /* column1 */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getReferencedColumn:()Ljava/lang/String;
        19: .line 393
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getPhysicalColumnName:(Lorg/hibernate/mapping/Table;Ljava/lang/String;)Ljava/lang/String;
        20: .line 392
            invokespecial org.hibernate.mapping.Column.<init>:(Ljava/lang/String;)V
            astore 10 /* column */
        start local 10 // org.hibernate.mapping.Column column
        21: .line 398
            aload 4 /* orderedColumns */
            aload 10 /* column */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 399
            aload 3 /* columnsToProperty */
            aload 10 /* column */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // org.hibernate.mapping.Column column
        end local 6 // org.hibernate.cfg.Ejb3JoinColumn column1
        23: .line 391
            iinc 7 1
      StackMap locals:
      StackMap stack:
        24: iload 7
            iload 8
            if_icmplt 14
        25: .line 401
            aload 0 /* columnOwner */
            instanceof org.hibernate.mapping.PersistentClass
            istore 6 /* isPersistentClass */
        start local 6 // boolean isPersistentClass
        26: .line 402
            iload 6 /* isPersistentClass */
            ifeq 28
        27: .line 403
            aload 0 /* columnOwner */
            checkcast org.hibernate.mapping.PersistentClass
            invokevirtual org.hibernate.mapping.PersistentClass.getPropertyIterator:()Ljava/util/Iterator;
            goto 29
        28: .line 404
      StackMap locals: java.lang.Object org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.boot.spi.MetadataBuildingContext java.util.Map java.util.List org.hibernate.mapping.Table int
      StackMap stack:
            aload 0 /* columnOwner */
            checkcast org.hibernate.mapping.Join
            invokevirtual org.hibernate.mapping.Join.getPropertyIterator:()Ljava/util/Iterator;
        29: .line 402
      StackMap locals:
      StackMap stack: java.util.Iterator
            astore 7 /* it */
        start local 7 // java.util.Iterator it
        30: .line 405
            goto 32
        31: .line 406
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 7 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            aload 3 /* columnsToProperty */
            invokestatic org.hibernate.cfg.BinderHelper.matchColumnsByProperty:(Lorg/hibernate/mapping/Property;Ljava/util/Map;)V
        32: .line 405
      StackMap locals:
      StackMap stack:
            aload 7 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        33: .line 408
            iload 6 /* isPersistentClass */
            ifeq 35
        34: .line 409
            aload 0 /* columnOwner */
            checkcast org.hibernate.mapping.PersistentClass
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierProperty:()Lorg/hibernate/mapping/Property;
            aload 3 /* columnsToProperty */
            invokestatic org.hibernate.cfg.BinderHelper.matchColumnsByProperty:(Lorg/hibernate/mapping/Property;Ljava/util/Map;)V
        35: .line 415
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* orderedProperties */
        start local 8 // java.util.List orderedProperties
        36: .line 416
            aload 4 /* orderedColumns */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 48
      StackMap locals: java.lang.Object org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.boot.spi.MetadataBuildingContext java.util.Map java.util.List org.hibernate.mapping.Table int java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
        37: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 9 /* column */
        start local 9 // org.hibernate.mapping.Column column
        38: .line 417
            iconst_0
            istore 11 /* found */
        start local 11 // boolean found
        39: .line 418
            aload 3 /* columnsToProperty */
            aload 9 /* column */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 13
            goto 45
      StackMap locals: java.lang.Object org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.boot.spi.MetadataBuildingContext java.util.Map java.util.List org.hibernate.mapping.Table int java.util.Iterator java.util.List org.hibernate.mapping.Column java.util.Iterator int top java.util.Iterator
      StackMap stack:
        40: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 12 /* property */
        start local 12 // org.hibernate.mapping.Property property
        41: .line 419
            aload 12 /* property */
            invokevirtual org.hibernate.mapping.Property.getColumnSpan:()I
            iconst_1
            if_icmpne 45
        42: .line 420
            aload 8 /* orderedProperties */
            aload 12 /* property */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        43: .line 421
            iconst_1
            istore 11 /* found */
        44: .line 422
            goto 46
        end local 12 // org.hibernate.mapping.Property property
        45: .line 418
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 40
        46: .line 425
      StackMap locals: java.lang.Object org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.boot.spi.MetadataBuildingContext java.util.Map java.util.List org.hibernate.mapping.Table int java.util.Iterator java.util.List org.hibernate.mapping.Column java.util.Iterator int
      StackMap stack:
            iload 11 /* found */
            ifne 48
        47: .line 427
            aconst_null
            areturn
        end local 11 // boolean found
        end local 9 // org.hibernate.mapping.Column column
        48: .line 416
      StackMap locals: java.lang.Object org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.boot.spi.MetadataBuildingContext java.util.Map java.util.List org.hibernate.mapping.Table int java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 37
        49: .line 430
            aload 8 /* orderedProperties */
            areturn
        end local 8 // java.util.List orderedProperties
        end local 7 // java.util.Iterator it
        end local 6 // boolean isPersistentClass
        end local 5 // org.hibernate.mapping.Table referencedTable
        end local 4 // java.util.List orderedColumns
        end local 3 // java.util.Map columnsToProperty
        end local 2 // org.hibernate.boot.spi.MetadataBuildingContext context
        end local 1 // org.hibernate.cfg.Ejb3JoinColumn[] columns
        end local 0 // java.lang.Object columnOwner
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   50     0        columnOwner  Ljava/lang/Object;
            0   50     1            columns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0   50     2            context  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            1   50     3  columnsToProperty  Ljava/util/Map<Lorg/hibernate/mapping/Column;Ljava/util/Set<Lorg/hibernate/mapping/Property;>;>;
            2   50     4     orderedColumns  Ljava/util/List<Lorg/hibernate/mapping/Column;>;
            4    5     5    referencedTable  Lorg/hibernate/mapping/Table;
            7    8     5    referencedTable  Lorg/hibernate/mapping/Table;
           13   50     5    referencedTable  Lorg/hibernate/mapping/Table;
           15   23     6            column1  Lorg/hibernate/cfg/Ejb3JoinColumn;
           21   23    10             column  Lorg/hibernate/mapping/Column;
           26   50     6  isPersistentClass  Z
           30   50     7                 it  Ljava/util/Iterator;
           36   50     8  orderedProperties  Ljava/util/List<Lorg/hibernate/mapping/Property;>;
           38   48     9             column  Lorg/hibernate/mapping/Column;
           39   48    11              found  Z
           41   45    12           property  Lorg/hibernate/mapping/Property;
    Signature: (Ljava/lang/Object;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Ljava/util/List<Lorg/hibernate/mapping/Property;>;
    MethodParameters:
             Name  Flags
      columnOwner  
      columns      
      context      

  private static void matchColumnsByProperty(org.hibernate.mapping.Property, java.util.Map<org.hibernate.mapping.Column, java.util.Set<org.hibernate.mapping.Property>>);
    descriptor: (Lorg/hibernate/mapping/Property;Ljava/util/Map;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.mapping.Property property
        start local 1 // java.util.Map columnsToProperty
         0: .line 434
            aload 0 /* property */
            ifnonnull 2
         1: .line 435
            return
         2: .line 437
      StackMap locals:
      StackMap stack:
            ldc "noop"
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getPropertyAccessorName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 438
            ldc "embedded"
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getPropertyAccessorName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 439
      StackMap locals:
      StackMap stack:
            return
         5: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getColumnIterator:()Ljava/util/Iterator;
            astore 2 /* columnIt */
        start local 2 // java.util.Iterator columnIt
         6: .line 450
            goto 10
         7: .line 452
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* columnIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* column */
        start local 3 // java.lang.Object column
         8: .line 454
            aload 1 /* columnsToProperty */
            aload 3 /* column */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 455
            aload 1 /* columnsToProperty */
            aload 3 /* column */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            aload 0 /* property */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Object column
        10: .line 450
      StackMap locals:
      StackMap stack:
            aload 2 /* columnIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 2 // java.util.Iterator columnIt
        11: .line 459
            return
        end local 1 // java.util.Map columnsToProperty
        end local 0 // org.hibernate.mapping.Property property
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0           property  Lorg/hibernate/mapping/Property;
            0   12     1  columnsToProperty  Ljava/util/Map<Lorg/hibernate/mapping/Column;Ljava/util/Set<Lorg/hibernate/mapping/Property;>;>;
            6   11     2           columnIt  Ljava/util/Iterator;
            8   10     3             column  Ljava/lang/Object;
    Signature: (Lorg/hibernate/mapping/Property;Ljava/util/Map<Lorg/hibernate/mapping/Column;Ljava/util/Set<Lorg/hibernate/mapping/Property;>;>;)V
    MethodParameters:
                   Name  Flags
      property           
      columnsToProperty  

  public static org.hibernate.mapping.Property findPropertyByName(org.hibernate.mapping.PersistentClass, java.lang.String);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;Ljava/lang/String;)Lorg/hibernate/mapping/Property;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass associatedClass
        start local 1 // java.lang.String propertyName
         0: .line 466
            aconst_null
            astore 2 /* property */
        start local 2 // org.hibernate.mapping.Property property
         1: .line 467
            aload 0 /* associatedClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierProperty:()Lorg/hibernate/mapping/Property;
            astore 3 /* idProperty */
        start local 3 // org.hibernate.mapping.Property idProperty
         2: .line 468
            aload 3 /* idProperty */
            ifnull 3
            aload 3 /* idProperty */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            goto 4
      StackMap locals: org.hibernate.mapping.Property org.hibernate.mapping.Property
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 4 /* idName */
        start local 4 // java.lang.String idName
         5: .line 470
            aload 1 /* propertyName */
            ifnull 8
         6: .line 471
            aload 1 /* propertyName */
            invokevirtual java.lang.String.length:()I
            ifeq 8
         7: .line 472
            aload 1 /* propertyName */
            aload 4 /* idName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 474
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* idProperty */
            astore 2 /* property */
         9: .line 475
            goto 40
        10: .line 477
      StackMap locals:
      StackMap stack:
            aload 1 /* propertyName */
            new java.lang.StringBuilder
            dup
            aload 4 /* idName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            ifne 13
        11: .line 478
            aload 3 /* idProperty */
            astore 2 /* property */
        12: .line 479
            aload 1 /* propertyName */
            aload 4 /* idName */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* propertyName */
        13: .line 481
      StackMap locals:
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 1 /* propertyName */
            ldc "."
            iconst_0
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 5 /* st */
        start local 5 // java.util.StringTokenizer st
        14: .line 482
            goto 22
        15: .line 483
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 5 /* st */
            invokevirtual java.util.StringTokenizer.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* element */
        start local 6 // java.lang.String element
        16: .line 484
            aload 2 /* property */
            ifnonnull 19
        17: .line 485
            aload 0 /* associatedClass */
            aload 6 /* element */
            invokevirtual org.hibernate.mapping.PersistentClass.getProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 2 /* property */
        18: .line 486
            goto 22
        19: .line 488
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* property */
            invokevirtual org.hibernate.mapping.Property.isComposite:()Z
            ifne 21
        20: .line 489
            aconst_null
            areturn
        21: .line 491
      StackMap locals:
      StackMap stack:
            aload 2 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            aload 6 /* element */
            invokevirtual org.hibernate.mapping.Component.getProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 2 /* property */
        end local 6 // java.lang.String element
        22: .line 482
      StackMap locals:
      StackMap stack:
            aload 5 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
            ifne 15
        end local 5 // java.util.StringTokenizer st
        23: .line 495
            goto 40
        24: .line 496
      StackMap locals: org.hibernate.mapping.PersistentClass java.lang.String org.hibernate.mapping.Property org.hibernate.mapping.Property java.lang.String
      StackMap stack: org.hibernate.MappingException
            pop
        25: .line 499
            aload 0 /* associatedClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            ifnonnull 27
        26: .line 500
            aconst_null
            areturn
        27: .line 502
      StackMap locals:
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 1 /* propertyName */
            ldc "."
            iconst_0
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 5 /* st */
        start local 5 // java.util.StringTokenizer st
        28: .line 503
            goto 36
        29: .line 504
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 5 /* st */
            invokevirtual java.util.StringTokenizer.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* element */
        start local 6 // java.lang.String element
        30: .line 505
            aload 2 /* property */
            ifnonnull 33
        31: .line 506
            aload 0 /* associatedClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            aload 6 /* element */
            invokevirtual org.hibernate.mapping.Component.getProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 2 /* property */
        32: .line 507
            goto 36
        33: .line 509
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* property */
            invokevirtual org.hibernate.mapping.Property.isComposite:()Z
            ifne 35
        34: .line 510
            aconst_null
            areturn
        35: .line 512
      StackMap locals:
      StackMap stack:
            aload 2 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            aload 6 /* element */
            invokevirtual org.hibernate.mapping.Component.getProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 2 /* property */
        end local 6 // java.lang.String element
        36: .line 503
      StackMap locals:
      StackMap stack:
            aload 5 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
            ifne 29
        end local 5 // java.util.StringTokenizer st
        37: .line 515
            goto 40
        38: .line 516
      StackMap locals: org.hibernate.mapping.PersistentClass java.lang.String org.hibernate.mapping.Property org.hibernate.mapping.Property java.lang.String
      StackMap stack: org.hibernate.MappingException
            pop
        39: .line 517
            aconst_null
            areturn
        40: .line 520
      StackMap locals:
      StackMap stack:
            aload 2 /* property */
            areturn
        end local 4 // java.lang.String idName
        end local 3 // org.hibernate.mapping.Property idProperty
        end local 2 // org.hibernate.mapping.Property property
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.mapping.PersistentClass associatedClass
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   41     0  associatedClass  Lorg/hibernate/mapping/PersistentClass;
            0   41     1     propertyName  Ljava/lang/String;
            1   41     2         property  Lorg/hibernate/mapping/Property;
            2   41     3       idProperty  Lorg/hibernate/mapping/Property;
            5   41     4           idName  Ljava/lang/String;
           14   23     5               st  Ljava/util/StringTokenizer;
           16   22     6          element  Ljava/lang/String;
           28   37     5               st  Ljava/util/StringTokenizer;
           30   36     6          element  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5    20      24  Class org.hibernate.MappingException
          21    23      24  Class org.hibernate.MappingException
          25    26      38  Class org.hibernate.MappingException
          27    34      38  Class org.hibernate.MappingException
          35    37      38  Class org.hibernate.MappingException
    MethodParameters:
                 Name  Flags
      associatedClass  
      propertyName     

  public static org.hibernate.mapping.Property findPropertyByName(org.hibernate.mapping.Component, java.lang.String);
    descriptor: (Lorg/hibernate/mapping/Component;Ljava/lang/String;)Lorg/hibernate/mapping/Property;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.hibernate.mapping.Component component
        start local 1 // java.lang.String propertyName
         0: .line 527
            aconst_null
            astore 2 /* property */
        start local 2 // org.hibernate.mapping.Property property
         1: .line 529
            aload 1 /* propertyName */
            ifnull 3
         2: .line 530
            aload 1 /* propertyName */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 532
      StackMap locals: org.hibernate.mapping.Property
      StackMap stack:
            aconst_null
            areturn
         4: .line 535
      StackMap locals:
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 1 /* propertyName */
            ldc "."
            iconst_0
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 3 /* st */
        start local 3 // java.util.StringTokenizer st
         5: .line 536
            goto 13
         6: .line 537
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* element */
        start local 4 // java.lang.String element
         7: .line 538
            aload 2 /* property */
            ifnonnull 10
         8: .line 539
            aload 0 /* component */
            aload 4 /* element */
            invokevirtual org.hibernate.mapping.Component.getProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 2 /* property */
         9: .line 540
            goto 13
        10: .line 542
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* property */
            invokevirtual org.hibernate.mapping.Property.isComposite:()Z
            ifne 12
        11: .line 543
            aconst_null
            areturn
        12: .line 545
      StackMap locals:
      StackMap stack:
            aload 2 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            aload 4 /* element */
            invokevirtual org.hibernate.mapping.Component.getProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 2 /* property */
        end local 4 // java.lang.String element
        13: .line 536
      StackMap locals:
      StackMap stack:
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
            ifne 6
        end local 3 // java.util.StringTokenizer st
        14: .line 549
            goto 31
        15: .line 550
      StackMap locals: org.hibernate.mapping.Component java.lang.String org.hibernate.mapping.Property
      StackMap stack: org.hibernate.MappingException
            pop
        16: .line 553
            aload 0 /* component */
            invokevirtual org.hibernate.mapping.Component.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            ifnonnull 18
        17: .line 554
            aconst_null
            areturn
        18: .line 556
      StackMap locals:
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 1 /* propertyName */
            ldc "."
            iconst_0
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 3 /* st */
        start local 3 // java.util.StringTokenizer st
        19: .line 557
            goto 27
        20: .line 558
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* element */
        start local 4 // java.lang.String element
        21: .line 559
            aload 2 /* property */
            ifnonnull 24
        22: .line 560
            aload 0 /* component */
            invokevirtual org.hibernate.mapping.Component.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            aload 4 /* element */
            invokevirtual org.hibernate.mapping.Component.getProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 2 /* property */
        23: .line 561
            goto 27
        24: .line 563
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* property */
            invokevirtual org.hibernate.mapping.Property.isComposite:()Z
            ifne 26
        25: .line 564
            aconst_null
            areturn
        26: .line 566
      StackMap locals:
      StackMap stack:
            aload 2 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            aload 4 /* element */
            invokevirtual org.hibernate.mapping.Component.getProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 2 /* property */
        end local 4 // java.lang.String element
        27: .line 557
      StackMap locals:
      StackMap stack:
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
            ifne 20
        end local 3 // java.util.StringTokenizer st
        28: .line 569
            goto 31
        29: .line 570
      StackMap locals: org.hibernate.mapping.Component java.lang.String org.hibernate.mapping.Property
      StackMap stack: org.hibernate.MappingException
            pop
        30: .line 571
            aconst_null
            areturn
        31: .line 574
      StackMap locals:
      StackMap stack:
            aload 2 /* property */
            areturn
        end local 2 // org.hibernate.mapping.Property property
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.mapping.Component component
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   32     0     component  Lorg/hibernate/mapping/Component;
            0   32     1  propertyName  Ljava/lang/String;
            1   32     2      property  Lorg/hibernate/mapping/Property;
            5   14     3            st  Ljava/util/StringTokenizer;
            7   13     4       element  Ljava/lang/String;
           19   28     3            st  Ljava/util/StringTokenizer;
           21   27     4       element  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3      15  Class org.hibernate.MappingException
           4    11      15  Class org.hibernate.MappingException
          12    14      15  Class org.hibernate.MappingException
          16    17      29  Class org.hibernate.MappingException
          18    25      29  Class org.hibernate.MappingException
          26    28      29  Class org.hibernate.MappingException
    MethodParameters:
              Name  Flags
      component     
      propertyName  

  public static java.lang.String getRelativePath(org.hibernate.cfg.PropertyHolder, java.lang.String);
    descriptor: (Lorg/hibernate/cfg/PropertyHolder;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.cfg.PropertyHolder propertyHolder
        start local 1 // java.lang.String propertyName
         0: .line 578
            aload 0 /* propertyHolder */
            ifnonnull 2
         1: .line 579
            aload 1 /* propertyName */
            areturn
         2: .line 581
      StackMap locals:
      StackMap stack:
            aload 0 /* propertyHolder */
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         3: .line 582
            aload 0 /* propertyHolder */
            invokeinterface org.hibernate.cfg.PropertyHolder.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            astore 3 /* entityName */
        start local 3 // java.lang.String entityName
         4: .line 583
            aload 2 /* path */
            invokevirtual java.lang.String.length:()I
            aload 3 /* entityName */
            invokevirtual java.lang.String.length:()I
            if_icmpne 6
         5: .line 584
            aload 1 /* propertyName */
            areturn
         6: .line 587
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* path */
            aload 3 /* entityName */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aload 1 /* propertyName */
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String entityName
        end local 2 // java.lang.String path
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.cfg.PropertyHolder propertyHolder
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0  propertyHolder  Lorg/hibernate/cfg/PropertyHolder;
            0    7     1    propertyName  Ljava/lang/String;
            3    7     2            path  Ljava/lang/String;
            4    7     3      entityName  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      propertyHolder  
      propertyName    

  public static java.lang.Object findColumnOwner(org.hibernate.mapping.PersistentClass, java.lang.String, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.hibernate.mapping.PersistentClass persistentClass
        start local 1 // java.lang.String columnName
        start local 2 // org.hibernate.boot.spi.MetadataBuildingContext context
         0: .line 599
            aload 1 /* columnName */
            invokestatic org.hibernate.internal.util.StringHelper.isEmpty:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 601
            aload 0 /* persistentClass */
            areturn
         2: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* persistentClass */
            astore 3 /* current */
        start local 3 // org.hibernate.mapping.PersistentClass current
         3: .line 605
            iconst_0
            istore 5 /* found */
        start local 5 // boolean found
         4: .line 607
      StackMap locals: org.hibernate.mapping.PersistentClass java.lang.String org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass top int
      StackMap stack:
            aload 3 /* current */
            astore 4 /* result */
        start local 4 // java.lang.Object result
         5: .line 608
            aload 3 /* current */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            astore 6 /* currentTable */
        start local 6 // org.hibernate.mapping.Table currentTable
         6: .line 610
            aload 2 /* context */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 6 /* currentTable */
            aload 1 /* columnName */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getPhysicalColumnName:(Lorg/hibernate/mapping/Table;Ljava/lang/String;)Ljava/lang/String;
            pop
         7: .line 611
            iconst_1
            istore 5 /* found */
         8: .line 612
            goto 10
         9: .line 613
      StackMap locals: org.hibernate.mapping.PersistentClass java.lang.String org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.Object int org.hibernate.mapping.Table
      StackMap stack: org.hibernate.MappingException
            pop
        10: .line 616
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            invokevirtual org.hibernate.mapping.PersistentClass.getJoinIterator:()Ljava/util/Iterator;
            astore 7 /* joins */
        start local 7 // java.util.Iterator joins
        11: .line 617
            goto 18
        12: .line 618
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 7 /* joins */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* result */
        13: .line 619
            aload 4 /* result */
            checkcast org.hibernate.mapping.Join
            invokevirtual org.hibernate.mapping.Join.getTable:()Lorg/hibernate/mapping/Table;
            astore 6 /* currentTable */
        14: .line 621
            aload 2 /* context */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 6 /* currentTable */
            aload 1 /* columnName */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getPhysicalColumnName:(Lorg/hibernate/mapping/Table;Ljava/lang/String;)Ljava/lang/String;
            pop
        15: .line 622
            iconst_1
            istore 5 /* found */
        16: .line 623
            goto 18
        17: .line 624
      StackMap locals:
      StackMap stack: org.hibernate.MappingException
            pop
        18: .line 617
      StackMap locals:
      StackMap stack:
            iload 5 /* found */
            ifne 19
            aload 7 /* joins */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        19: .line 628
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            invokevirtual org.hibernate.mapping.PersistentClass.getSuperclass:()Lorg/hibernate/mapping/PersistentClass;
            astore 3 /* current */
        end local 7 // java.util.Iterator joins
        end local 6 // org.hibernate.mapping.Table currentTable
        20: .line 630
            iload 5 /* found */
            ifne 21
            aload 3 /* current */
            ifnonnull 4
        21: .line 631
      StackMap locals:
      StackMap stack:
            iload 5 /* found */
            ifeq 22
            aload 4 /* result */
            goto 23
      StackMap locals:
      StackMap stack:
        22: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
        23: areturn
        end local 5 // boolean found
        end local 4 // java.lang.Object result
        end local 3 // org.hibernate.mapping.PersistentClass current
        end local 2 // org.hibernate.boot.spi.MetadataBuildingContext context
        end local 1 // java.lang.String columnName
        end local 0 // org.hibernate.mapping.PersistentClass persistentClass
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0  persistentClass  Lorg/hibernate/mapping/PersistentClass;
            0   24     1       columnName  Ljava/lang/String;
            0   24     2          context  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            3   24     3          current  Lorg/hibernate/mapping/PersistentClass;
            5   24     4           result  Ljava/lang/Object;
            4   24     5            found  Z
            6   20     6     currentTable  Lorg/hibernate/mapping/Table;
           11   20     7            joins  Ljava/util/Iterator;
      Exception table:
        from    to  target  type
           6     8       9  Class org.hibernate.MappingException
          14    16      17  Class org.hibernate.MappingException
    MethodParameters:
                 Name  Flags
      persistentClass  
      columnName       
      context          

  public static void makeIdGenerator(org.hibernate.mapping.SimpleValue, org.hibernate.annotations.common.reflection.XProperty, java.lang.String, java.lang.String, org.hibernate.boot.spi.MetadataBuildingContext, java.util.Map<java.lang.String, org.hibernate.boot.model.IdentifierGeneratorDefinition>);
    descriptor: (Lorg/hibernate/mapping/SimpleValue;Lorg/hibernate/annotations/common/reflection/XProperty;Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;Ljava/util/Map;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=16, args_size=6
        start local 0 // org.hibernate.mapping.SimpleValue id
        start local 1 // org.hibernate.annotations.common.reflection.XProperty idXProperty
        start local 2 // java.lang.String generatorType
        start local 3 // java.lang.String generatorName
        start local 4 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        start local 5 // java.util.Map localGenerators
         0: .line 644
            getstatic org.hibernate.cfg.BinderHelper.log:Lorg/jboss/logging/Logger;
            ldc "#makeIdGenerator(%s, %s, %s, %s, ...)"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* id */
            aastore
            dup
            iconst_1
            aload 1 /* idXProperty */
            aastore
            dup
            iconst_2
            aload 2 /* generatorType */
            aastore
            dup
            iconst_3
            aload 3 /* generatorName */
            aastore
            invokevirtual org.jboss.logging.Logger.debugf:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 646
            aload 0 /* id */
            invokevirtual org.hibernate.mapping.SimpleValue.getTable:()Lorg/hibernate/mapping/Table;
            astore 6 /* table */
        start local 6 // org.hibernate.mapping.Table table
         2: .line 647
            aload 6 /* table */
            aload 0 /* id */
            invokevirtual org.hibernate.mapping.Table.setIdentifierValue:(Lorg/hibernate/mapping/KeyValue;)V
         3: .line 649
            aload 0 /* id */
            aload 2 /* generatorType */
            invokevirtual org.hibernate.mapping.SimpleValue.setIdentifierGeneratorStrategy:(Ljava/lang/String;)V
         4: .line 651
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 7 /* params */
        start local 7 // java.util.Properties params
         5: .line 654
            aload 7 /* params */
         6: .line 655
            ldc "target_table"
            aload 6 /* table */
            invokevirtual org.hibernate.mapping.Table.getName:()Ljava/lang/String;
         7: .line 654
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         8: .line 658
            aload 4 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getBuildingOptions:()Lorg/hibernate/boot/spi/MetadataBuildingOptions;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingOptions.getMappingDefaults:()Lorg/hibernate/boot/spi/MappingDefaults;
            invokeinterface org.hibernate.boot.spi.MappingDefaults.getImplicitCatalogName:()Ljava/lang/String;
            astore 8 /* implicitCatalogName */
        start local 8 // java.lang.String implicitCatalogName
         9: .line 659
            aload 8 /* implicitCatalogName */
            ifnull 11
        10: .line 660
            aload 7 /* params */
            ldc "catalog"
            aload 8 /* implicitCatalogName */
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 662
      StackMap locals: org.hibernate.mapping.Table java.util.Properties java.lang.String
      StackMap stack:
            aload 4 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getBuildingOptions:()Lorg/hibernate/boot/spi/MetadataBuildingOptions;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingOptions.getMappingDefaults:()Lorg/hibernate/boot/spi/MappingDefaults;
            invokeinterface org.hibernate.boot.spi.MappingDefaults.getImplicitSchemaName:()Ljava/lang/String;
            astore 9 /* implicitSchemaName */
        start local 9 // java.lang.String implicitSchemaName
        12: .line 663
            aload 9 /* implicitSchemaName */
            ifnull 14
        13: .line 664
            aload 7 /* params */
            ldc "schema"
            aload 9 /* implicitSchemaName */
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 667
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* id */
            invokevirtual org.hibernate.mapping.SimpleValue.getColumnSpan:()I
            iconst_1
            if_icmpne 19
        15: .line 668
            aload 7 /* params */
        16: .line 669
            ldc "target_column"
        17: .line 670
            aload 0 /* id */
            invokevirtual org.hibernate.mapping.SimpleValue.getColumnIterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            invokevirtual org.hibernate.mapping.Column.getName:()Ljava/lang/String;
        18: .line 668
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        19: .line 674
      StackMap locals:
      StackMap stack:
            aload 7 /* params */
            ldc "identifier_normalizer"
            aload 4 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getObjectNameNormalizer:()Lorg/hibernate/boot/model/naming/ObjectNameNormalizer;
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 675
            aload 7 /* params */
            ldc "GENERATOR_NAME"
            aload 3 /* generatorName */
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 677
            aload 3 /* generatorName */
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifne 45
        22: .line 680
            aload 3 /* generatorName */
        23: .line 681
            aload 1 /* idXProperty */
        24: .line 682
            aload 5 /* localGenerators */
        25: .line 683
            aload 4 /* buildingContext */
        26: .line 679
            invokestatic org.hibernate.cfg.BinderHelper.getIdentifierGenerator:(Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XProperty;Ljava/util/Map;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;
            astore 10 /* gen */
        start local 10 // org.hibernate.boot.model.IdentifierGeneratorDefinition gen
        27: .line 685
            aload 10 /* gen */
            ifnonnull 29
        28: .line 686
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown named generator (@GeneratedValue#generatorName): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* generatorName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 689
      StackMap locals: org.hibernate.boot.model.IdentifierGeneratorDefinition
      StackMap stack:
            aload 10 /* gen */
            invokevirtual org.hibernate.boot.model.IdentifierGeneratorDefinition.getStrategy:()Ljava/lang/String;
            astore 11 /* identifierGeneratorStrategy */
        start local 11 // java.lang.String identifierGeneratorStrategy
        30: .line 692
            aload 11 /* identifierGeneratorStrategy */
            ldc "identity"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 34
        31: .line 693
            aload 11 /* identifierGeneratorStrategy */
            ldc "seqhilo"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 34
        32: .line 694
            aload 11 /* identifierGeneratorStrategy */
            ldc Lorg/hibernate/id/MultipleHiLoPerTableGenerator;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 34
        33: .line 691
            iconst_0
            goto 35
      StackMap locals: java.lang.String
      StackMap stack:
        34: iconst_1
      StackMap locals:
      StackMap stack: int
        35: istore 12 /* avoidOverriding */
        start local 12 // boolean avoidOverriding
        36: .line 695
            aload 2 /* generatorType */
            ifnull 37
            iload 12 /* avoidOverriding */
            ifne 38
        37: .line 696
      StackMap locals: int
      StackMap stack:
            aload 0 /* id */
            aload 11 /* identifierGeneratorStrategy */
            invokevirtual org.hibernate.mapping.SimpleValue.setIdentifierGeneratorStrategy:(Ljava/lang/String;)V
        38: .line 699
      StackMap locals:
      StackMap stack:
            aload 10 /* gen */
            invokevirtual org.hibernate.boot.model.IdentifierGeneratorDefinition.getParameters:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 14
            goto 44
      StackMap locals: org.hibernate.mapping.SimpleValue org.hibernate.annotations.common.reflection.XProperty java.lang.String java.lang.String org.hibernate.boot.spi.MetadataBuildingContext java.util.Map org.hibernate.mapping.Table java.util.Properties java.lang.String java.lang.String org.hibernate.boot.model.IdentifierGeneratorDefinition java.lang.String int top java.util.Iterator
      StackMap stack:
        39: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 13 /* o */
        start local 13 // java.lang.Object o
        40: .line 700
            aload 13 /* o */
            checkcast java.util.Map$Entry
            astore 15 /* elt */
        start local 15 // java.util.Map$Entry elt
        41: .line 701
            aload 15 /* elt */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            ifnonnull 43
        42: .line 702
            goto 44
        43: .line 704
      StackMap locals: org.hibernate.mapping.SimpleValue org.hibernate.annotations.common.reflection.XProperty java.lang.String java.lang.String org.hibernate.boot.spi.MetadataBuildingContext java.util.Map org.hibernate.mapping.Table java.util.Properties java.lang.String java.lang.String org.hibernate.boot.model.IdentifierGeneratorDefinition java.lang.String int java.lang.Object java.util.Iterator java.util.Map$Entry
      StackMap stack:
            aload 7 /* params */
            aload 15 /* elt */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 15 /* elt */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        end local 15 // java.util.Map$Entry elt
        end local 13 // java.lang.Object o
        44: .line 699
      StackMap locals: org.hibernate.mapping.SimpleValue org.hibernate.annotations.common.reflection.XProperty java.lang.String java.lang.String org.hibernate.boot.spi.MetadataBuildingContext java.util.Map org.hibernate.mapping.Table java.util.Properties java.lang.String java.lang.String org.hibernate.boot.model.IdentifierGeneratorDefinition java.lang.String int top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 39
        end local 12 // boolean avoidOverriding
        end local 11 // java.lang.String identifierGeneratorStrategy
        end local 10 // org.hibernate.boot.model.IdentifierGeneratorDefinition gen
        45: .line 707
      StackMap locals: org.hibernate.mapping.SimpleValue org.hibernate.annotations.common.reflection.XProperty java.lang.String java.lang.String org.hibernate.boot.spi.MetadataBuildingContext java.util.Map org.hibernate.mapping.Table java.util.Properties java.lang.String java.lang.String
      StackMap stack:
            ldc "assigned"
            aload 2 /* generatorType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 47
        46: .line 708
            aload 0 /* id */
            ldc "undefined"
            invokevirtual org.hibernate.mapping.SimpleValue.setNullValue:(Ljava/lang/String;)V
        47: .line 710
      StackMap locals:
      StackMap stack:
            aload 0 /* id */
            aload 7 /* params */
            invokevirtual org.hibernate.mapping.SimpleValue.setIdentifierGeneratorProperties:(Ljava/util/Properties;)V
        48: .line 711
            return
        end local 9 // java.lang.String implicitSchemaName
        end local 8 // java.lang.String implicitCatalogName
        end local 7 // java.util.Properties params
        end local 6 // org.hibernate.mapping.Table table
        end local 5 // java.util.Map localGenerators
        end local 4 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 3 // java.lang.String generatorName
        end local 2 // java.lang.String generatorType
        end local 1 // org.hibernate.annotations.common.reflection.XProperty idXProperty
        end local 0 // org.hibernate.mapping.SimpleValue id
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   49     0                           id  Lorg/hibernate/mapping/SimpleValue;
            0   49     1                  idXProperty  Lorg/hibernate/annotations/common/reflection/XProperty;
            0   49     2                generatorType  Ljava/lang/String;
            0   49     3                generatorName  Ljava/lang/String;
            0   49     4              buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            0   49     5              localGenerators  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;>;
            2   49     6                        table  Lorg/hibernate/mapping/Table;
            5   49     7                       params  Ljava/util/Properties;
            9   49     8          implicitCatalogName  Ljava/lang/String;
           12   49     9           implicitSchemaName  Ljava/lang/String;
           27   45    10                          gen  Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;
           30   45    11  identifierGeneratorStrategy  Ljava/lang/String;
           36   45    12              avoidOverriding  Z
           40   44    13                            o  Ljava/lang/Object;
           41   44    15                          elt  Ljava/util/Map$Entry;
    Signature: (Lorg/hibernate/mapping/SimpleValue;Lorg/hibernate/annotations/common/reflection/XProperty;Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;>;)V
    MethodParameters:
                 Name  Flags
      id               
      idXProperty      
      generatorType    
      generatorName    
      buildingContext  
      localGenerators  

  public static void makeIdGenerator(org.hibernate.mapping.SimpleValue, org.hibernate.annotations.common.reflection.XProperty, java.lang.String, java.lang.String, org.hibernate.boot.spi.MetadataBuildingContext, org.hibernate.boot.model.IdentifierGeneratorDefinition);
    descriptor: (Lorg/hibernate/mapping/SimpleValue;Lorg/hibernate/annotations/common/reflection/XProperty;Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.hibernate.mapping.SimpleValue id
        start local 1 // org.hibernate.annotations.common.reflection.XProperty idXProperty
        start local 2 // java.lang.String generatorType
        start local 3 // java.lang.String generatorName
        start local 4 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        start local 5 // org.hibernate.boot.model.IdentifierGeneratorDefinition foreignKGeneratorDefinition
         0: .line 723
            aconst_null
            astore 6 /* localIdentifiers */
        start local 6 // java.util.Map localIdentifiers
         1: .line 724
            aload 5 /* foreignKGeneratorDefinition */
            ifnull 4
         2: .line 725
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* localIdentifiers */
         3: .line 726
            aload 6 /* localIdentifiers */
            aload 5 /* foreignKGeneratorDefinition */
            invokevirtual org.hibernate.boot.model.IdentifierGeneratorDefinition.getName:()Ljava/lang/String;
            aload 5 /* foreignKGeneratorDefinition */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 728
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* id */
            aload 1 /* idXProperty */
            aload 2 /* generatorType */
            aload 3 /* generatorName */
            aload 4 /* buildingContext */
            aload 6 /* localIdentifiers */
            invokestatic org.hibernate.cfg.BinderHelper.makeIdGenerator:(Lorg/hibernate/mapping/SimpleValue;Lorg/hibernate/annotations/common/reflection/XProperty;Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;Ljava/util/Map;)V
         5: .line 729
            return
        end local 6 // java.util.Map localIdentifiers
        end local 5 // org.hibernate.boot.model.IdentifierGeneratorDefinition foreignKGeneratorDefinition
        end local 4 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 3 // java.lang.String generatorName
        end local 2 // java.lang.String generatorType
        end local 1 // org.hibernate.annotations.common.reflection.XProperty idXProperty
        end local 0 // org.hibernate.mapping.SimpleValue id
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    6     0                           id  Lorg/hibernate/mapping/SimpleValue;
            0    6     1                  idXProperty  Lorg/hibernate/annotations/common/reflection/XProperty;
            0    6     2                generatorType  Ljava/lang/String;
            0    6     3                generatorName  Ljava/lang/String;
            0    6     4              buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            0    6     5  foreignKGeneratorDefinition  Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;
            1    6     6             localIdentifiers  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;>;
    MethodParameters:
                             Name  Flags
      id                           
      idXProperty                  
      generatorType                
      generatorName                
      buildingContext              
      foreignKGeneratorDefinition  

  private static org.hibernate.boot.model.IdentifierGeneratorDefinition getIdentifierGenerator(java.lang.String, org.hibernate.annotations.common.reflection.XProperty, java.util.Map<java.lang.String, org.hibernate.boot.model.IdentifierGeneratorDefinition>, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XProperty;Ljava/util/Map;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // java.lang.String name
        start local 1 // org.hibernate.annotations.common.reflection.XProperty idXProperty
        start local 2 // java.util.Map localGenerators
        start local 3 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 736
            aload 2 /* localGenerators */
            ifnull 4
         1: .line 737
            aload 2 /* localGenerators */
            aload 0 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.boot.model.IdentifierGeneratorDefinition
            astore 4 /* result */
        start local 4 // org.hibernate.boot.model.IdentifierGeneratorDefinition result
         2: .line 738
            aload 4 /* result */
            ifnull 4
         3: .line 739
            aload 4 /* result */
            areturn
        end local 4 // org.hibernate.boot.model.IdentifierGeneratorDefinition result
         4: .line 743
      StackMap locals:
      StackMap stack:
            aload 3 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 0 /* name */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getIdentifierGenerator:(Ljava/lang/String;)Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;
            astore 4 /* globalDefinition */
        start local 4 // org.hibernate.boot.model.IdentifierGeneratorDefinition globalDefinition
         5: .line 744
            aload 4 /* globalDefinition */
            ifnull 7
         6: .line 745
            aload 4 /* globalDefinition */
            areturn
         7: .line 748
      StackMap locals: org.hibernate.boot.model.IdentifierGeneratorDefinition
      StackMap stack:
            getstatic org.hibernate.cfg.BinderHelper.log:Lorg/jboss/logging/Logger;
            ldc "Could not resolve explicit IdentifierGeneratorDefinition - using implicit interpretation (%s)"
            aload 0 /* name */
            invokevirtual org.jboss.logging.Logger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 758
            aload 1 /* idXProperty */
            ldc Ljavax/persistence/GeneratedValue;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.GeneratedValue
            astore 5 /* generatedValueAnn */
        start local 5 // javax.persistence.GeneratedValue generatedValueAnn
         9: .line 759
            aload 5 /* generatedValueAnn */
            ifnonnull 11
        10: .line 761
            new org.hibernate.boot.model.IdentifierGeneratorDefinition
            dup
            ldc "assigned"
            ldc "assigned"
            invokespecial org.hibernate.boot.model.IdentifierGeneratorDefinition.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        11: .line 764
      StackMap locals: javax.persistence.GeneratedValue
      StackMap stack:
            aload 3 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getBuildingOptions:()Lorg/hibernate/boot/spi/MetadataBuildingOptions;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingOptions.getIdGenerationTypeInterpreter:()Lorg/hibernate/boot/model/IdGeneratorStrategyInterpreter;
            astore 6 /* generationInterpreter */
        start local 6 // org.hibernate.boot.model.IdGeneratorStrategyInterpreter generationInterpreter
        12: .line 766
            aload 5 /* generatedValueAnn */
            invokestatic org.hibernate.cfg.BinderHelper.interpretGenerationType:(Ljavax/persistence/GeneratedValue;)Ljavax/persistence/GenerationType;
            astore 7 /* generationType */
        start local 7 // javax.persistence.GenerationType generationType
        13: .line 768
            aload 7 /* generationType */
            ifnull 14
            aload 7 /* generationType */
            getstatic javax.persistence.GenerationType.SEQUENCE:Ljavax/persistence/GenerationType;
            if_acmpne 21
        14: .line 770
      StackMap locals: org.hibernate.boot.model.IdGeneratorStrategyInterpreter javax.persistence.GenerationType
      StackMap stack:
            getstatic org.hibernate.cfg.BinderHelper.log:Lorg/jboss/logging/Logger;
            ldc "Building implicit sequence-based IdentifierGeneratorDefinition (%s)"
            aload 0 /* name */
            invokevirtual org.jboss.logging.Logger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 771
            new org.hibernate.boot.model.IdentifierGeneratorDefinition$Builder
            dup
            invokespecial org.hibernate.boot.model.IdentifierGeneratorDefinition$Builder.<init>:()V
            astore 8 /* builder */
        start local 8 // org.hibernate.boot.model.IdentifierGeneratorDefinition$Builder builder
        16: .line 772
            aload 6 /* generationInterpreter */
        17: .line 773
            new org.hibernate.cfg.BinderHelper$1
            dup
            aload 0 /* name */
            invokespecial org.hibernate.cfg.BinderHelper$1.<init>:(Ljava/lang/String;)V
        18: .line 809
            aload 8 /* builder */
        19: .line 772
            invokeinterface org.hibernate.boot.model.IdGeneratorStrategyInterpreter.interpretSequenceGenerator:(Ljavax/persistence/SequenceGenerator;Lorg/hibernate/boot/model/IdentifierGeneratorDefinition$Builder;)V
        20: .line 812
            aload 8 /* builder */
            invokevirtual org.hibernate.boot.model.IdentifierGeneratorDefinition$Builder.build:()Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;
            areturn
        end local 8 // org.hibernate.boot.model.IdentifierGeneratorDefinition$Builder builder
        21: .line 814
      StackMap locals:
      StackMap stack:
            aload 7 /* generationType */
            getstatic javax.persistence.GenerationType.TABLE:Ljavax/persistence/GenerationType;
            if_acmpne 29
        22: .line 816
            getstatic org.hibernate.cfg.BinderHelper.log:Lorg/jboss/logging/Logger;
            ldc "Building implicit table-based IdentifierGeneratorDefinition (%s)"
            aload 0 /* name */
            invokevirtual org.jboss.logging.Logger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        23: .line 817
            new org.hibernate.boot.model.IdentifierGeneratorDefinition$Builder
            dup
            invokespecial org.hibernate.boot.model.IdentifierGeneratorDefinition$Builder.<init>:()V
            astore 8 /* builder */
        start local 8 // org.hibernate.boot.model.IdentifierGeneratorDefinition$Builder builder
        24: .line 818
            aload 6 /* generationInterpreter */
        25: .line 819
            new org.hibernate.cfg.BinderHelper$2
            dup
            aload 0 /* name */
            invokespecial org.hibernate.cfg.BinderHelper$2.<init>:(Ljava/lang/String;)V
        26: .line 880
            aload 8 /* builder */
        27: .line 818
            invokeinterface org.hibernate.boot.model.IdGeneratorStrategyInterpreter.interpretTableGenerator:(Ljavax/persistence/TableGenerator;Lorg/hibernate/boot/model/IdentifierGeneratorDefinition$Builder;)V
        28: .line 883
            aload 8 /* builder */
            invokevirtual org.hibernate.boot.model.IdentifierGeneratorDefinition$Builder.build:()Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;
            areturn
        end local 8 // org.hibernate.boot.model.IdentifierGeneratorDefinition$Builder builder
        29: .line 889
      StackMap locals:
      StackMap stack:
            aload 7 /* generationType */
            getstatic javax.persistence.GenerationType.IDENTITY:Ljavax/persistence/GenerationType;
            if_acmpne 32
        30: .line 890
            ldc "identity"
            astore 8 /* strategyName */
        start local 8 // java.lang.String strategyName
        31: .line 891
            goto 36
        end local 8 // java.lang.String strategyName
        32: .line 893
      StackMap locals:
      StackMap stack:
            aload 6 /* generationInterpreter */
        33: .line 894
            aload 7 /* generationType */
        34: .line 895
            new org.hibernate.cfg.BinderHelper$3
            dup
            aload 3 /* buildingContext */
            aload 1 /* idXProperty */
            aload 5 /* generatedValueAnn */
            invokespecial org.hibernate.cfg.BinderHelper$3.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/annotations/common/reflection/XProperty;Ljavax/persistence/GeneratedValue;)V
        35: .line 893
            invokeinterface org.hibernate.boot.model.IdGeneratorStrategyInterpreter.determineGeneratorName:(Ljavax/persistence/GenerationType;Lorg/hibernate/boot/model/IdGeneratorStrategyInterpreter$GeneratorNameDeterminationContext;)Ljava/lang/String;
            astore 8 /* strategyName */
        start local 8 // java.lang.String strategyName
        36: .line 912
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic org.hibernate.cfg.BinderHelper.log:Lorg/jboss/logging/Logger;
            ldc "Building implicit generic IdentifierGeneratorDefinition (%s) : %s"
            aload 0 /* name */
            aload 8 /* strategyName */
            invokevirtual org.jboss.logging.Logger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        37: .line 913
            new org.hibernate.boot.model.IdentifierGeneratorDefinition
            dup
        38: .line 914
            aload 0 /* name */
        39: .line 915
            aload 8 /* strategyName */
        40: .line 916
            ldc "GENERATOR_NAME"
            aload 0 /* name */
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
        41: .line 913
            invokespecial org.hibernate.boot.model.IdentifierGeneratorDefinition.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V
            areturn
        end local 8 // java.lang.String strategyName
        end local 7 // javax.persistence.GenerationType generationType
        end local 6 // org.hibernate.boot.model.IdGeneratorStrategyInterpreter generationInterpreter
        end local 5 // javax.persistence.GeneratedValue generatedValueAnn
        end local 4 // org.hibernate.boot.model.IdentifierGeneratorDefinition globalDefinition
        end local 3 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 2 // java.util.Map localGenerators
        end local 1 // org.hibernate.annotations.common.reflection.XProperty idXProperty
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   42     0                   name  Ljava/lang/String;
            0   42     1            idXProperty  Lorg/hibernate/annotations/common/reflection/XProperty;
            0   42     2        localGenerators  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;>;
            0   42     3        buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            2    4     4                 result  Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;
            5   42     4       globalDefinition  Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;
            9   42     5      generatedValueAnn  Ljavax/persistence/GeneratedValue;
           12   42     6  generationInterpreter  Lorg/hibernate/boot/model/IdGeneratorStrategyInterpreter;
           13   42     7         generationType  Ljavax/persistence/GenerationType;
           16   21     8                builder  Lorg/hibernate/boot/model/IdentifierGeneratorDefinition$Builder;
           24   29     8                builder  Lorg/hibernate/boot/model/IdentifierGeneratorDefinition$Builder;
           31   32     8           strategyName  Ljava/lang/String;
           36   42     8           strategyName  Ljava/lang/String;
    Signature: (Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XProperty;Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;>;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;
    MethodParameters:
                 Name  Flags
      name             
      idXProperty      
      localGenerators  
      buildingContext  

  private static javax.persistence.GenerationType interpretGenerationType(javax.persistence.GeneratedValue);
    descriptor: (Ljavax/persistence/GeneratedValue;)Ljavax/persistence/GenerationType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.persistence.GeneratedValue generatedValueAnn
         0: .line 922
            aload 0 /* generatedValueAnn */
            invokeinterface javax.persistence.GeneratedValue.strategy:()Ljavax/persistence/GenerationType;
            ifnonnull 2
         1: .line 923
            getstatic javax.persistence.GenerationType.AUTO:Ljavax/persistence/GenerationType;
            areturn
         2: .line 926
      StackMap locals:
      StackMap stack:
            aload 0 /* generatedValueAnn */
            invokeinterface javax.persistence.GeneratedValue.strategy:()Ljavax/persistence/GenerationType;
            areturn
        end local 0 // javax.persistence.GeneratedValue generatedValueAnn
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0  generatedValueAnn  Ljavax/persistence/GeneratedValue;
    MethodParameters:
                   Name  Flags
      generatedValueAnn  

  public static boolean isEmptyAnnotationValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String annotationString
         0: .line 930
            aload 0 /* annotationString */
            ifnull 1
            aload 0 /* annotationString */
            invokevirtual java.lang.String.length:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String annotationString
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0  annotationString  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      annotationString  

  public static boolean isEmptyOrNullAnnotationValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String annotationString
         0: .line 935
            aload 0 /* annotationString */
            ifnull 1
            aload 0 /* annotationString */
            invokevirtual java.lang.String.length:()I
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.String annotationString
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0  annotationString  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      annotationString  

  public static org.hibernate.mapping.Any buildAnyValue(java.lang.String, org.hibernate.cfg.Ejb3JoinColumn[], javax.persistence.Column, org.hibernate.cfg.PropertyData, boolean, org.hibernate.cfg.annotations.Nullability, org.hibernate.cfg.PropertyHolder, org.hibernate.cfg.annotations.EntityBinder, boolean, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Ljava/lang/String;[Lorg/hibernate/cfg/Ejb3JoinColumn;Ljavax/persistence/Column;Lorg/hibernate/cfg/PropertyData;ZLorg/hibernate/cfg/annotations/Nullability;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/cfg/annotations/EntityBinder;ZLorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/mapping/Any;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=20, args_size=10
        start local 0 // java.lang.String anyMetaDefName
        start local 1 // org.hibernate.cfg.Ejb3JoinColumn[] columns
        start local 2 // javax.persistence.Column metaColumn
        start local 3 // org.hibernate.cfg.PropertyData inferredData
        start local 4 // boolean cascadeOnDelete
        start local 5 // org.hibernate.cfg.annotations.Nullability nullability
        start local 6 // org.hibernate.cfg.PropertyHolder propertyHolder
        start local 7 // org.hibernate.cfg.annotations.EntityBinder entityBinder
        start local 8 // boolean optional
        start local 9 // org.hibernate.boot.spi.MetadataBuildingContext context
         0: .line 950
            new org.hibernate.mapping.Any
            dup
            aload 9 /* context */
            aload 1 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getTable:()Lorg/hibernate/mapping/Table;
            invokespecial org.hibernate.mapping.Any.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/Table;)V
            astore 10 /* value */
        start local 10 // org.hibernate.mapping.Any value
         1: .line 951
            aload 3 /* inferredData */
            invokeinterface org.hibernate.cfg.PropertyData.getProperty:()Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/AnyMetaDef;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.AnyMetaDef
            astore 11 /* metaAnnDef */
        start local 11 // org.hibernate.annotations.AnyMetaDef metaAnnDef
         2: .line 953
            aload 11 /* metaAnnDef */
            ifnull 5
         3: .line 955
            aload 3 /* inferredData */
            invokeinterface org.hibernate.cfg.PropertyData.getProperty:()Lorg/hibernate/annotations/common/reflection/XProperty;
            aload 9 /* context */
            invokestatic org.hibernate.cfg.BinderHelper.bindAnyMetaDefs:(Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
         4: .line 956
            goto 6
         5: .line 958
      StackMap locals: org.hibernate.mapping.Any org.hibernate.annotations.AnyMetaDef
      StackMap stack:
            aload 9 /* context */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 0 /* anyMetaDefName */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getAnyMetaDef:(Ljava/lang/String;)Lorg/hibernate/annotations/AnyMetaDef;
            astore 11 /* metaAnnDef */
         6: .line 960
      StackMap locals:
      StackMap stack:
            aload 11 /* metaAnnDef */
            ifnull 30
         7: .line 961
            aload 10 /* value */
            aload 11 /* metaAnnDef */
            invokeinterface org.hibernate.annotations.AnyMetaDef.idType:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Any.setIdentifierType:(Ljava/lang/String;)V
         8: .line 962
            aload 10 /* value */
            aload 11 /* metaAnnDef */
            invokeinterface org.hibernate.annotations.AnyMetaDef.metaType:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Any.setMetaType:(Ljava/lang/String;)V
         9: .line 964
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 12 /* values */
        start local 12 // java.util.HashMap values
        10: .line 965
            aload 9 /* context */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getTypeResolver:()Lorg/hibernate/type/TypeResolver;
            aload 10 /* value */
            invokevirtual org.hibernate.mapping.Any.getMetaType:()Ljava/lang/String;
            invokevirtual org.hibernate.type.TypeResolver.heuristicType:(Ljava/lang/String;)Lorg/hibernate/type/Type;
            astore 13 /* metaType */
        start local 13 // org.hibernate.type.Type metaType
        11: .line 966
            aload 11 /* metaAnnDef */
            invokeinterface org.hibernate.annotations.AnyMetaDef.metaValues:()[Lorg/hibernate/annotations/MetaValue;
            dup
            astore 17
            arraylength
            istore 16
            iconst_0
            istore 15
            goto 26
      StackMap locals: java.lang.String org.hibernate.cfg.Ejb3JoinColumn[] javax.persistence.Column org.hibernate.cfg.PropertyData int org.hibernate.cfg.annotations.Nullability org.hibernate.cfg.PropertyHolder org.hibernate.cfg.annotations.EntityBinder int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.Any org.hibernate.annotations.AnyMetaDef java.util.HashMap org.hibernate.type.Type top int int org.hibernate.annotations.MetaValue[]
      StackMap stack:
        12: aload 17
            iload 15
            aaload
            astore 14 /* metaValue */
        start local 14 // org.hibernate.annotations.MetaValue metaValue
        13: .line 968
            aload 13 /* metaType */
            checkcast org.hibernate.type.DiscriminatorType
            aload 14 /* metaValue */
        14: .line 969
            invokeinterface org.hibernate.annotations.MetaValue.value:()Ljava/lang/String;
        15: .line 968
            invokeinterface org.hibernate.type.DiscriminatorType.stringToObject:(Ljava/lang/String;)Ljava/lang/Object;
            astore 18 /* discrim */
        start local 18 // java.lang.Object discrim
        16: .line 970
            aload 14 /* metaValue */
            invokeinterface org.hibernate.annotations.MetaValue.targetEntity:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 19 /* entityName */
        start local 19 // java.lang.String entityName
        17: .line 971
            aload 12 /* values */
            aload 18 /* discrim */
            aload 19 /* entityName */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 19 // java.lang.String entityName
        end local 18 // java.lang.Object discrim
        18: .line 972
            goto 25
        19: .line 973
      StackMap locals: java.lang.String org.hibernate.cfg.Ejb3JoinColumn[] javax.persistence.Column org.hibernate.cfg.PropertyData int org.hibernate.cfg.annotations.Nullability org.hibernate.cfg.PropertyHolder org.hibernate.cfg.annotations.EntityBinder int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.Any org.hibernate.annotations.AnyMetaDef java.util.HashMap org.hibernate.type.Type org.hibernate.annotations.MetaValue int int org.hibernate.annotations.MetaValue[]
      StackMap stack: java.lang.ClassCastException
            pop
        20: .line 974
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "metaType was not a DiscriminatorType: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 975
            aload 13 /* metaType */
            invokeinterface org.hibernate.type.Type.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 974
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 977
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 18 /* e */
        start local 18 // java.lang.Exception e
        24: .line 978
            new org.hibernate.MappingException
            dup
            ldc "could not interpret metaValue"
            aload 18 /* e */
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 18 // java.lang.Exception e
        end local 14 // org.hibernate.annotations.MetaValue metaValue
        25: .line 966
      StackMap locals: java.lang.String org.hibernate.cfg.Ejb3JoinColumn[] javax.persistence.Column org.hibernate.cfg.PropertyData int org.hibernate.cfg.annotations.Nullability org.hibernate.cfg.PropertyHolder org.hibernate.cfg.annotations.EntityBinder int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.Any org.hibernate.annotations.AnyMetaDef java.util.HashMap org.hibernate.type.Type top int int org.hibernate.annotations.MetaValue[]
      StackMap stack:
            iinc 15 1
      StackMap locals:
      StackMap stack:
        26: iload 15
            iload 16
            if_icmplt 12
        27: .line 981
            aload 12 /* values */
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 33
        28: .line 982
            aload 10 /* value */
            aload 12 /* values */
            invokevirtual org.hibernate.mapping.Any.setMetaValues:(Ljava/util/Map;)V
        end local 13 // org.hibernate.type.Type metaType
        end local 12 // java.util.HashMap values
        29: .line 984
            goto 33
        30: .line 986
      StackMap locals: java.lang.String org.hibernate.cfg.Ejb3JoinColumn[] javax.persistence.Column org.hibernate.cfg.PropertyData int org.hibernate.cfg.annotations.Nullability org.hibernate.cfg.PropertyHolder org.hibernate.cfg.annotations.EntityBinder int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.Any org.hibernate.annotations.AnyMetaDef
      StackMap stack:
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to find @AnyMetaDef for an @(ManyTo)Any mapping: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        31: .line 987
            aload 6 /* propertyHolder */
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aload 3 /* inferredData */
            invokeinterface org.hibernate.cfg.PropertyData.getPropertyName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 986
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        33: .line 990
      StackMap locals:
      StackMap stack:
            aload 10 /* value */
            iload 4 /* cascadeOnDelete */
            invokevirtual org.hibernate.mapping.Any.setCascadeDeleteEnabled:(Z)V
        34: .line 991
            iload 8 /* optional */
            ifne 40
        35: .line 992
            aload 1 /* columns */
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 39
      StackMap locals: java.lang.String org.hibernate.cfg.Ejb3JoinColumn[] javax.persistence.Column org.hibernate.cfg.PropertyData int org.hibernate.cfg.annotations.Nullability org.hibernate.cfg.PropertyHolder org.hibernate.cfg.annotations.EntityBinder int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.Any org.hibernate.annotations.AnyMetaDef top int int org.hibernate.cfg.Ejb3JoinColumn[]
      StackMap stack:
        36: aload 15
            iload 13
            aaload
            astore 12 /* column */
        start local 12 // org.hibernate.cfg.Ejb3JoinColumn column
        37: .line 993
            aload 12 /* column */
            iconst_0
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.setNullable:(Z)V
        end local 12 // org.hibernate.cfg.Ejb3JoinColumn column
        38: .line 992
            iinc 13 1
      StackMap locals:
      StackMap stack:
        39: iload 13
            iload 14
            if_icmplt 36
        40: .line 998
      StackMap locals: java.lang.String org.hibernate.cfg.Ejb3JoinColumn[] javax.persistence.Column org.hibernate.cfg.PropertyData int org.hibernate.cfg.annotations.Nullability org.hibernate.cfg.PropertyHolder org.hibernate.cfg.annotations.EntityBinder int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.Any org.hibernate.annotations.AnyMetaDef
      StackMap stack:
            iconst_1
            anewarray javax.persistence.Column
            dup
            iconst_0
            aload 2 /* metaColumn */
            aastore
        41: .line 999
            aconst_null
        42: .line 1000
            aload 5 /* nullability */
        43: .line 1001
            aload 6 /* propertyHolder */
        44: .line 1002
            aload 3 /* inferredData */
        45: .line 1003
            aload 7 /* entityBinder */
            invokevirtual org.hibernate.cfg.annotations.EntityBinder.getSecondaryTables:()Ljava/util/Map;
        46: .line 1004
            aload 9 /* context */
        47: .line 997
            invokestatic org.hibernate.cfg.Ejb3Column.buildColumnFromAnnotation:([Ljavax/persistence/Column;Lorg/hibernate/annotations/Formula;Lorg/hibernate/cfg/annotations/Nullability;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/cfg/PropertyData;Ljava/util/Map;Lorg/hibernate/boot/spi/MetadataBuildingContext;)[Lorg/hibernate/cfg/Ejb3Column;
            astore 12 /* metaColumns */
        start local 12 // org.hibernate.cfg.Ejb3Column[] metaColumns
        48: .line 1008
            aload 12 /* metaColumns */
            dup
            astore 16
            arraylength
            istore 15
            iconst_0
            istore 14
            goto 52
      StackMap locals: java.lang.String org.hibernate.cfg.Ejb3JoinColumn[] javax.persistence.Column org.hibernate.cfg.PropertyData int org.hibernate.cfg.annotations.Nullability org.hibernate.cfg.PropertyHolder org.hibernate.cfg.annotations.EntityBinder int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.Any org.hibernate.annotations.AnyMetaDef org.hibernate.cfg.Ejb3Column[] top int int org.hibernate.cfg.Ejb3Column[]
      StackMap stack:
        49: aload 16
            iload 14
            aaload
            astore 13 /* column */
        start local 13 // org.hibernate.cfg.Ejb3Column column
        50: .line 1009
            aload 13 /* column */
            aload 10 /* value */
            invokevirtual org.hibernate.mapping.Any.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.cfg.Ejb3Column.setTable:(Lorg/hibernate/mapping/Table;)V
        end local 13 // org.hibernate.cfg.Ejb3Column column
        51: .line 1008
            iinc 14 1
      StackMap locals:
      StackMap stack:
        52: iload 14
            iload 15
            if_icmplt 49
        53: .line 1012
            aload 12 /* metaColumns */
            dup
            astore 16
            arraylength
            istore 15
            iconst_0
            istore 14
            goto 57
      StackMap locals:
      StackMap stack:
        54: aload 16
            iload 14
            aaload
            astore 13 /* column */
        start local 13 // org.hibernate.cfg.Ejb3Column column
        55: .line 1013
            aload 13 /* column */
            aload 10 /* value */
            invokevirtual org.hibernate.cfg.Ejb3Column.linkWithValue:(Lorg/hibernate/mapping/SimpleValue;)V
        end local 13 // org.hibernate.cfg.Ejb3Column column
        56: .line 1012
            iinc 14 1
      StackMap locals:
      StackMap stack:
        57: iload 14
            iload 15
            if_icmplt 54
        58: .line 1017
            aload 3 /* inferredData */
            invokeinterface org.hibernate.cfg.PropertyData.getPropertyName:()Ljava/lang/String;
            astore 13 /* propertyName */
        start local 13 // java.lang.String propertyName
        59: .line 1018
            aload 1 /* columns */
            new java.lang.StringBuilder
            dup
            aload 6 /* propertyHolder */
            invokeinterface org.hibernate.cfg.PropertyHolder.getEntityName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* propertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.Ejb3Column.checkPropertyConsistency:([Lorg/hibernate/cfg/Ejb3Column;Ljava/lang/String;)V
        60: .line 1019
            aload 1 /* columns */
            dup
            astore 17
            arraylength
            istore 16
            iconst_0
            istore 15
            goto 64
      StackMap locals: java.lang.String org.hibernate.cfg.Ejb3JoinColumn[] javax.persistence.Column org.hibernate.cfg.PropertyData int org.hibernate.cfg.annotations.Nullability org.hibernate.cfg.PropertyHolder org.hibernate.cfg.annotations.EntityBinder int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.Any org.hibernate.annotations.AnyMetaDef org.hibernate.cfg.Ejb3Column[] java.lang.String top int int org.hibernate.cfg.Ejb3JoinColumn[]
      StackMap stack:
        61: aload 17
            iload 15
            aaload
            astore 14 /* column */
        start local 14 // org.hibernate.cfg.Ejb3JoinColumn column
        62: .line 1020
            aload 14 /* column */
            aload 10 /* value */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.linkWithValue:(Lorg/hibernate/mapping/SimpleValue;)V
        end local 14 // org.hibernate.cfg.Ejb3JoinColumn column
        63: .line 1019
            iinc 15 1
      StackMap locals:
      StackMap stack:
        64: iload 15
            iload 16
            if_icmplt 61
        65: .line 1022
            aload 10 /* value */
            areturn
        end local 13 // java.lang.String propertyName
        end local 12 // org.hibernate.cfg.Ejb3Column[] metaColumns
        end local 11 // org.hibernate.annotations.AnyMetaDef metaAnnDef
        end local 10 // org.hibernate.mapping.Any value
        end local 9 // org.hibernate.boot.spi.MetadataBuildingContext context
        end local 8 // boolean optional
        end local 7 // org.hibernate.cfg.annotations.EntityBinder entityBinder
        end local 6 // org.hibernate.cfg.PropertyHolder propertyHolder
        end local 5 // org.hibernate.cfg.annotations.Nullability nullability
        end local 4 // boolean cascadeOnDelete
        end local 3 // org.hibernate.cfg.PropertyData inferredData
        end local 2 // javax.persistence.Column metaColumn
        end local 1 // org.hibernate.cfg.Ejb3JoinColumn[] columns
        end local 0 // java.lang.String anyMetaDefName
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   66     0   anyMetaDefName  Ljava/lang/String;
            0   66     1          columns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0   66     2       metaColumn  Ljavax/persistence/Column;
            0   66     3     inferredData  Lorg/hibernate/cfg/PropertyData;
            0   66     4  cascadeOnDelete  Z
            0   66     5      nullability  Lorg/hibernate/cfg/annotations/Nullability;
            0   66     6   propertyHolder  Lorg/hibernate/cfg/PropertyHolder;
            0   66     7     entityBinder  Lorg/hibernate/cfg/annotations/EntityBinder;
            0   66     8         optional  Z
            0   66     9          context  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            1   66    10            value  Lorg/hibernate/mapping/Any;
            2   66    11       metaAnnDef  Lorg/hibernate/annotations/AnyMetaDef;
           10   29    12           values  Ljava/util/HashMap;
           11   29    13         metaType  Lorg/hibernate/type/Type;
           13   25    14        metaValue  Lorg/hibernate/annotations/MetaValue;
           16   18    18          discrim  Ljava/lang/Object;
           17   18    19       entityName  Ljava/lang/String;
           24   25    18                e  Ljava/lang/Exception;
           37   38    12           column  Lorg/hibernate/cfg/Ejb3JoinColumn;
           48   66    12      metaColumns  [Lorg/hibernate/cfg/Ejb3Column;
           50   51    13           column  Lorg/hibernate/cfg/Ejb3Column;
           55   56    13           column  Lorg/hibernate/cfg/Ejb3Column;
           59   66    13     propertyName  Ljava/lang/String;
           62   63    14           column  Lorg/hibernate/cfg/Ejb3JoinColumn;
      Exception table:
        from    to  target  type
          13    18      19  Class java.lang.ClassCastException
          13    18      23  Class java.lang.Exception
    MethodParameters:
                 Name  Flags
      anyMetaDefName   
      columns          
      metaColumn       
      inferredData     
      cascadeOnDelete  
      nullability      
      propertyHolder   
      entityBinder     
      optional         
      context          

  public static void bindAnyMetaDefs(org.hibernate.annotations.common.reflection.XAnnotatedElement, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // org.hibernate.annotations.common.reflection.XAnnotatedElement annotatedElement
        start local 1 // org.hibernate.boot.spi.MetadataBuildingContext context
         0: .line 1026
            aload 0 /* annotatedElement */
            ldc Lorg/hibernate/annotations/AnyMetaDef;
            invokeinterface org.hibernate.annotations.common.reflection.XAnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.AnyMetaDef
            astore 2 /* defAnn */
        start local 2 // org.hibernate.annotations.AnyMetaDef defAnn
         1: .line 1027
            aload 0 /* annotatedElement */
            ldc Lorg/hibernate/annotations/AnyMetaDefs;
            invokeinterface org.hibernate.annotations.common.reflection.XAnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.AnyMetaDefs
            astore 3 /* defsAnn */
        start local 3 // org.hibernate.annotations.AnyMetaDefs defsAnn
         2: .line 1028
            ldc Lorg/hibernate/annotations/common/reflection/XClass;
            aload 0 /* annotatedElement */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 5
         3: .line 1029
            ldc Lorg/hibernate/annotations/common/reflection/XPackage;
            aload 0 /* annotatedElement */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 5
         4: .line 1028
            iconst_0
            goto 6
      StackMap locals: org.hibernate.annotations.AnyMetaDef org.hibernate.annotations.AnyMetaDefs
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* mustHaveName */
        start local 4 // boolean mustHaveName
         7: .line 1030
            aload 2 /* defAnn */
            ifnull 10
         8: .line 1031
            iload 4 /* mustHaveName */
            aload 2 /* defAnn */
            aload 0 /* annotatedElement */
            invokestatic org.hibernate.cfg.BinderHelper.checkAnyMetaDefValidity:(ZLorg/hibernate/annotations/AnyMetaDef;Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;)V
         9: .line 1032
            aload 2 /* defAnn */
            aload 1 /* context */
            invokestatic org.hibernate.cfg.BinderHelper.bindAnyMetaDef:(Lorg/hibernate/annotations/AnyMetaDef;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
        10: .line 1034
      StackMap locals: int
      StackMap stack:
            aload 3 /* defsAnn */
            ifnull 17
        11: .line 1035
            aload 3 /* defsAnn */
            invokeinterface org.hibernate.annotations.AnyMetaDefs.value:()[Lorg/hibernate/annotations/AnyMetaDef;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 16
      StackMap locals: org.hibernate.annotations.common.reflection.XAnnotatedElement org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.annotations.AnyMetaDef org.hibernate.annotations.AnyMetaDefs int top int int org.hibernate.annotations.AnyMetaDef[]
      StackMap stack:
        12: aload 8
            iload 6
            aaload
            astore 5 /* def */
        start local 5 // org.hibernate.annotations.AnyMetaDef def
        13: .line 1036
            iload 4 /* mustHaveName */
            aload 5 /* def */
            aload 0 /* annotatedElement */
            invokestatic org.hibernate.cfg.BinderHelper.checkAnyMetaDefValidity:(ZLorg/hibernate/annotations/AnyMetaDef;Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;)V
        14: .line 1037
            aload 5 /* def */
            aload 1 /* context */
            invokestatic org.hibernate.cfg.BinderHelper.bindAnyMetaDef:(Lorg/hibernate/annotations/AnyMetaDef;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
        end local 5 // org.hibernate.annotations.AnyMetaDef def
        15: .line 1035
            iinc 6 1
      StackMap locals:
      StackMap stack:
        16: iload 6
            iload 7
            if_icmplt 12
        17: .line 1040
      StackMap locals: org.hibernate.annotations.common.reflection.XAnnotatedElement org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.annotations.AnyMetaDef org.hibernate.annotations.AnyMetaDefs int
      StackMap stack:
            return
        end local 4 // boolean mustHaveName
        end local 3 // org.hibernate.annotations.AnyMetaDefs defsAnn
        end local 2 // org.hibernate.annotations.AnyMetaDef defAnn
        end local 1 // org.hibernate.boot.spi.MetadataBuildingContext context
        end local 0 // org.hibernate.annotations.common.reflection.XAnnotatedElement annotatedElement
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0  annotatedElement  Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;
            0   18     1           context  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            1   18     2            defAnn  Lorg/hibernate/annotations/AnyMetaDef;
            2   18     3           defsAnn  Lorg/hibernate/annotations/AnyMetaDefs;
            7   18     4      mustHaveName  Z
           13   15     5               def  Lorg/hibernate/annotations/AnyMetaDef;
    MethodParameters:
                  Name  Flags
      annotatedElement  
      context           

  private static void checkAnyMetaDefValidity(boolean, org.hibernate.annotations.AnyMetaDef, org.hibernate.annotations.common.reflection.XAnnotatedElement);
    descriptor: (ZLorg/hibernate/annotations/AnyMetaDef;Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // boolean mustHaveName
        start local 1 // org.hibernate.annotations.AnyMetaDef defAnn
        start local 2 // org.hibernate.annotations.common.reflection.XAnnotatedElement annotatedElement
         0: .line 1043
            iload 0 /* mustHaveName */
            ifeq 6
            aload 1 /* defAnn */
            invokeinterface org.hibernate.annotations.AnyMetaDef.name:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifeq 6
         1: .line 1044
            ldc Lorg/hibernate/annotations/common/reflection/XClass;
            aload 2 /* annotatedElement */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 3
         2: .line 1045
            aload 2 /* annotatedElement */
            checkcast org.hibernate.annotations.common.reflection.XClass
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            goto 4
         3: .line 1046
      StackMap locals:
      StackMap stack:
            aload 2 /* annotatedElement */
            checkcast org.hibernate.annotations.common.reflection.XPackage
            invokeinterface org.hibernate.annotations.common.reflection.XPackage.getName:()Ljava/lang/String;
         4: .line 1044
      StackMap locals:
      StackMap stack: java.lang.String
            astore 3 /* name */
        start local 3 // java.lang.String name
         5: .line 1047
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "@AnyMetaDef.name cannot be null on an entity or a package: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String name
         6: .line 1049
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.annotations.common.reflection.XAnnotatedElement annotatedElement
        end local 1 // org.hibernate.annotations.AnyMetaDef defAnn
        end local 0 // boolean mustHaveName
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0      mustHaveName  Z
            0    7     1            defAnn  Lorg/hibernate/annotations/AnyMetaDef;
            0    7     2  annotatedElement  Lorg/hibernate/annotations/common/reflection/XAnnotatedElement;
            5    6     3              name  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      mustHaveName      
      defAnn            
      annotatedElement  

  private static void bindAnyMetaDef(org.hibernate.annotations.AnyMetaDef, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/annotations/AnyMetaDef;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.annotations.AnyMetaDef defAnn
        start local 1 // org.hibernate.boot.spi.MetadataBuildingContext context
         0: .line 1052
            aload 0 /* defAnn */
            invokeinterface org.hibernate.annotations.AnyMetaDef.name:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1054
            return
         2: .line 1056
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.cfg.BinderHelper.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 4
         3: .line 1057
            getstatic org.hibernate.cfg.BinderHelper.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Binding Any Meta definition: %s"
            aload 0 /* defAnn */
            invokeinterface org.hibernate.annotations.AnyMetaDef.name:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 1059
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 0 /* defAnn */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addAnyMetaDef:(Lorg/hibernate/annotations/AnyMetaDef;)V
         5: .line 1060
            return
        end local 1 // org.hibernate.boot.spi.MetadataBuildingContext context
        end local 0 // org.hibernate.annotations.AnyMetaDef defAnn
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0   defAnn  Lorg/hibernate/annotations/AnyMetaDef;
            0    6     1  context  Lorg/hibernate/boot/spi/MetadataBuildingContext;
    MethodParameters:
         Name  Flags
      defAnn   
      context  

  public static org.hibernate.mapping.MappedSuperclass getMappedSuperclassOrNull(org.hibernate.annotations.common.reflection.XClass, java.util.Map<org.hibernate.annotations.common.reflection.XClass, org.hibernate.cfg.InheritanceState>, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XClass;Ljava/util/Map;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/mapping/MappedSuperclass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.hibernate.annotations.common.reflection.XClass declaringClass
        start local 1 // java.util.Map inheritanceStatePerClass
        start local 2 // org.hibernate.boot.spi.MetadataBuildingContext context
         0: .line 1066
            iconst_0
            istore 3 /* retrieve */
        start local 3 // boolean retrieve
         1: .line 1067
            aload 0 /* declaringClass */
            ifnull 9
         2: .line 1068
            aload 1 /* inheritanceStatePerClass */
            aload 0 /* declaringClass */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.cfg.InheritanceState
            astore 4 /* inheritanceState */
        start local 4 // org.hibernate.cfg.InheritanceState inheritanceState
         3: .line 1069
            aload 4 /* inheritanceState */
            ifnonnull 7
         4: .line 1070
            new org.hibernate.annotations.common.AssertionFailure
            dup
         5: .line 1071
            new java.lang.StringBuilder
            dup
            ldc "Declaring class is not found in the inheritance state hierarchy: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* declaringClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 1070
            invokespecial org.hibernate.annotations.common.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1074
      StackMap locals: int org.hibernate.cfg.InheritanceState
      StackMap stack:
            aload 4 /* inheritanceState */
            invokevirtual org.hibernate.cfg.InheritanceState.isEmbeddableSuperclass:()Z
            ifeq 9
         8: .line 1075
            iconst_1
            istore 3 /* retrieve */
        end local 4 // org.hibernate.cfg.InheritanceState inheritanceState
         9: .line 1079
      StackMap locals:
      StackMap stack:
            iload 3 /* retrieve */
            ifeq 13
        10: .line 1080
            aload 2 /* context */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        11: .line 1081
            aload 2 /* context */
            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;
            aload 0 /* declaringClass */
            invokeinterface org.hibernate.annotations.common.reflection.ReflectionManager.toClass:(Lorg/hibernate/annotations/common/reflection/XClass;)Ljava/lang/Class;
        12: .line 1080
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getMappedSuperclass:(Ljava/lang/Class;)Lorg/hibernate/mapping/MappedSuperclass;
            areturn
        13: .line 1085
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // boolean retrieve
        end local 2 // org.hibernate.boot.spi.MetadataBuildingContext context
        end local 1 // java.util.Map inheritanceStatePerClass
        end local 0 // org.hibernate.annotations.common.reflection.XClass declaringClass
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   14     0            declaringClass  Lorg/hibernate/annotations/common/reflection/XClass;
            0   14     1  inheritanceStatePerClass  Ljava/util/Map<Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/cfg/InheritanceState;>;
            0   14     2                   context  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            1   14     3                  retrieve  Z
            3    9     4          inheritanceState  Lorg/hibernate/cfg/InheritanceState;
    Signature: (Lorg/hibernate/annotations/common/reflection/XClass;Ljava/util/Map<Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/cfg/InheritanceState;>;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/mapping/MappedSuperclass;
    MethodParameters:
                          Name  Flags
      declaringClass            
      inheritanceStatePerClass  
      context                   

  public static java.lang.String getPath(org.hibernate.cfg.PropertyHolder, org.hibernate.cfg.PropertyData);
    descriptor: (Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/cfg/PropertyData;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.PropertyHolder holder
        start local 1 // org.hibernate.cfg.PropertyData property
         0: .line 1090
            aload 0 /* holder */
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aload 1 /* property */
            invokeinterface org.hibernate.cfg.PropertyData.getPropertyName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.cfg.PropertyData property
        end local 0 // org.hibernate.cfg.PropertyHolder holder
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0    holder  Lorg/hibernate/cfg/PropertyHolder;
            0    1     1  property  Lorg/hibernate/cfg/PropertyData;
    MethodParameters:
          Name  Flags
      holder    
      property  

  static org.hibernate.cfg.PropertyData getPropertyOverriddenByMapperOrMapsId(boolean, org.hibernate.cfg.PropertyHolder, java.lang.String, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (ZLorg/hibernate/cfg/PropertyHolder;Ljava/lang/String;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/cfg/PropertyData;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // boolean isId
        start local 1 // org.hibernate.cfg.PropertyHolder propertyHolder
        start local 2 // java.lang.String propertyName
        start local 3 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 1100
            aload 3 /* buildingContext */
            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;
         1: .line 1101
            aload 1 /* propertyHolder */
            invokeinterface org.hibernate.cfg.PropertyHolder.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getClassName:()Ljava/lang/String;
            invokeinterface org.hibernate.annotations.common.reflection.ReflectionManager.classForName:(Ljava/lang/String;)Lorg/hibernate/annotations/common/reflection/XClass;
         2: .line 1100
            astore 4 /* persistentXClass */
        start local 4 // org.hibernate.annotations.common.reflection.XClass persistentXClass
         3: .line 1102
            goto 6
        end local 4 // org.hibernate.annotations.common.reflection.XClass persistentXClass
         4: .line 1103
      StackMap locals:
      StackMap stack: org.hibernate.annotations.common.reflection.ClassLoadingException
            astore 5 /* e */
        start local 5 // org.hibernate.annotations.common.reflection.ClassLoadingException e
         5: .line 1104
            new org.hibernate.AssertionFailure
            dup
            ldc "PersistentClass name cannot be converted into a Class"
            aload 5 /* e */
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // org.hibernate.annotations.common.reflection.ClassLoadingException e
        start local 4 // org.hibernate.annotations.common.reflection.XClass persistentXClass
         6: .line 1106
      StackMap locals: org.hibernate.annotations.common.reflection.XClass
      StackMap stack:
            aload 1 /* propertyHolder */
            invokeinterface org.hibernate.cfg.PropertyHolder.isInIdClass:()Z
            ifeq 17
         7: .line 1107
            aload 3 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
         8: .line 1108
            aload 4 /* persistentXClass */
         9: .line 1109
            aload 2 /* propertyName */
        10: .line 1107
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getPropertyAnnotatedWithIdAndToOne:(Lorg/hibernate/annotations/common/reflection/XClass;Ljava/lang/String;)Lorg/hibernate/cfg/PropertyData;
            astore 5 /* pd */
        start local 5 // org.hibernate.cfg.PropertyData pd
        11: .line 1111
            aload 5 /* pd */
            ifnonnull 16
            aload 3 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getBuildingOptions:()Lorg/hibernate/boot/spi/MetadataBuildingOptions;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingOptions.isSpecjProprietarySyntaxEnabled:()Z
            ifeq 16
        12: .line 1112
            aload 3 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        13: .line 1113
            aload 4 /* persistentXClass */
        14: .line 1114
            aload 2 /* propertyName */
        15: .line 1112
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getPropertyAnnotatedWithMapsId:(Lorg/hibernate/annotations/common/reflection/XClass;Ljava/lang/String;)Lorg/hibernate/cfg/PropertyData;
            astore 5 /* pd */
        16: .line 1117
      StackMap locals: org.hibernate.cfg.PropertyData
      StackMap stack:
            aload 5 /* pd */
            areturn
        end local 5 // org.hibernate.cfg.PropertyData pd
        17: .line 1119
      StackMap locals:
      StackMap stack:
            iload 0 /* isId */
            ifeq 18
            ldc ""
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 2 /* propertyName */
      StackMap locals:
      StackMap stack: java.lang.String
        19: astore 5 /* propertyPath */
        start local 5 // java.lang.String propertyPath
        20: .line 1120
            aload 3 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 4 /* persistentXClass */
            aload 5 /* propertyPath */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getPropertyAnnotatedWithMapsId:(Lorg/hibernate/annotations/common/reflection/XClass;Ljava/lang/String;)Lorg/hibernate/cfg/PropertyData;
            areturn
        end local 5 // java.lang.String propertyPath
        end local 4 // org.hibernate.annotations.common.reflection.XClass persistentXClass
        end local 3 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 2 // java.lang.String propertyName
        end local 1 // org.hibernate.cfg.PropertyHolder propertyHolder
        end local 0 // boolean isId
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0              isId  Z
            0   21     1    propertyHolder  Lorg/hibernate/cfg/PropertyHolder;
            0   21     2      propertyName  Ljava/lang/String;
            0   21     3   buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            3    4     4  persistentXClass  Lorg/hibernate/annotations/common/reflection/XClass;
            6   21     4  persistentXClass  Lorg/hibernate/annotations/common/reflection/XClass;
            5    6     5                 e  Lorg/hibernate/annotations/common/reflection/ClassLoadingException;
           11   17     5                pd  Lorg/hibernate/cfg/PropertyData;
           20   21     5      propertyPath  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     3       4  Class org.hibernate.annotations.common.reflection.ClassLoadingException
    MethodParameters:
                 Name  Flags
      isId             
      propertyHolder   
      propertyName     
      buildingContext  

  public static java.util.Map<java.lang.String, java.lang.String> toAliasTableMap(org.hibernate.annotations.SqlFragmentAlias[]);
    descriptor: ([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.hibernate.annotations.SqlFragmentAlias[] aliases
         0: .line 1124
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* ret */
        start local 1 // java.util.Map ret
         1: .line 1125
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 1126
      StackMap locals: java.util.Map int
      StackMap stack:
            aload 0 /* aliases */
            iload 2 /* i */
            aaload
            invokeinterface org.hibernate.annotations.SqlFragmentAlias.table:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 1127
            aload 1 /* ret */
            aload 0 /* aliases */
            iload 2 /* i */
            aaload
            invokeinterface org.hibernate.annotations.SqlFragmentAlias.alias:()Ljava/lang/String;
            aload 0 /* aliases */
            iload 2 /* i */
            aaload
            invokeinterface org.hibernate.annotations.SqlFragmentAlias.table:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1125
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* aliases */
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 1130
            aload 1 /* ret */
            areturn
        end local 1 // java.util.Map ret
        end local 0 // org.hibernate.annotations.SqlFragmentAlias[] aliases
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  aliases  [Lorg/hibernate/annotations/SqlFragmentAlias;
            1    8     1      ret  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2    7     2        i  I
    Signature: ([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      aliases  

  public static java.util.Map<java.lang.String, java.lang.String> toAliasEntityMap(org.hibernate.annotations.SqlFragmentAlias[]);
    descriptor: ([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.hibernate.annotations.SqlFragmentAlias[] aliases
         0: .line 1134
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* ret */
        start local 1 // java.util.Map ret
         1: .line 1135
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 1136
      StackMap locals: java.util.Map int
      StackMap stack:
            aload 0 /* aliases */
            iload 2 /* i */
            aaload
            invokeinterface org.hibernate.annotations.SqlFragmentAlias.entity:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 5
         4: .line 1137
            aload 1 /* ret */
            aload 0 /* aliases */
            iload 2 /* i */
            aaload
            invokeinterface org.hibernate.annotations.SqlFragmentAlias.alias:()Ljava/lang/String;
            aload 0 /* aliases */
            iload 2 /* i */
            aaload
            invokeinterface org.hibernate.annotations.SqlFragmentAlias.entity:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1135
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* aliases */
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 1140
            aload 1 /* ret */
            areturn
        end local 1 // java.util.Map ret
        end local 0 // org.hibernate.annotations.SqlFragmentAlias[] aliases
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  aliases  [Lorg/hibernate/annotations/SqlFragmentAlias;
            1    8     1      ret  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2    7     2        i  I
    Signature: ([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      aliases  
}
SourceFile: "BinderHelper.java"
NestMembers:
  org.hibernate.cfg.BinderHelper$1  org.hibernate.cfg.BinderHelper$2  org.hibernate.cfg.BinderHelper$3
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public abstract GeneratorNameDeterminationContext = org.hibernate.boot.model.IdGeneratorStrategyInterpreter$GeneratorNameDeterminationContext of org.hibernate.boot.model.IdGeneratorStrategyInterpreter
  public Builder = org.hibernate.boot.model.IdentifierGeneratorDefinition$Builder of org.hibernate.boot.model.IdentifierGeneratorDefinition
  org.hibernate.cfg.BinderHelper$1
  org.hibernate.cfg.BinderHelper$2
  org.hibernate.cfg.BinderHelper$3