public class org.hibernate.cfg.annotations.MapBinder extends org.hibernate.cfg.annotations.CollectionBinder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.cfg.annotations.MapBinder
  super_class: org.hibernate.cfg.annotations.CollectionBinder
{
  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
        start local 1 // boolean sorted
         0: .line 68
            aload 0 /* this */
            iload 1 /* sorted */
            invokespecial org.hibernate.cfg.annotations.CollectionBinder.<init>:(Z)V
         1: .line 69
            return
        end local 1 // boolean sorted
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/cfg/annotations/MapBinder;
            0    2     1  sorted  Z
    MethodParameters:
        Name  Flags
      sorted  

  public boolean isMap();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
         0: .line 72
            iconst_1
            ireturn
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/annotations/MapBinder;

  protected org.hibernate.mapping.Collection createCollection(org.hibernate.mapping.PersistentClass);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;)Lorg/hibernate/mapping/Collection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
        start local 1 // org.hibernate.mapping.PersistentClass persistentClass
         0: .line 76
            new org.hibernate.mapping.Map
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.MapBinder.getBuildingContext:()Lorg/hibernate/boot/spi/MetadataBuildingContext;
            aload 1 /* persistentClass */
            invokespecial org.hibernate.mapping.Map.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/PersistentClass;)V
            areturn
        end local 1 // org.hibernate.mapping.PersistentClass persistentClass
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/hibernate/cfg/annotations/MapBinder;
            0    1     1  persistentClass  Lorg/hibernate/mapping/PersistentClass;
    MethodParameters:
                 Name  Flags
      persistentClass  

  public org.hibernate.cfg.SecondPass getSecondPass(org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.cfg.Ejb3Column[], org.hibernate.cfg.Ejb3Column[], org.hibernate.cfg.Ejb3JoinColumn[], boolean, org.hibernate.annotations.common.reflection.XProperty, org.hibernate.annotations.common.reflection.XClass, boolean, boolean, org.hibernate.cfg.annotations.TableBinder, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: ([Lorg/hibernate/cfg/Ejb3JoinColumn;[Lorg/hibernate/cfg/Ejb3JoinColumn;[Lorg/hibernate/cfg/Ejb3JoinColumn;[Lorg/hibernate/cfg/Ejb3Column;[Lorg/hibernate/cfg/Ejb3Column;[Lorg/hibernate/cfg/Ejb3JoinColumn;ZLorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/annotations/common/reflection/XClass;ZZLorg/hibernate/cfg/annotations/TableBinder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/cfg/SecondPass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=14, args_size=14
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
        start local 1 // org.hibernate.cfg.Ejb3JoinColumn[] fkJoinColumns
        start local 2 // org.hibernate.cfg.Ejb3JoinColumn[] keyColumns
        start local 3 // org.hibernate.cfg.Ejb3JoinColumn[] inverseColumns
        start local 4 // org.hibernate.cfg.Ejb3Column[] elementColumns
        start local 5 // org.hibernate.cfg.Ejb3Column[] mapKeyColumns
        start local 6 // org.hibernate.cfg.Ejb3JoinColumn[] mapKeyManyToManyColumns
        start local 7 // boolean isEmbedded
        start local 8 // org.hibernate.annotations.common.reflection.XProperty property
        start local 9 // org.hibernate.annotations.common.reflection.XClass collType
        start local 10 // boolean ignoreNotFound
        start local 11 // boolean unique
        start local 12 // org.hibernate.cfg.annotations.TableBinder assocTableBinder
        start local 13 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 94
            new org.hibernate.cfg.annotations.MapBinder$1
            dup
            aload 0 /* this */
            aload 13 /* buildingContext */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 9 /* collType */
            aload 1 /* fkJoinColumns */
            aload 2 /* keyColumns */
            aload 3 /* inverseColumns */
            aload 4 /* elementColumns */
            iload 7 /* isEmbedded */
            aload 8 /* property */
            iload 11 /* unique */
            aload 12 /* assocTableBinder */
            iload 10 /* ignoreNotFound */
            aload 13 /* buildingContext */
            aload 5 /* mapKeyColumns */
            aload 6 /* mapKeyManyToManyColumns */
            invokespecial org.hibernate.cfg.annotations.MapBinder$1.<init>:(Lorg/hibernate/cfg/annotations/MapBinder;Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/Collection;Lorg/hibernate/annotations/common/reflection/XClass;[Lorg/hibernate/cfg/Ejb3JoinColumn;[Lorg/hibernate/cfg/Ejb3JoinColumn;[Lorg/hibernate/cfg/Ejb3JoinColumn;[Lorg/hibernate/cfg/Ejb3Column;ZLorg/hibernate/annotations/common/reflection/XProperty;ZLorg/hibernate/cfg/annotations/TableBinder;ZLorg/hibernate/boot/spi/MetadataBuildingContext;[Lorg/hibernate/cfg/Ejb3Column;[Lorg/hibernate/cfg/Ejb3JoinColumn;)V
            areturn
        end local 13 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 12 // org.hibernate.cfg.annotations.TableBinder assocTableBinder
        end local 11 // boolean unique
        end local 10 // boolean ignoreNotFound
        end local 9 // org.hibernate.annotations.common.reflection.XClass collType
        end local 8 // org.hibernate.annotations.common.reflection.XProperty property
        end local 7 // boolean isEmbedded
        end local 6 // org.hibernate.cfg.Ejb3JoinColumn[] mapKeyManyToManyColumns
        end local 5 // org.hibernate.cfg.Ejb3Column[] mapKeyColumns
        end local 4 // org.hibernate.cfg.Ejb3Column[] elementColumns
        end local 3 // org.hibernate.cfg.Ejb3JoinColumn[] inverseColumns
        end local 2 // org.hibernate.cfg.Ejb3JoinColumn[] keyColumns
        end local 1 // org.hibernate.cfg.Ejb3JoinColumn[] fkJoinColumns
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lorg/hibernate/cfg/annotations/MapBinder;
            0    1     1            fkJoinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0    1     2               keyColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0    1     3           inverseColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0    1     4           elementColumns  [Lorg/hibernate/cfg/Ejb3Column;
            0    1     5            mapKeyColumns  [Lorg/hibernate/cfg/Ejb3Column;
            0    1     6  mapKeyManyToManyColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0    1     7               isEmbedded  Z
            0    1     8                 property  Lorg/hibernate/annotations/common/reflection/XProperty;
            0    1     9                 collType  Lorg/hibernate/annotations/common/reflection/XClass;
            0    1    10           ignoreNotFound  Z
            0    1    11                   unique  Z
            0    1    12         assocTableBinder  Lorg/hibernate/cfg/annotations/TableBinder;
            0    1    13          buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
    MethodParameters:
                         Name  Flags
      fkJoinColumns            final
      keyColumns               final
      inverseColumns           final
      elementColumns           final
      mapKeyColumns            final
      mapKeyManyToManyColumns  final
      isEmbedded               final
      property                 final
      collType                 final
      ignoreNotFound           final
      unique                   final
      assocTableBinder         final
      buildingContext          final

  private void makeOneToManyMapKeyColumnNullableIfNotInProperty(org.hibernate.annotations.common.reflection.XProperty);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XProperty;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
        start local 1 // org.hibernate.annotations.common.reflection.XProperty property
         0: .line 113
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.collection:Lorg/hibernate/mapping/Collection;
            checkcast org.hibernate.mapping.Map
            astore 2 /* map */
        start local 2 // org.hibernate.mapping.Map map
         1: .line 114
            aload 2 /* map */
            invokevirtual org.hibernate.mapping.Map.isOneToMany:()Z
            ifeq 14
         2: .line 115
            aload 1 /* property */
            ldc Ljavax/persistence/MapKeyColumn;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 14
         3: .line 116
            aload 2 /* map */
            invokevirtual org.hibernate.mapping.Map.getIndex:()Lorg/hibernate/mapping/Value;
            astore 3 /* indexValue */
        start local 3 // org.hibernate.mapping.Value indexValue
         4: .line 117
            aload 3 /* indexValue */
            invokeinterface org.hibernate.mapping.Value.getColumnSpan:()I
            iconst_1
            if_icmpeq 6
         5: .line 118
            new org.hibernate.AssertionFailure
            dup
            ldc "Map key mapped by @MapKeyColumn does not have 1 column"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 120
      StackMap locals: org.hibernate.mapping.Map org.hibernate.mapping.Value
      StackMap stack:
            aload 3 /* indexValue */
            invokeinterface org.hibernate.mapping.Value.getColumnIterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Selectable
            astore 4 /* selectable */
        start local 4 // org.hibernate.mapping.Selectable selectable
         7: .line 121
            aload 4 /* selectable */
            invokeinterface org.hibernate.mapping.Selectable.isFormula:()Z
            ifeq 9
         8: .line 122
            new org.hibernate.AssertionFailure
            dup
            ldc "Map key mapped by @MapKeyColumn is a Formula"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 124
      StackMap locals: org.hibernate.mapping.Selectable
      StackMap stack:
            aload 2 /* map */
            invokevirtual org.hibernate.mapping.Map.getIndex:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnIterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 5 /* column */
        start local 5 // org.hibernate.mapping.Column column
        10: .line 125
            aload 5 /* column */
            invokevirtual org.hibernate.mapping.Column.isNullable:()Z
            ifne 14
        11: .line 126
            aload 2 /* map */
            invokevirtual org.hibernate.mapping.Map.getElement:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.OneToMany
            invokevirtual org.hibernate.mapping.OneToMany.getAssociatedClass:()Lorg/hibernate/mapping/PersistentClass;
            astore 6 /* persistentClass */
        start local 6 // org.hibernate.mapping.PersistentClass persistentClass
        12: .line 130
            aload 0 /* this */
            aload 6 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getUnjoinedPropertyIterator:()Ljava/util/Iterator;
            aload 5 /* column */
            invokevirtual org.hibernate.cfg.annotations.MapBinder.propertyIteratorContainsColumn:(Ljava/util/Iterator;Lorg/hibernate/mapping/Column;)Z
            ifne 14
        13: .line 133
            aload 5 /* column */
            iconst_1
            invokevirtual org.hibernate.mapping.Column.setNullable:(Z)V
        end local 6 // org.hibernate.mapping.PersistentClass persistentClass
        end local 5 // org.hibernate.mapping.Column column
        end local 4 // org.hibernate.mapping.Selectable selectable
        end local 3 // org.hibernate.mapping.Value indexValue
        14: .line 137
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.mapping.Map map
        end local 1 // org.hibernate.annotations.common.reflection.XProperty property
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lorg/hibernate/cfg/annotations/MapBinder;
            0   15     1         property  Lorg/hibernate/annotations/common/reflection/XProperty;
            1   15     2              map  Lorg/hibernate/mapping/Map;
            4   14     3       indexValue  Lorg/hibernate/mapping/Value;
            7   14     4       selectable  Lorg/hibernate/mapping/Selectable;
           10   14     5           column  Lorg/hibernate/mapping/Column;
           12   14     6  persistentClass  Lorg/hibernate/mapping/PersistentClass;
    MethodParameters:
          Name  Flags
      property  final

  private boolean propertyIteratorContainsColumn(java.util.Iterator, org.hibernate.mapping.Column);
    descriptor: (Ljava/util/Iterator;Lorg/hibernate/mapping/Column;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
        start local 1 // java.util.Iterator propertyIterator
        start local 2 // org.hibernate.mapping.Column column
         0: .line 140
            aload 1 /* propertyIterator */
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         1: goto 11
         2: .line 141
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 4 /* property */
        start local 4 // org.hibernate.mapping.Property property
         3: .line 142
            aload 4 /* property */
            invokevirtual org.hibernate.mapping.Property.getColumnIterator:()Ljava/util/Iterator;
            astore 5 /* selectableIterator */
        start local 5 // java.util.Iterator selectableIterator
         4: goto 10
         5: .line 143
      StackMap locals: org.hibernate.mapping.Property java.util.Iterator
      StackMap stack:
            aload 5 /* selectableIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Selectable
            astore 6 /* selectable */
        start local 6 // org.hibernate.mapping.Selectable selectable
         6: .line 144
            aload 2 /* column */
            aload 6 /* selectable */
            invokevirtual org.hibernate.mapping.Column.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 145
            aload 6 /* selectable */
            checkcast org.hibernate.mapping.Column
            astore 7 /* iteratedColumn */
        start local 7 // org.hibernate.mapping.Column iteratedColumn
         8: .line 146
            aload 2 /* column */
            invokevirtual org.hibernate.mapping.Column.getValue:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getTable:()Lorg/hibernate/mapping/Table;
            aload 7 /* iteratedColumn */
            invokevirtual org.hibernate.mapping.Column.getValue:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.equals:(Lorg/hibernate/mapping/Table;)Z
            ifeq 10
         9: .line 147
            iconst_1
            ireturn
        end local 7 // org.hibernate.mapping.Column iteratedColumn
        end local 6 // org.hibernate.mapping.Selectable selectable
        10: .line 142
      StackMap locals:
      StackMap stack:
            aload 5 /* selectableIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 5 // java.util.Iterator selectableIterator
        end local 4 // org.hibernate.mapping.Property property
        11: .line 140
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 3 // java.util.Iterator it
        12: .line 152
            iconst_0
            ireturn
        end local 2 // org.hibernate.mapping.Column column
        end local 1 // java.util.Iterator propertyIterator
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lorg/hibernate/cfg/annotations/MapBinder;
            0   13     1    propertyIterator  Ljava/util/Iterator;
            0   13     2              column  Lorg/hibernate/mapping/Column;
            1   12     3                  it  Ljava/util/Iterator;
            3   11     4            property  Lorg/hibernate/mapping/Property;
            4   11     5  selectableIterator  Ljava/util/Iterator<Lorg/hibernate/mapping/Selectable;>;
            6   10     6          selectable  Lorg/hibernate/mapping/Selectable;
            8   10     7      iteratedColumn  Lorg/hibernate/mapping/Column;
    MethodParameters:
                  Name  Flags
      propertyIterator  
      column            

  private void bindKeyFromAssociationTable(org.hibernate.annotations.common.reflection.XClass, java.util.Map, java.lang.String, org.hibernate.annotations.common.reflection.XProperty, boolean, org.hibernate.boot.spi.MetadataBuildingContext, org.hibernate.cfg.Ejb3Column[], org.hibernate.cfg.Ejb3JoinColumn[], java.lang.String);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XClass;Ljava/util/Map;Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XProperty;ZLorg/hibernate/boot/spi/MetadataBuildingContext;[Lorg/hibernate/cfg/Ejb3Column;[Lorg/hibernate/cfg/Ejb3JoinColumn;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=27, args_size=10
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
        start local 1 // org.hibernate.annotations.common.reflection.XClass collType
        start local 2 // java.util.Map persistentClasses
        start local 3 // java.lang.String mapKeyPropertyName
        start local 4 // org.hibernate.annotations.common.reflection.XProperty property
        start local 5 // boolean isEmbedded
        start local 6 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        start local 7 // org.hibernate.cfg.Ejb3Column[] mapKeyColumns
        start local 8 // org.hibernate.cfg.Ejb3JoinColumn[] mapKeyManyToManyColumns
        start local 9 // java.lang.String targetPropertyName
         0: .line 165
            aload 3 /* mapKeyPropertyName */
            ifnull 19
         1: .line 167
            aload 2 /* persistentClasses */
            aload 1 /* collType */
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            astore 10 /* associatedClass */
        start local 10 // org.hibernate.mapping.PersistentClass associatedClass
         2: .line 168
            aload 10 /* associatedClass */
            ifnonnull 3
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Associated class not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* collType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 169
      StackMap locals: org.hibernate.mapping.PersistentClass
      StackMap stack:
            aload 10 /* associatedClass */
            aload 3 /* mapKeyPropertyName */
            invokestatic org.hibernate.cfg.BinderHelper.findPropertyByName:(Lorg/hibernate/mapping/PersistentClass;Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 11 /* mapProperty */
        start local 11 // org.hibernate.mapping.Property mapProperty
         4: .line 170
            aload 11 /* mapProperty */
            ifnonnull 8
         5: .line 171
            new org.hibernate.AnnotationException
            dup
         6: .line 172
            new java.lang.StringBuilder
            dup
            ldc "Map key property not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* collType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* mapKeyPropertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 171
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 175
      StackMap locals: org.hibernate.mapping.Property
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.collection:Lorg/hibernate/mapping/Collection;
            checkcast org.hibernate.mapping.Map
            astore 12 /* map */
        start local 12 // org.hibernate.mapping.Map map
         9: .line 177
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.inheritanceStatePerClass:Ljava/util/Map;
            aload 1 /* collType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.cfg.InheritanceState
            astore 13 /* inheritanceState */
        start local 13 // org.hibernate.cfg.InheritanceState inheritanceState
        10: .line 178
            getstatic javax.persistence.InheritanceType.JOINED:Ljavax/persistence/InheritanceType;
            aload 13 /* inheritanceState */
            invokevirtual org.hibernate.cfg.InheritanceState.getType:()Ljavax/persistence/InheritanceType;
            invokevirtual javax.persistence.InheritanceType.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 179
            aload 11 /* mapProperty */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            goto 13
        12: .line 180
      StackMap locals: org.hibernate.mapping.Map org.hibernate.cfg.InheritanceState
      StackMap stack:
            aload 10 /* associatedClass */
        13: .line 178
      StackMap locals:
      StackMap stack: org.hibernate.mapping.PersistentClass
            astore 14 /* targetPropertyPersistentClass */
        start local 14 // org.hibernate.mapping.PersistentClass targetPropertyPersistentClass
        14: .line 181
            aload 0 /* this */
        15: .line 182
            aload 11 /* mapProperty */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            aload 12 /* map */
            aload 9 /* targetPropertyName */
            aload 10 /* associatedClass */
            aload 14 /* targetPropertyPersistentClass */
            aload 6 /* buildingContext */
        16: .line 181
            invokevirtual org.hibernate.cfg.annotations.MapBinder.createFormulatedValue:(Lorg/hibernate/mapping/Value;Lorg/hibernate/mapping/Collection;Ljava/lang/String;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/mapping/Value;
            astore 15 /* indexValue */
        start local 15 // org.hibernate.mapping.Value indexValue
        17: .line 184
            aload 12 /* map */
            aload 15 /* indexValue */
            invokevirtual org.hibernate.mapping.Map.setIndex:(Lorg/hibernate/mapping/Value;)V
        end local 15 // org.hibernate.mapping.Value indexValue
        end local 14 // org.hibernate.mapping.PersistentClass targetPropertyPersistentClass
        end local 13 // org.hibernate.cfg.InheritanceState inheritanceState
        end local 12 // org.hibernate.mapping.Map map
        end local 11 // org.hibernate.mapping.Property mapProperty
        end local 10 // org.hibernate.mapping.PersistentClass associatedClass
        18: .line 185
            goto 144
        19: .line 190
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XClass java.util.Map java.lang.String org.hibernate.annotations.common.reflection.XProperty int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.Ejb3Column[] org.hibernate.cfg.Ejb3JoinColumn[] java.lang.String
      StackMap stack:
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            astore 11 /* target */
        start local 11 // java.lang.Class target
        20: .line 195
            aload 4 /* property */
            ldc Ljavax/persistence/MapKeyClass;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 22
        21: .line 196
            aload 4 /* property */
            ldc Ljavax/persistence/MapKeyClass;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.MapKeyClass
            invokeinterface javax.persistence.MapKeyClass.value:()Ljava/lang/Class;
            astore 11 /* target */
        22: .line 198
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XClass java.util.Map java.lang.String org.hibernate.annotations.common.reflection.XProperty int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.Ejb3Column[] org.hibernate.cfg.Ejb3JoinColumn[] java.lang.String top java.lang.Class
      StackMap stack:
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            aload 11 /* target */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 25
        23: .line 199
            aload 11 /* target */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 10 /* mapKeyType */
        start local 10 // java.lang.String mapKeyType
        24: .line 200
            goto 26
        end local 10 // java.lang.String mapKeyType
        25: .line 202
      StackMap locals:
      StackMap stack:
            aload 4 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getMapKey:()Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            astore 10 /* mapKeyType */
        start local 10 // java.lang.String mapKeyType
        26: .line 204
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XClass java.util.Map java.lang.String org.hibernate.annotations.common.reflection.XProperty int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.Ejb3Column[] org.hibernate.cfg.Ejb3JoinColumn[] java.lang.String java.lang.String java.lang.Class
      StackMap stack:
            aload 2 /* persistentClasses */
            aload 10 /* mapKeyType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            astore 12 /* collectionEntity */
        start local 12 // org.hibernate.mapping.PersistentClass collectionEntity
        27: .line 205
            aload 12 /* collectionEntity */
            ifnull 28
            iconst_1
            goto 29
      StackMap locals: org.hibernate.mapping.PersistentClass
      StackMap stack:
        28: iconst_0
      StackMap locals:
      StackMap stack: int
        29: istore 13 /* isIndexOfEntities */
        start local 13 // boolean isIndexOfEntities
        30: .line 206
            aconst_null
            astore 14 /* element */
        start local 14 // org.hibernate.mapping.ManyToOne element
        31: .line 207
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.collection:Lorg/hibernate/mapping/Collection;
            checkcast org.hibernate.mapping.Map
            astore 15 /* mapValue */
        start local 15 // org.hibernate.mapping.Map mapValue
        32: .line 208
            iload 13 /* isIndexOfEntities */
            ifeq 39
        33: .line 209
            new org.hibernate.mapping.ManyToOne
            dup
            aload 6 /* buildingContext */
            aload 15 /* mapValue */
            invokevirtual org.hibernate.mapping.Map.getCollectionTable:()Lorg/hibernate/mapping/Table;
            invokespecial org.hibernate.mapping.ManyToOne.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/Table;)V
            astore 14 /* element */
        34: .line 210
            aload 15 /* mapValue */
            aload 14 /* element */
            invokevirtual org.hibernate.mapping.Map.setIndex:(Lorg/hibernate/mapping/Value;)V
        35: .line 211
            aload 14 /* element */
            aload 10 /* mapKeyType */
            invokevirtual org.hibernate.mapping.ManyToOne.setReferencedEntityName:(Ljava/lang/String;)V
        36: .line 215
            aload 14 /* element */
            getstatic org.hibernate.FetchMode.JOIN:Lorg/hibernate/FetchMode;
            invokevirtual org.hibernate.mapping.ManyToOne.setFetchMode:(Lorg/hibernate/FetchMode;)V
        37: .line 216
            aload 14 /* element */
            iconst_0
            invokevirtual org.hibernate.mapping.ManyToOne.setLazy:(Z)V
        38: .line 218
            goto 123
        39: .line 222
      StackMap locals: int org.hibernate.mapping.ManyToOne org.hibernate.mapping.Map
      StackMap stack:
            getstatic org.hibernate.cfg.BinderHelper.PRIMITIVE_NAMES:Ljava/util/Set;
            aload 10 /* mapKeyType */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 43
        40: .line 223
            getstatic org.hibernate.cfg.AnnotatedClassType.NONE:Lorg/hibernate/cfg/AnnotatedClassType;
            astore 17 /* classType */
        start local 17 // org.hibernate.cfg.AnnotatedClassType classType
        41: .line 224
            aconst_null
            astore 16 /* keyXClass */
        start local 16 // org.hibernate.annotations.common.reflection.XClass keyXClass
        42: .line 225
            goto 50
        end local 17 // org.hibernate.cfg.AnnotatedClassType classType
        end local 16 // org.hibernate.annotations.common.reflection.XClass keyXClass
        43: .line 228
      StackMap locals:
      StackMap stack:
            aload 6 /* 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;
            aload 10 /* mapKeyType */
            invokeinterface org.hibernate.annotations.common.reflection.ReflectionManager.classForName:(Ljava/lang/String;)Lorg/hibernate/annotations/common/reflection/XClass;
            astore 16 /* keyXClass */
        start local 16 // org.hibernate.annotations.common.reflection.XClass keyXClass
        44: .line 229
            goto 47
        end local 16 // org.hibernate.annotations.common.reflection.XClass keyXClass
        45: .line 230
      StackMap locals:
      StackMap stack: org.hibernate.annotations.common.reflection.ClassLoadingException
            astore 18 /* e */
        start local 18 // org.hibernate.annotations.common.reflection.ClassLoadingException e
        46: .line 231
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to find class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* mapKeyType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 18 /* e */
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 18 // org.hibernate.annotations.common.reflection.ClassLoadingException e
        start local 16 // org.hibernate.annotations.common.reflection.XClass keyXClass
        47: .line 233
      StackMap locals: org.hibernate.annotations.common.reflection.XClass
      StackMap stack:
            aload 6 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 16 /* keyXClass */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getClassType:(Lorg/hibernate/annotations/common/reflection/XClass;)Lorg/hibernate/cfg/AnnotatedClassType;
            astore 17 /* classType */
        start local 17 // org.hibernate.cfg.AnnotatedClassType classType
        48: .line 235
            iload 5 /* isEmbedded */
            ifne 49
            aload 0 /* this */
            aload 4 /* property */
            invokevirtual org.hibernate.cfg.annotations.MapBinder.mappingDefinedAttributeOverrideOnMapKey:(Lorg/hibernate/annotations/common/reflection/XProperty;)Z
            ifeq 50
        49: .line 236
      StackMap locals: org.hibernate.cfg.AnnotatedClassType
      StackMap stack:
            getstatic org.hibernate.cfg.AnnotatedClassType.EMBEDDABLE:Lorg/hibernate/cfg/AnnotatedClassType;
            astore 17 /* classType */
        50: .line 241
      StackMap locals:
      StackMap stack:
            aload 15 /* mapValue */
        51: .line 242
            aload 15 /* mapValue */
            invokevirtual org.hibernate.mapping.Map.getRole:()Ljava/lang/String;
            ldc "mapkey"
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        52: .line 243
            aload 16 /* keyXClass */
        53: .line 244
            aload 4 /* property */
        54: .line 245
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
        55: .line 246
            aload 6 /* buildingContext */
        56: .line 240
            invokestatic org.hibernate.cfg.PropertyHolderBuilder.buildPropertyHolder:(Lorg/hibernate/mapping/Collection;Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/cfg/CollectionPropertyHolder;
            astore 18 /* holder */
        start local 18 // org.hibernate.cfg.CollectionPropertyHolder holder
        57: .line 253
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            aload 4 /* property */
            invokeinterface org.hibernate.cfg.PropertyHolder.startingProperty:(Lorg/hibernate/annotations/common/reflection/XProperty;)V
        58: .line 254
            aload 18 /* holder */
            aload 4 /* property */
            invokevirtual org.hibernate.cfg.CollectionPropertyHolder.prepare:(Lorg/hibernate/annotations/common/reflection/XProperty;)V
        59: .line 256
            aload 15 /* mapValue */
            invokevirtual org.hibernate.mapping.Map.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            astore 19 /* owner */
        start local 19 // org.hibernate.mapping.PersistentClass owner
        60: .line 260
            aload 19 /* owner */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierProperty:()Lorg/hibernate/mapping/Property;
            ifnull 66
        61: .line 261
            aload 19 /* owner */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierProperty:()Lorg/hibernate/mapping/Property;
            invokevirtual org.hibernate.mapping.Property.getPropertyAccessorName:()Ljava/lang/String;
            ldc "property"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 63
        62: .line 262
            getstatic org.hibernate.cfg.AccessType.PROPERTY:Lorg/hibernate/cfg/AccessType;
            goto 64
        63: .line 263
      StackMap locals: org.hibernate.cfg.CollectionPropertyHolder org.hibernate.mapping.PersistentClass
      StackMap stack:
            getstatic org.hibernate.cfg.AccessType.FIELD:Lorg/hibernate/cfg/AccessType;
        64: .line 261
      StackMap locals:
      StackMap stack: org.hibernate.cfg.AccessType
            astore 20 /* accessType */
        start local 20 // org.hibernate.cfg.AccessType accessType
        65: .line 264
            goto 73
        end local 20 // org.hibernate.cfg.AccessType accessType
        66: .line 265
      StackMap locals:
      StackMap stack:
            aload 19 /* owner */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            ifnull 72
            aload 19 /* owner */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            invokevirtual org.hibernate.mapping.Component.getPropertySpan:()I
            ifle 72
        67: .line 266
            aload 19 /* owner */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 21 /* prop */
        start local 21 // org.hibernate.mapping.Property prop
        68: .line 267
            aload 21 /* prop */
            invokevirtual org.hibernate.mapping.Property.getPropertyAccessorName:()Ljava/lang/String;
            ldc "property"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 69
            getstatic org.hibernate.cfg.AccessType.PROPERTY:Lorg/hibernate/cfg/AccessType;
            goto 70
        69: .line 268
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XClass java.util.Map java.lang.String org.hibernate.annotations.common.reflection.XProperty int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.Ejb3Column[] org.hibernate.cfg.Ejb3JoinColumn[] java.lang.String java.lang.String java.lang.Class org.hibernate.mapping.PersistentClass int org.hibernate.mapping.ManyToOne org.hibernate.mapping.Map org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.AnnotatedClassType org.hibernate.cfg.CollectionPropertyHolder org.hibernate.mapping.PersistentClass top org.hibernate.mapping.Property
      StackMap stack:
            getstatic org.hibernate.cfg.AccessType.FIELD:Lorg/hibernate/cfg/AccessType;
        70: .line 267
      StackMap locals:
      StackMap stack: org.hibernate.cfg.AccessType
            astore 20 /* accessType */
        end local 21 // org.hibernate.mapping.Property prop
        start local 20 // org.hibernate.cfg.AccessType accessType
        71: .line 269
            goto 73
        end local 20 // org.hibernate.cfg.AccessType accessType
        72: .line 271
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XClass java.util.Map java.lang.String org.hibernate.annotations.common.reflection.XProperty int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.Ejb3Column[] org.hibernate.cfg.Ejb3JoinColumn[] java.lang.String java.lang.String java.lang.Class org.hibernate.mapping.PersistentClass int org.hibernate.mapping.ManyToOne org.hibernate.mapping.Map org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.AnnotatedClassType org.hibernate.cfg.CollectionPropertyHolder org.hibernate.mapping.PersistentClass
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
            ldc "Unable to guess collection property accessor name"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        start local 20 // org.hibernate.cfg.AccessType accessType
        73: .line 274
      StackMap locals: org.hibernate.cfg.AccessType
      StackMap stack:
            getstatic org.hibernate.cfg.AnnotatedClassType.EMBEDDABLE:Lorg/hibernate/cfg/AnnotatedClassType;
            aload 17 /* classType */
            invokevirtual org.hibernate.cfg.AnnotatedClassType.equals:(Ljava/lang/Object;)Z
            ifeq 92
        74: .line 275
            new org.hibernate.cfg.annotations.EntityBinder
            dup
            invokespecial org.hibernate.cfg.annotations.EntityBinder.<init>:()V
            astore 21 /* entityBinder */
        start local 21 // org.hibernate.cfg.annotations.EntityBinder entityBinder
        75: .line 278
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.MapBinder.isHibernateExtensionMapping:()Z
            ifeq 78
        76: .line 279
            new org.hibernate.cfg.PropertyPreloadedData
            dup
            getstatic org.hibernate.cfg.AccessType.PROPERTY:Lorg/hibernate/cfg/AccessType;
            ldc "index"
            aload 16 /* keyXClass */
            invokespecial org.hibernate.cfg.PropertyPreloadedData.<init>:(Lorg/hibernate/cfg/AccessType;Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XClass;)V
            astore 22 /* inferredData */
        start local 22 // org.hibernate.cfg.PropertyData inferredData
        77: .line 280
            goto 79
        end local 22 // org.hibernate.cfg.PropertyData inferredData
        78: .line 283
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder
      StackMap stack:
            new org.hibernate.cfg.PropertyPreloadedData
            dup
            getstatic org.hibernate.cfg.AccessType.PROPERTY:Lorg/hibernate/cfg/AccessType;
            ldc "key"
            aload 16 /* keyXClass */
            invokespecial org.hibernate.cfg.PropertyPreloadedData.<init>:(Lorg/hibernate/cfg/AccessType;Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XClass;)V
            astore 22 /* inferredData */
        start local 22 // org.hibernate.cfg.PropertyData inferredData
        79: .line 288
      StackMap locals: org.hibernate.cfg.PropertyData
      StackMap stack:
            aload 18 /* holder */
        80: .line 289
            aload 22 /* inferredData */
        81: .line 290
            aload 20 /* accessType */
        82: .line 291
            iconst_1
        83: .line 292
            aload 21 /* entityBinder */
        84: .line 293
            iconst_0
        85: .line 294
            iconst_0
        86: .line 295
            iconst_1
        87: .line 296
            aload 6 /* buildingContext */
        88: .line 297
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.inheritanceStatePerClass:Ljava/util/Map;
        89: .line 287
            invokestatic org.hibernate.cfg.AnnotationBinder.fillComponent:(Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/cfg/PropertyData;Lorg/hibernate/cfg/AccessType;ZLorg/hibernate/cfg/annotations/EntityBinder;ZZZLorg/hibernate/boot/spi/MetadataBuildingContext;Ljava/util/Map;)Lorg/hibernate/mapping/Component;
            astore 23 /* component */
        start local 23 // org.hibernate.mapping.Component component
        90: .line 299
            aload 15 /* mapValue */
            aload 23 /* component */
            invokevirtual org.hibernate.mapping.Map.setIndex:(Lorg/hibernate/mapping/Value;)V
        end local 23 // org.hibernate.mapping.Component component
        end local 22 // org.hibernate.cfg.PropertyData inferredData
        end local 21 // org.hibernate.cfg.annotations.EntityBinder entityBinder
        91: .line 300
            goto 123
        92: .line 302
      StackMap locals:
      StackMap stack:
            new org.hibernate.cfg.annotations.SimpleValueBinder
            dup
            invokespecial org.hibernate.cfg.annotations.SimpleValueBinder.<init>:()V
            astore 21 /* elementBinder */
        start local 21 // org.hibernate.cfg.annotations.SimpleValueBinder elementBinder
        93: .line 303
            aload 21 /* elementBinder */
            aload 6 /* buildingContext */
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.setBuildingContext:(Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
        94: .line 304
            aload 21 /* elementBinder */
            aload 10 /* mapKeyType */
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.setReturnedClassName:(Ljava/lang/String;)V
        95: .line 306
            aload 7 /* mapKeyColumns */
            astore 22 /* elementColumns */
        start local 22 // org.hibernate.cfg.Ejb3Column[] elementColumns
        96: .line 307
            aload 22 /* elementColumns */
            ifnull 97
            aload 22 /* elementColumns */
            arraylength
            ifne 107
        97: .line 308
      StackMap locals: org.hibernate.cfg.annotations.SimpleValueBinder org.hibernate.cfg.Ejb3Column[]
      StackMap stack:
            iconst_1
            anewarray org.hibernate.cfg.Ejb3Column
            astore 22 /* elementColumns */
        98: .line 309
            new org.hibernate.cfg.Ejb3Column
            dup
            invokespecial org.hibernate.cfg.Ejb3Column.<init>:()V
            astore 23 /* column */
        start local 23 // org.hibernate.cfg.Ejb3Column column
        99: .line 310
            aload 23 /* column */
            iconst_0
            invokevirtual org.hibernate.cfg.Ejb3Column.setImplicit:(Z)V
       100: .line 311
            aload 23 /* column */
            iconst_1
            invokevirtual org.hibernate.cfg.Ejb3Column.setNullable:(Z)V
       101: .line 312
            aload 23 /* column */
            sipush 255
            invokevirtual org.hibernate.cfg.Ejb3Column.setLength:(I)V
       102: .line 313
            aload 23 /* column */
            ldc "id"
            invokevirtual org.hibernate.cfg.Ejb3Column.setLogicalColumnName:(Ljava/lang/String;)V
       103: .line 315
            aload 23 /* column */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokevirtual org.hibernate.cfg.Ejb3Column.setJoins:(Ljava/util/Map;)V
       104: .line 316
            aload 23 /* column */
            aload 6 /* buildingContext */
            invokevirtual org.hibernate.cfg.Ejb3Column.setBuildingContext:(Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
       105: .line 317
            aload 23 /* column */
            invokevirtual org.hibernate.cfg.Ejb3Column.bind:()V
       106: .line 318
            aload 22 /* elementColumns */
            iconst_0
            aload 23 /* column */
            aastore
        end local 23 // org.hibernate.cfg.Ejb3Column column
       107: .line 321
      StackMap locals:
      StackMap stack:
            aload 22 /* elementColumns */
            dup
            astore 26
            arraylength
            istore 25
            iconst_0
            istore 24
            goto 111
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XClass java.util.Map java.lang.String org.hibernate.annotations.common.reflection.XProperty int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.Ejb3Column[] org.hibernate.cfg.Ejb3JoinColumn[] java.lang.String java.lang.String java.lang.Class org.hibernate.mapping.PersistentClass int org.hibernate.mapping.ManyToOne org.hibernate.mapping.Map org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.AnnotatedClassType org.hibernate.cfg.CollectionPropertyHolder org.hibernate.mapping.PersistentClass org.hibernate.cfg.AccessType org.hibernate.cfg.annotations.SimpleValueBinder org.hibernate.cfg.Ejb3Column[] top int int org.hibernate.cfg.Ejb3Column[]
      StackMap stack:
       108: aload 26
            iload 24
            aaload
            astore 23 /* column */
        start local 23 // org.hibernate.cfg.Ejb3Column column
       109: .line 322
            aload 23 /* column */
            aload 15 /* mapValue */
            invokevirtual org.hibernate.mapping.Map.getCollectionTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.cfg.Ejb3Column.setTable:(Lorg/hibernate/mapping/Table;)V
        end local 23 // org.hibernate.cfg.Ejb3Column column
       110: .line 321
            iinc 24 1
      StackMap locals:
      StackMap stack:
       111: iload 24
            iload 25
            if_icmplt 108
       112: .line 324
            aload 21 /* elementBinder */
            aload 22 /* elementColumns */
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.setColumns:([Lorg/hibernate/cfg/Ejb3Column;)V
       113: .line 327
            aload 21 /* elementBinder */
            iconst_1
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.setKey:(Z)V
       114: .line 328
            aload 21 /* elementBinder */
       115: .line 329
            aload 4 /* property */
       116: .line 330
            aload 16 /* keyXClass */
       117: .line 331
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.collection:Lorg/hibernate/mapping/Collection;
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
       118: .line 332
            aload 18 /* holder */
            aload 4 /* property */
            aload 16 /* keyXClass */
            invokevirtual org.hibernate.cfg.CollectionPropertyHolder.mapKeyAttributeConverterDescriptor:(Lorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/annotations/common/reflection/XClass;)Lorg/hibernate/boot/model/convert/spi/ConverterDescriptor;
       119: .line 328
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.setType:(Lorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/annotations/common/reflection/XClass;Ljava/lang/String;Lorg/hibernate/boot/model/convert/spi/ConverterDescriptor;)V
       120: .line 334
            aload 21 /* elementBinder */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getEntityName:()Ljava/lang/String;
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.setPersistentClassName:(Ljava/lang/String;)V
       121: .line 335
            aload 21 /* elementBinder */
            aload 20 /* accessType */
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.setAccessType:(Lorg/hibernate/cfg/AccessType;)V
       122: .line 336
            aload 15 /* mapValue */
            aload 21 /* elementBinder */
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.make:()Lorg/hibernate/mapping/SimpleValue;
            invokevirtual org.hibernate.mapping.Map.setIndex:(Lorg/hibernate/mapping/Value;)V
        end local 22 // org.hibernate.cfg.Ejb3Column[] elementColumns
        end local 21 // org.hibernate.cfg.annotations.SimpleValueBinder elementBinder
        end local 20 // org.hibernate.cfg.AccessType accessType
        end local 19 // org.hibernate.mapping.PersistentClass owner
        end local 18 // org.hibernate.cfg.CollectionPropertyHolder holder
        end local 17 // org.hibernate.cfg.AnnotatedClassType classType
        end local 16 // org.hibernate.annotations.common.reflection.XClass keyXClass
       123: .line 340
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XClass java.util.Map java.lang.String org.hibernate.annotations.common.reflection.XProperty int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.Ejb3Column[] org.hibernate.cfg.Ejb3JoinColumn[] java.lang.String java.lang.String java.lang.Class org.hibernate.mapping.PersistentClass int org.hibernate.mapping.ManyToOne org.hibernate.mapping.Map
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.collection:Lorg/hibernate/mapping/Collection;
            invokevirtual org.hibernate.mapping.Collection.isOneToMany:()Z
            ifne 129
       124: .line 342
            aload 8 /* mapKeyManyToManyColumns */
            dup
            astore 19
            arraylength
            istore 18
            iconst_0
            istore 17
            goto 128
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XClass java.util.Map java.lang.String org.hibernate.annotations.common.reflection.XProperty int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.Ejb3Column[] org.hibernate.cfg.Ejb3JoinColumn[] java.lang.String java.lang.String java.lang.Class org.hibernate.mapping.PersistentClass int org.hibernate.mapping.ManyToOne org.hibernate.mapping.Map top int int org.hibernate.cfg.Ejb3JoinColumn[]
      StackMap stack:
       125: aload 19
            iload 17
            aaload
            astore 16 /* col */
        start local 16 // org.hibernate.cfg.Ejb3JoinColumn col
       126: .line 343
            aload 16 /* col */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.forceNotNull:()V
        end local 16 // org.hibernate.cfg.Ejb3JoinColumn col
       127: .line 342
            iinc 17 1
      StackMap locals:
      StackMap stack:
       128: iload 17
            iload 18
            if_icmplt 125
       129: .line 347
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XClass java.util.Map java.lang.String org.hibernate.annotations.common.reflection.XProperty int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.Ejb3Column[] org.hibernate.cfg.Ejb3JoinColumn[] java.lang.String java.lang.String java.lang.Class org.hibernate.mapping.PersistentClass int org.hibernate.mapping.ManyToOne org.hibernate.mapping.Map
      StackMap stack:
            aload 14 /* element */
            ifnull 137
       130: .line 348
            aload 0 /* this */
            aload 4 /* property */
            invokevirtual org.hibernate.cfg.annotations.MapBinder.getMapKeyForeignKey:(Lorg/hibernate/annotations/common/reflection/XProperty;)Ljavax/persistence/ForeignKey;
            astore 16 /* foreignKey */
        start local 16 // javax.persistence.ForeignKey foreignKey
       131: .line 349
            aload 16 /* foreignKey */
            ifnull 137
       132: .line 350
            aload 16 /* foreignKey */
            invokeinterface javax.persistence.ForeignKey.value:()Ljavax/persistence/ConstraintMode;
            getstatic javax.persistence.ConstraintMode.NO_CONSTRAINT:Ljavax/persistence/ConstraintMode;
            if_acmpne 135
       133: .line 351
            aload 14 /* element */
            ldc "none"
            invokevirtual org.hibernate.mapping.ManyToOne.setForeignKeyName:(Ljava/lang/String;)V
       134: .line 352
            goto 137
       135: .line 354
      StackMap locals: javax.persistence.ForeignKey
      StackMap stack:
            aload 14 /* element */
            aload 16 /* foreignKey */
            invokeinterface javax.persistence.ForeignKey.name:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.ManyToOne.setForeignKeyName:(Ljava/lang/String;)V
       136: .line 355
            aload 14 /* element */
            aload 16 /* foreignKey */
            invokeinterface javax.persistence.ForeignKey.foreignKeyDefinition:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.ManyToOne.setForeignKeyDefinition:(Ljava/lang/String;)V
        end local 16 // javax.persistence.ForeignKey foreignKey
       137: .line 360
      StackMap locals:
      StackMap stack:
            iload 13 /* isIndexOfEntities */
            ifeq 144
       138: .line 362
            aload 12 /* collectionEntity */
       139: .line 363
            aload 8 /* mapKeyManyToManyColumns */
       140: .line 364
            aload 14 /* element */
       141: .line 365
            iconst_0
       142: .line 366
            aload 6 /* buildingContext */
       143: .line 361
            invokestatic org.hibernate.cfg.annotations.MapBinder.bindManytoManyInverseFk:(Lorg/hibernate/mapping/PersistentClass;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/mapping/SimpleValue;ZLorg/hibernate/boot/spi/MetadataBuildingContext;)V
        end local 15 // org.hibernate.mapping.Map mapValue
        end local 14 // org.hibernate.mapping.ManyToOne element
        end local 13 // boolean isIndexOfEntities
        end local 12 // org.hibernate.mapping.PersistentClass collectionEntity
        end local 11 // java.lang.Class target
        end local 10 // java.lang.String mapKeyType
       144: .line 370
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XClass java.util.Map java.lang.String org.hibernate.annotations.common.reflection.XProperty int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.Ejb3Column[] org.hibernate.cfg.Ejb3JoinColumn[] java.lang.String
      StackMap stack:
            return
        end local 9 // java.lang.String targetPropertyName
        end local 8 // org.hibernate.cfg.Ejb3JoinColumn[] mapKeyManyToManyColumns
        end local 7 // org.hibernate.cfg.Ejb3Column[] mapKeyColumns
        end local 6 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 5 // boolean isEmbedded
        end local 4 // org.hibernate.annotations.common.reflection.XProperty property
        end local 3 // java.lang.String mapKeyPropertyName
        end local 2 // java.util.Map persistentClasses
        end local 1 // org.hibernate.annotations.common.reflection.XClass collType
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0  145     0                           this  Lorg/hibernate/cfg/annotations/MapBinder;
            0  145     1                       collType  Lorg/hibernate/annotations/common/reflection/XClass;
            0  145     2              persistentClasses  Ljava/util/Map;
            0  145     3             mapKeyPropertyName  Ljava/lang/String;
            0  145     4                       property  Lorg/hibernate/annotations/common/reflection/XProperty;
            0  145     5                     isEmbedded  Z
            0  145     6                buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            0  145     7                  mapKeyColumns  [Lorg/hibernate/cfg/Ejb3Column;
            0  145     8        mapKeyManyToManyColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0  145     9             targetPropertyName  Ljava/lang/String;
            2   18    10                associatedClass  Lorg/hibernate/mapping/PersistentClass;
            4   18    11                    mapProperty  Lorg/hibernate/mapping/Property;
            9   18    12                            map  Lorg/hibernate/mapping/Map;
           10   18    13               inheritanceState  Lorg/hibernate/cfg/InheritanceState;
           14   18    14  targetPropertyPersistentClass  Lorg/hibernate/mapping/PersistentClass;
           17   18    15                     indexValue  Lorg/hibernate/mapping/Value;
           24   25    10                     mapKeyType  Ljava/lang/String;
           26  144    10                     mapKeyType  Ljava/lang/String;
           20  144    11                         target  Ljava/lang/Class;
           27  144    12               collectionEntity  Lorg/hibernate/mapping/PersistentClass;
           30  144    13              isIndexOfEntities  Z
           31  144    14                        element  Lorg/hibernate/mapping/ManyToOne;
           32  144    15                       mapValue  Lorg/hibernate/mapping/Map;
           42   43    16                      keyXClass  Lorg/hibernate/annotations/common/reflection/XClass;
           44   45    16                      keyXClass  Lorg/hibernate/annotations/common/reflection/XClass;
           47  123    16                      keyXClass  Lorg/hibernate/annotations/common/reflection/XClass;
           41   43    17                      classType  Lorg/hibernate/cfg/AnnotatedClassType;
           48  123    17                      classType  Lorg/hibernate/cfg/AnnotatedClassType;
           46   47    18                              e  Lorg/hibernate/annotations/common/reflection/ClassLoadingException;
           57  123    18                         holder  Lorg/hibernate/cfg/CollectionPropertyHolder;
           60  123    19                          owner  Lorg/hibernate/mapping/PersistentClass;
           65   66    20                     accessType  Lorg/hibernate/cfg/AccessType;
           71   72    20                     accessType  Lorg/hibernate/cfg/AccessType;
           73  123    20                     accessType  Lorg/hibernate/cfg/AccessType;
           68   71    21                           prop  Lorg/hibernate/mapping/Property;
           75   91    21                   entityBinder  Lorg/hibernate/cfg/annotations/EntityBinder;
           77   78    22                   inferredData  Lorg/hibernate/cfg/PropertyData;
           79   91    22                   inferredData  Lorg/hibernate/cfg/PropertyData;
           90   91    23                      component  Lorg/hibernate/mapping/Component;
           93  123    21                  elementBinder  Lorg/hibernate/cfg/annotations/SimpleValueBinder;
           96  123    22                 elementColumns  [Lorg/hibernate/cfg/Ejb3Column;
           99  107    23                         column  Lorg/hibernate/cfg/Ejb3Column;
          109  110    23                         column  Lorg/hibernate/cfg/Ejb3Column;
          126  127    16                            col  Lorg/hibernate/cfg/Ejb3JoinColumn;
          131  137    16                     foreignKey  Ljavax/persistence/ForeignKey;
      Exception table:
        from    to  target  type
          43    44      45  Class org.hibernate.annotations.common.reflection.ClassLoadingException
    MethodParameters:
                         Name  Flags
      collType                 
      persistentClasses        
      mapKeyPropertyName       
      property                 
      isEmbedded               
      buildingContext          
      mapKeyColumns            
      mapKeyManyToManyColumns  
      targetPropertyName       

  private javax.persistence.ForeignKey getMapKeyForeignKey(org.hibernate.annotations.common.reflection.XProperty);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XProperty;)Ljavax/persistence/ForeignKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
        start local 1 // org.hibernate.annotations.common.reflection.XProperty property
         0: .line 373
            aload 1 /* property */
            ldc Ljavax/persistence/MapKeyJoinColumns;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.MapKeyJoinColumns
            astore 2 /* mapKeyJoinColumns */
        start local 2 // javax.persistence.MapKeyJoinColumns mapKeyJoinColumns
         1: .line 374
            aload 2 /* mapKeyJoinColumns */
            ifnull 3
         2: .line 375
            aload 2 /* mapKeyJoinColumns */
            invokeinterface javax.persistence.MapKeyJoinColumns.foreignKey:()Ljavax/persistence/ForeignKey;
            areturn
         3: .line 378
      StackMap locals: javax.persistence.MapKeyJoinColumns
      StackMap stack:
            aload 1 /* property */
            ldc Ljavax/persistence/MapKeyJoinColumn;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.MapKeyJoinColumn
            astore 3 /* mapKeyJoinColumn */
        start local 3 // javax.persistence.MapKeyJoinColumn mapKeyJoinColumn
         4: .line 379
            aload 3 /* mapKeyJoinColumn */
            ifnull 6
         5: .line 380
            aload 3 /* mapKeyJoinColumn */
            invokeinterface javax.persistence.MapKeyJoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            areturn
        end local 3 // javax.persistence.MapKeyJoinColumn mapKeyJoinColumn
         6: .line 383
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // javax.persistence.MapKeyJoinColumns mapKeyJoinColumns
        end local 1 // org.hibernate.annotations.common.reflection.XProperty property
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/hibernate/cfg/annotations/MapBinder;
            0    7     1           property  Lorg/hibernate/annotations/common/reflection/XProperty;
            1    7     2  mapKeyJoinColumns  Ljavax/persistence/MapKeyJoinColumns;
            4    6     3   mapKeyJoinColumn  Ljavax/persistence/MapKeyJoinColumn;
    MethodParameters:
          Name  Flags
      property  

  private boolean mappingDefinedAttributeOverrideOnMapKey(org.hibernate.annotations.common.reflection.XProperty);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XProperty;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
        start local 1 // org.hibernate.annotations.common.reflection.XProperty property
         0: .line 387
            aload 1 /* property */
            ldc Ljavax/persistence/AttributeOverride;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 2
         1: .line 388
            aload 0 /* this */
            aload 1 /* property */
            ldc Ljavax/persistence/AttributeOverride;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.AttributeOverride
            invokevirtual org.hibernate.cfg.annotations.MapBinder.namedMapKey:(Ljavax/persistence/AttributeOverride;)Z
            ireturn
         2: .line 391
      StackMap locals:
      StackMap stack:
            aload 1 /* property */
            ldc Ljavax/persistence/AttributeOverrides;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 10
         3: .line 392
            aload 1 /* property */
            ldc Ljavax/persistence/AttributeOverrides;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.AttributeOverrides
            astore 2 /* annotations */
        start local 2 // javax.persistence.AttributeOverrides annotations
         4: .line 393
            aload 2 /* annotations */
            invokeinterface javax.persistence.AttributeOverrides.value:()[Ljavax/persistence/AttributeOverride;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XProperty javax.persistence.AttributeOverrides top int int javax.persistence.AttributeOverride[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* attributeOverride */
        start local 3 // javax.persistence.AttributeOverride attributeOverride
         6: .line 394
            aload 0 /* this */
            aload 3 /* attributeOverride */
            invokevirtual org.hibernate.cfg.annotations.MapBinder.namedMapKey:(Ljavax/persistence/AttributeOverride;)Z
            ifeq 8
         7: .line 395
            iconst_1
            ireturn
        end local 3 // javax.persistence.AttributeOverride attributeOverride
         8: .line 393
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 5
        end local 2 // javax.persistence.AttributeOverrides annotations
        10: .line 400
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.annotations.common.reflection.XProperty
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.hibernate.annotations.common.reflection.XProperty property
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lorg/hibernate/cfg/annotations/MapBinder;
            0   11     1           property  Lorg/hibernate/annotations/common/reflection/XProperty;
            4   10     2        annotations  Ljavax/persistence/AttributeOverrides;
            6    8     3  attributeOverride  Ljavax/persistence/AttributeOverride;
    MethodParameters:
          Name  Flags
      property  

  private boolean namedMapKey(javax.persistence.AttributeOverride);
    descriptor: (Ljavax/persistence/AttributeOverride;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
        start local 1 // javax.persistence.AttributeOverride annotation
         0: .line 404
            aload 1 /* annotation */
            invokeinterface javax.persistence.AttributeOverride.name:()Ljava/lang/String;
            ldc "key."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 1 // javax.persistence.AttributeOverride annotation
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/hibernate/cfg/annotations/MapBinder;
            0    1     1  annotation  Ljavax/persistence/AttributeOverride;
    MethodParameters:
            Name  Flags
      annotation  

  protected org.hibernate.mapping.Value createFormulatedValue(org.hibernate.mapping.Value, org.hibernate.mapping.Collection, java.lang.String, org.hibernate.mapping.PersistentClass, org.hibernate.mapping.PersistentClass, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/mapping/Value;Lorg/hibernate/mapping/Collection;Ljava/lang/String;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/mapping/Value;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=16, args_size=7
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
        start local 1 // org.hibernate.mapping.Value value
        start local 2 // org.hibernate.mapping.Collection collection
        start local 3 // java.lang.String targetPropertyName
        start local 4 // org.hibernate.mapping.PersistentClass associatedClass
        start local 5 // org.hibernate.mapping.PersistentClass targetPropertyPersistentClass
        start local 6 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 414
            aload 2 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getElement:()Lorg/hibernate/mapping/Value;
            astore 7 /* element */
        start local 7 // org.hibernate.mapping.Value element
         1: .line 415
            aconst_null
            astore 8 /* fromAndWhere */
        start local 8 // java.lang.String fromAndWhere
         2: .line 416
            aload 7 /* element */
            instanceof org.hibernate.mapping.OneToMany
            ifne 23
         3: .line 417
            aconst_null
            astore 9 /* referencedPropertyName */
        start local 9 // java.lang.String referencedPropertyName
         4: .line 418
            aload 7 /* element */
            instanceof org.hibernate.mapping.ToOne
            ifeq 7
         5: .line 419
            aload 7 /* element */
            checkcast org.hibernate.mapping.ToOne
            invokevirtual org.hibernate.mapping.ToOne.getReferencedPropertyName:()Ljava/lang/String;
            astore 9 /* referencedPropertyName */
         6: .line 420
            goto 12
         7: .line 421
      StackMap locals: org.hibernate.mapping.Value java.lang.String java.lang.String
      StackMap stack:
            aload 7 /* element */
            instanceof org.hibernate.mapping.DependantValue
            ifeq 12
         8: .line 423
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.MapBinder.propertyName:Ljava/lang/String;
            ifnull 11
         9: .line 424
            aload 2 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getReferencedPropertyName:()Ljava/lang/String;
            astore 9 /* referencedPropertyName */
        10: .line 425
            goto 12
        11: .line 427
      StackMap locals:
      StackMap stack:
            new org.hibernate.AnnotationException
            dup
            ldc "SecondaryTable JoinColumn cannot reference a non primary key"
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 431
      StackMap locals:
      StackMap stack:
            aload 9 /* referencedPropertyName */
            ifnonnull 15
        13: .line 432
            aload 4 /* associatedClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnIterator:()Ljava/util/Iterator;
            astore 10 /* referencedEntityColumns */
        start local 10 // java.util.Iterator referencedEntityColumns
        14: .line 433
            goto 17
        end local 10 // java.util.Iterator referencedEntityColumns
        15: .line 435
      StackMap locals:
      StackMap stack:
            aload 4 /* associatedClass */
            aload 9 /* referencedPropertyName */
            invokevirtual org.hibernate.mapping.PersistentClass.getRecursiveProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 11 /* referencedProperty */
        start local 11 // org.hibernate.mapping.Property referencedProperty
        16: .line 436
            aload 11 /* referencedProperty */
            invokevirtual org.hibernate.mapping.Property.getColumnIterator:()Ljava/util/Iterator;
            astore 10 /* referencedEntityColumns */
        end local 11 // org.hibernate.mapping.Property referencedProperty
        start local 10 // java.util.Iterator referencedEntityColumns
        17: .line 438
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* this */
        18: .line 439
            aload 4 /* associatedClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.getName:()Ljava/lang/String;
        19: .line 440
            aload 7 /* element */
            invokeinterface org.hibernate.mapping.Value.getColumnIterator:()Ljava/util/Iterator;
        20: .line 441
            aload 10 /* referencedEntityColumns */
        21: .line 438
            invokevirtual org.hibernate.cfg.annotations.MapBinder.getFromAndWhereFormula:(Ljava/lang/String;Ljava/util/Iterator;Ljava/util/Iterator;)Ljava/lang/String;
            astore 8 /* fromAndWhere */
        end local 10 // java.util.Iterator referencedEntityColumns
        end local 9 // java.lang.String referencedPropertyName
        22: .line 443
            goto 31
        23: .line 446
      StackMap locals:
      StackMap stack:
            aload 4 /* associatedClass */
            aload 5 /* targetPropertyPersistentClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 31
        24: .line 447
            aload 0 /* this */
        25: .line 448
            aload 5 /* targetPropertyPersistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
        26: .line 449
            invokevirtual org.hibernate.mapping.Table.getQualifiedTableName:()Lorg/hibernate/boot/model/relational/QualifiedTableName;
        27: .line 450
            invokevirtual org.hibernate.boot.model.relational.QualifiedTableName.toString:()Ljava/lang/String;
        28: .line 451
            aload 7 /* element */
            invokeinterface org.hibernate.mapping.Value.getColumnIterator:()Ljava/util/Iterator;
        29: .line 452
            aload 4 /* associatedClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnIterator:()Ljava/util/Iterator;
        30: .line 447
            invokevirtual org.hibernate.cfg.annotations.MapBinder.getFromAndWhereFormula:(Ljava/lang/String;Ljava/util/Iterator;Ljava/util/Iterator;)Ljava/lang/String;
            astore 8 /* fromAndWhere */
        31: .line 457
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof org.hibernate.mapping.Component
            ifeq 58
        32: .line 458
            aload 1 /* value */
            checkcast org.hibernate.mapping.Component
            astore 9 /* component */
        start local 9 // org.hibernate.mapping.Component component
        33: .line 459
            aload 9 /* component */
            invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
            astore 10 /* properties */
        start local 10 // java.util.Iterator properties
        34: .line 460
            new org.hibernate.mapping.Component
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.MapBinder.getBuildingContext:()Lorg/hibernate/boot/spi/MetadataBuildingContext;
            aload 2 /* collection */
            invokespecial org.hibernate.mapping.Component.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/Collection;)V
            astore 11 /* indexComponent */
        start local 11 // org.hibernate.mapping.Component indexComponent
        35: .line 461
            aload 11 /* indexComponent */
            aload 9 /* component */
            invokevirtual org.hibernate.mapping.Component.getComponentClassName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Component.setComponentClassName:(Ljava/lang/String;)V
        36: .line 462
            goto 56
        37: .line 463
      StackMap locals: org.hibernate.mapping.Component java.util.Iterator org.hibernate.mapping.Component
      StackMap stack:
            aload 10 /* properties */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 12 /* current */
        start local 12 // org.hibernate.mapping.Property current
        38: .line 464
            new org.hibernate.mapping.Property
            dup
            invokespecial org.hibernate.mapping.Property.<init>:()V
            astore 13 /* newProperty */
        start local 13 // org.hibernate.mapping.Property newProperty
        39: .line 465
            aload 13 /* newProperty */
            aload 12 /* current */
            invokevirtual org.hibernate.mapping.Property.getCascade:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Property.setCascade:(Ljava/lang/String;)V
        40: .line 466
            aload 13 /* newProperty */
            aload 12 /* current */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            invokevirtual org.hibernate.mapping.Property.setValueGenerationStrategy:(Lorg/hibernate/tuple/ValueGeneration;)V
        41: .line 467
            aload 13 /* newProperty */
            iconst_0
            invokevirtual org.hibernate.mapping.Property.setInsertable:(Z)V
        42: .line 468
            aload 13 /* newProperty */
            iconst_0
            invokevirtual org.hibernate.mapping.Property.setUpdateable:(Z)V
        43: .line 469
            aload 13 /* newProperty */
            aload 12 /* current */
            invokevirtual org.hibernate.mapping.Property.getMetaAttributes:()Ljava/util/Map;
            invokevirtual org.hibernate.mapping.Property.setMetaAttributes:(Ljava/util/Map;)V
        44: .line 470
            aload 13 /* newProperty */
            aload 12 /* current */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Property.setName:(Ljava/lang/String;)V
        45: .line 471
            aload 13 /* newProperty */
            iconst_0
            invokevirtual org.hibernate.mapping.Property.setNaturalIdentifier:(Z)V
        46: .line 473
            aload 13 /* newProperty */
            iconst_0
            invokevirtual org.hibernate.mapping.Property.setOptional:(Z)V
        47: .line 474
            aload 13 /* newProperty */
            aload 12 /* current */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.Property.setPersistentClass:(Lorg/hibernate/mapping/PersistentClass;)V
        48: .line 475
            aload 13 /* newProperty */
            aload 12 /* current */
            invokevirtual org.hibernate.mapping.Property.getPropertyAccessorName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Property.setPropertyAccessorName:(Ljava/lang/String;)V
        49: .line 476
            aload 13 /* newProperty */
            aload 12 /* current */
            invokevirtual org.hibernate.mapping.Property.isSelectable:()Z
            invokevirtual org.hibernate.mapping.Property.setSelectable:(Z)V
        50: .line 477
            aload 13 /* newProperty */
        51: .line 478
            aload 0 /* this */
        52: .line 479
            aload 12 /* current */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            aload 2 /* collection */
            aload 3 /* targetPropertyName */
            aload 4 /* associatedClass */
            aload 4 /* associatedClass */
            aload 6 /* buildingContext */
        53: .line 478
            invokevirtual org.hibernate.cfg.annotations.MapBinder.createFormulatedValue:(Lorg/hibernate/mapping/Value;Lorg/hibernate/mapping/Collection;Ljava/lang/String;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/mapping/Value;
        54: .line 477
            invokevirtual org.hibernate.mapping.Property.setValue:(Lorg/hibernate/mapping/Value;)V
        55: .line 482
            aload 11 /* indexComponent */
            aload 13 /* newProperty */
            invokevirtual org.hibernate.mapping.Component.addProperty:(Lorg/hibernate/mapping/Property;)V
        end local 13 // org.hibernate.mapping.Property newProperty
        end local 12 // org.hibernate.mapping.Property current
        56: .line 462
      StackMap locals:
      StackMap stack:
            aload 10 /* properties */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 37
        57: .line 484
            aload 11 /* indexComponent */
            areturn
        end local 11 // org.hibernate.mapping.Component indexComponent
        end local 10 // java.util.Iterator properties
        end local 9 // org.hibernate.mapping.Component component
        58: .line 486
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof org.hibernate.mapping.SimpleValue
            ifeq 93
        59: .line 487
            aload 1 /* value */
            checkcast org.hibernate.mapping.SimpleValue
            astore 9 /* sourceValue */
        start local 9 // org.hibernate.mapping.SimpleValue sourceValue
        60: .line 489
            aload 1 /* value */
            instanceof org.hibernate.mapping.ManyToOne
            ifeq 68
        61: .line 490
            aload 9 /* sourceValue */
            checkcast org.hibernate.mapping.ManyToOne
            astore 11 /* sourceManyToOne */
        start local 11 // org.hibernate.mapping.ManyToOne sourceManyToOne
        62: .line 491
            new org.hibernate.mapping.ManyToOne
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.MapBinder.getBuildingContext:()Lorg/hibernate/boot/spi/MetadataBuildingContext;
            aload 2 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCollectionTable:()Lorg/hibernate/mapping/Table;
            invokespecial org.hibernate.mapping.ManyToOne.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/Table;)V
            astore 12 /* targetManyToOne */
        start local 12 // org.hibernate.mapping.ManyToOne targetManyToOne
        63: .line 492
            aload 12 /* targetManyToOne */
            getstatic org.hibernate.FetchMode.DEFAULT:Lorg/hibernate/FetchMode;
            invokevirtual org.hibernate.mapping.ManyToOne.setFetchMode:(Lorg/hibernate/FetchMode;)V
        64: .line 493
            aload 12 /* targetManyToOne */
            iconst_1
            invokevirtual org.hibernate.mapping.ManyToOne.setLazy:(Z)V
        65: .line 495
            aload 12 /* targetManyToOne */
            aload 11 /* sourceManyToOne */
            invokevirtual org.hibernate.mapping.ManyToOne.getReferencedEntityName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.ManyToOne.setReferencedEntityName:(Ljava/lang/String;)V
        66: .line 496
            aload 12 /* targetManyToOne */
            astore 10 /* targetValue */
        end local 12 // org.hibernate.mapping.ManyToOne targetManyToOne
        end local 11 // org.hibernate.mapping.ManyToOne sourceManyToOne
        start local 10 // org.hibernate.mapping.SimpleValue targetValue
        67: .line 497
            goto 70
        end local 10 // org.hibernate.mapping.SimpleValue targetValue
        68: .line 499
      StackMap locals: org.hibernate.mapping.SimpleValue
      StackMap stack:
            new org.hibernate.mapping.SimpleValue
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.MapBinder.getBuildingContext:()Lorg/hibernate/boot/spi/MetadataBuildingContext;
            aload 2 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCollectionTable:()Lorg/hibernate/mapping/Table;
            invokespecial org.hibernate.mapping.SimpleValue.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/Table;)V
            astore 10 /* targetValue */
        start local 10 // org.hibernate.mapping.SimpleValue targetValue
        69: .line 500
            aload 10 /* targetValue */
            aload 9 /* sourceValue */
            invokevirtual org.hibernate.mapping.SimpleValue.copyTypeFrom:(Lorg/hibernate/mapping/SimpleValue;)V
        70: .line 502
      StackMap locals: org.hibernate.mapping.SimpleValue
      StackMap stack:
            aload 9 /* sourceValue */
            invokevirtual org.hibernate.mapping.SimpleValue.getColumnIterator:()Ljava/util/Iterator;
            astore 11 /* columns */
        start local 11 // java.util.Iterator columns
        71: .line 503
            new java.util.Random
            dup
            invokespecial java.util.Random.<init>:()V
            astore 12 /* random */
        start local 12 // java.util.Random random
        72: .line 504
            goto 91
        73: .line 505
      StackMap locals: java.util.Iterator java.util.Random
      StackMap stack:
            aload 11 /* columns */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 13 /* current */
        start local 13 // java.lang.Object current
        74: .line 506
            new org.hibernate.mapping.Formula
            dup
            invokespecial org.hibernate.mapping.Formula.<init>:()V
            astore 14 /* formula */
        start local 14 // org.hibernate.mapping.Formula formula
        75: .line 508
            aload 13 /* current */
            instanceof org.hibernate.mapping.Column
            ifeq 78
        76: .line 509
            aload 13 /* current */
            checkcast org.hibernate.mapping.Column
            invokevirtual org.hibernate.mapping.Column.getQuotedName:()Ljava/lang/String;
            astore 15 /* formulaString */
        start local 15 // java.lang.String formulaString
        77: .line 510
            goto 82
        end local 15 // java.lang.String formulaString
        78: .line 511
      StackMap locals: java.lang.Object org.hibernate.mapping.Formula
      StackMap stack:
            aload 13 /* current */
            instanceof org.hibernate.mapping.Formula
            ifeq 81
        79: .line 512
            aload 13 /* current */
            checkcast org.hibernate.mapping.Formula
            invokevirtual org.hibernate.mapping.Formula.getFormula:()Ljava/lang/String;
            astore 15 /* formulaString */
        start local 15 // java.lang.String formulaString
        80: .line 513
            goto 82
        end local 15 // java.lang.String formulaString
        81: .line 515
      StackMap locals:
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown element in column iterator: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* current */
            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;
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        start local 15 // java.lang.String formulaString
        82: .line 517
      StackMap locals: java.lang.String
      StackMap stack:
            aload 8 /* fromAndWhere */
            ifnull 89
        83: .line 518
            aload 15 /* formulaString */
            ldc "$alias$"
            new org.hibernate.dialect.HSQLDialect
            dup
            invokespecial org.hibernate.dialect.HSQLDialect.<init>:()V
            invokestatic org.hibernate.sql.Template.renderWhereStringTemplate:(Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            astore 15 /* formulaString */
        84: .line 519
            new java.lang.StringBuilder
            dup
            ldc "(select "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 15 /* formulaString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* fromAndWhere */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* formulaString */
        85: .line 521
            aload 15 /* formulaString */
        86: .line 522
            ldc "$alias$"
        87: .line 523
            new java.lang.StringBuilder
            dup
            ldc "a"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* random */
            bipush 16
            invokevirtual java.util.Random.nextInt:(I)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        88: .line 520
            invokestatic org.hibernate.internal.util.StringHelper.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 15 /* formulaString */
        89: .line 526
      StackMap locals:
      StackMap stack:
            aload 14 /* formula */
            aload 15 /* formulaString */
            invokevirtual org.hibernate.mapping.Formula.setFormula:(Ljava/lang/String;)V
        90: .line 527
            aload 10 /* targetValue */
            aload 14 /* formula */
            invokevirtual org.hibernate.mapping.SimpleValue.addFormula:(Lorg/hibernate/mapping/Formula;)V
        end local 15 // java.lang.String formulaString
        end local 14 // org.hibernate.mapping.Formula formula
        end local 13 // java.lang.Object current
        91: .line 504
      StackMap locals:
      StackMap stack:
            aload 11 /* columns */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 73
        92: .line 530
            aload 10 /* targetValue */
            areturn
        end local 12 // java.util.Random random
        end local 11 // java.util.Iterator columns
        end local 10 // org.hibernate.mapping.SimpleValue targetValue
        end local 9 // org.hibernate.mapping.SimpleValue sourceValue
        93: .line 533
      StackMap locals: org.hibernate.cfg.annotations.MapBinder org.hibernate.mapping.Value org.hibernate.mapping.Collection java.lang.String org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.Value java.lang.String
      StackMap stack:
            new org.hibernate.AssertionFailure
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown type encounters for map key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* value */
            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;
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.String fromAndWhere
        end local 7 // org.hibernate.mapping.Value element
        end local 6 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 5 // org.hibernate.mapping.PersistentClass targetPropertyPersistentClass
        end local 4 // org.hibernate.mapping.PersistentClass associatedClass
        end local 3 // java.lang.String targetPropertyName
        end local 2 // org.hibernate.mapping.Collection collection
        end local 1 // org.hibernate.mapping.Value value
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   94     0                           this  Lorg/hibernate/cfg/annotations/MapBinder;
            0   94     1                          value  Lorg/hibernate/mapping/Value;
            0   94     2                     collection  Lorg/hibernate/mapping/Collection;
            0   94     3             targetPropertyName  Ljava/lang/String;
            0   94     4                associatedClass  Lorg/hibernate/mapping/PersistentClass;
            0   94     5  targetPropertyPersistentClass  Lorg/hibernate/mapping/PersistentClass;
            0   94     6                buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            1   94     7                        element  Lorg/hibernate/mapping/Value;
            2   94     8                   fromAndWhere  Ljava/lang/String;
            4   22     9         referencedPropertyName  Ljava/lang/String;
           14   15    10        referencedEntityColumns  Ljava/util/Iterator<Lorg/hibernate/mapping/Selectable;>;
           17   22    10        referencedEntityColumns  Ljava/util/Iterator<Lorg/hibernate/mapping/Selectable;>;
           16   17    11             referencedProperty  Lorg/hibernate/mapping/Property;
           33   58     9                      component  Lorg/hibernate/mapping/Component;
           34   58    10                     properties  Ljava/util/Iterator;
           35   58    11                 indexComponent  Lorg/hibernate/mapping/Component;
           38   56    12                        current  Lorg/hibernate/mapping/Property;
           39   56    13                    newProperty  Lorg/hibernate/mapping/Property;
           60   93     9                    sourceValue  Lorg/hibernate/mapping/SimpleValue;
           67   68    10                    targetValue  Lorg/hibernate/mapping/SimpleValue;
           69   93    10                    targetValue  Lorg/hibernate/mapping/SimpleValue;
           62   67    11                sourceManyToOne  Lorg/hibernate/mapping/ManyToOne;
           63   67    12                targetManyToOne  Lorg/hibernate/mapping/ManyToOne;
           71   93    11                        columns  Ljava/util/Iterator;
           72   93    12                         random  Ljava/util/Random;
           74   91    13                        current  Ljava/lang/Object;
           75   91    14                        formula  Lorg/hibernate/mapping/Formula;
           77   78    15                  formulaString  Ljava/lang/String;
           80   81    15                  formulaString  Ljava/lang/String;
           82   91    15                  formulaString  Ljava/lang/String;
    MethodParameters:
                               Name  Flags
      value                          
      collection                     
      targetPropertyName             
      associatedClass                
      targetPropertyPersistentClass  
      buildingContext                

  private java.lang.String getFromAndWhereFormula(java.lang.String, java.util.Iterator<org.hibernate.mapping.Selectable>, java.util.Iterator<org.hibernate.mapping.Selectable>);
    descriptor: (Ljava/lang/String;Ljava/util/Iterator;Ljava/util/Iterator;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.hibernate.cfg.annotations.MapBinder this
        start local 1 // java.lang.String tableName
        start local 2 // java.util.Iterator collectionTableColumns
        start local 3 // java.util.Iterator referencedEntityColumns
         0: .line 541
            ldc "$alias$"
            astore 4 /* alias */
        start local 4 // java.lang.String alias
         1: .line 542
            new java.lang.StringBuilder
            dup
            ldc " from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 543
            aload 1 /* tableName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 545
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 546
            aload 4 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " where "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 542
            astore 5 /* fromAndWhereSb */
        start local 5 // java.lang.StringBuilder fromAndWhereSb
         6: .line 547
            goto 15
         7: .line 548
      StackMap locals: java.lang.String java.lang.StringBuilder
      StackMap stack:
            aload 2 /* collectionTableColumns */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 6 /* colColumn */
        start local 6 // org.hibernate.mapping.Column colColumn
         8: .line 549
            aload 3 /* referencedEntityColumns */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 7 /* refColumn */
        start local 7 // org.hibernate.mapping.Column refColumn
         9: .line 550
            aload 5 /* fromAndWhereSb */
            aload 4 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 551
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        11: .line 552
            aload 7 /* refColumn */
            invokevirtual org.hibernate.mapping.Column.getQuotedName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 553
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        13: .line 554
            aload 6 /* colColumn */
            invokevirtual org.hibernate.mapping.Column.getQuotedName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 555
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // org.hibernate.mapping.Column refColumn
        end local 6 // org.hibernate.mapping.Column colColumn
        15: .line 547
      StackMap locals:
      StackMap stack:
            aload 2 /* collectionTableColumns */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        16: .line 557
            aload 5 /* fromAndWhereSb */
            iconst_0
            aload 5 /* fromAndWhereSb */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_5
            isub
            invokevirtual java.lang.StringBuilder.substring:(II)Ljava/lang/String;
            areturn
        end local 5 // java.lang.StringBuilder fromAndWhereSb
        end local 4 // java.lang.String alias
        end local 3 // java.util.Iterator referencedEntityColumns
        end local 2 // java.util.Iterator collectionTableColumns
        end local 1 // java.lang.String tableName
        end local 0 // org.hibernate.cfg.annotations.MapBinder this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   17     0                     this  Lorg/hibernate/cfg/annotations/MapBinder;
            0   17     1                tableName  Ljava/lang/String;
            0   17     2   collectionTableColumns  Ljava/util/Iterator<Lorg/hibernate/mapping/Selectable;>;
            0   17     3  referencedEntityColumns  Ljava/util/Iterator<Lorg/hibernate/mapping/Selectable;>;
            1   17     4                    alias  Ljava/lang/String;
            6   17     5           fromAndWhereSb  Ljava/lang/StringBuilder;
            8   15     6                colColumn  Lorg/hibernate/mapping/Column;
            9   15     7                refColumn  Lorg/hibernate/mapping/Column;
    Signature: (Ljava/lang/String;Ljava/util/Iterator<Lorg/hibernate/mapping/Selectable;>;Ljava/util/Iterator<Lorg/hibernate/mapping/Selectable;>;)Ljava/lang/String;
    MethodParameters:
                         Name  Flags
      tableName                
      collectionTableColumns   
      referencedEntityColumns  
}
SourceFile: "MapBinder.java"
NestMembers:
  org.hibernate.cfg.annotations.MapBinder$1
InnerClasses:
  org.hibernate.cfg.annotations.MapBinder$1