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

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

  protected org.hibernate.mapping.Collection collection;
    descriptor: Lorg/hibernate/mapping/Collection;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String propertyName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  org.hibernate.cfg.PropertyHolder propertyHolder;
    descriptor: Lorg/hibernate/cfg/PropertyHolder;
    flags: (0x0000) 

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

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

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

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

  private org.hibernate.cfg.Ejb3JoinColumn[] inverseJoinColumns;
    descriptor: [Lorg/hibernate/cfg/Ejb3JoinColumn;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  protected org.hibernate.cfg.IndexColumn indexColumn;
    descriptor: Lorg/hibernate/cfg/IndexColumn;
    flags: (0x0004) ACC_PROTECTED

  protected boolean cascadeDeleteEnabled;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String mapKeyPropertyName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

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

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

  private org.hibernate.cfg.Ejb3JoinColumn[] fkJoinColumns;
    descriptor: [Lorg/hibernate/cfg/Ejb3JoinColumn;
    flags: (0x0002) ACC_PRIVATE

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

  private org.hibernate.cfg.Ejb3Column[] elementColumns;
    descriptor: [Lorg/hibernate/cfg/Ejb3Column;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private org.hibernate.cfg.annotations.TableBinder tableBinder;
    descriptor: Lorg/hibernate/cfg/annotations/TableBinder;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.cfg.Ejb3Column[] mapKeyColumns;
    descriptor: [Lorg/hibernate/cfg/Ejb3Column;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.cfg.Ejb3JoinColumn[] mapKeyManyToManyColumns;
    descriptor: [Lorg/hibernate/cfg/Ejb3JoinColumn;
    flags: (0x0002) ACC_PRIVATE

  protected java.util.HashMap<java.lang.String, org.hibernate.boot.model.IdentifierGeneratorDefinition> localGenerators;
    descriptor: Ljava/util/HashMap;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;>;

  protected java.util.Map<org.hibernate.annotations.common.reflection.XClass, org.hibernate.cfg.InheritanceState> inheritanceStatePerClass;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/cfg/InheritanceState;>;

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

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

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

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

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

  private javax.persistence.OrderBy jpaOrderBy;
    descriptor: Ljavax/persistence/OrderBy;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  private final java.util.Properties explicitTypeParameters;
    descriptor: Ljava/util/Properties;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.hibernate.cfg.Ejb3JoinColumn[] joinColumns;
    descriptor: [Lorg/hibernate/cfg/Ejb3JoinColumn;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 117
            ldc Lorg/hibernate/internal/CoreMessageLogger;
            ldc Lorg/hibernate/cfg/annotations/CollectionBinder;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.cfg.annotations.CollectionBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // boolean isSortedCollection
         0: .line 164
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 136
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.CollectionBinder.insertable:Z
         2: .line 137
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.CollectionBinder.updatable:Z
         3: .line 162
            aload 0 /* this */
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            putfield org.hibernate.cfg.annotations.CollectionBinder.explicitTypeParameters:Ljava/util/Properties;
         4: .line 165
            aload 0 /* this */
            iload 1 /* isSortedCollection */
            putfield org.hibernate.cfg.annotations.CollectionBinder.isSortedCollection:Z
         5: .line 166
            return
        end local 1 // boolean isSortedCollection
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    6     1  isSortedCollection  Z
    MethodParameters:
                    Name  Flags
      isSortedCollection  

  protected org.hibernate.boot.spi.MetadataBuildingContext getBuildingContext();
    descriptor: ()Lorg/hibernate/boot/spi/MetadataBuildingContext;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
         0: .line 169
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.buildingContext:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            areturn
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/annotations/CollectionBinder;

  public void setBuildingContext(org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 173
            aload 0 /* this */
            aload 1 /* buildingContext */
            putfield org.hibernate.cfg.annotations.CollectionBinder.buildingContext:Lorg/hibernate/boot/spi/MetadataBuildingContext;
         1: .line 174
            return
        end local 1 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
    MethodParameters:
                 Name  Flags
      buildingContext  

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

  protected void setIsHibernateExtensionMapping(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // boolean hibernateExtensionMapping
         0: .line 181
            aload 0 /* this */
            iload 1 /* hibernateExtensionMapping */
            putfield org.hibernate.cfg.annotations.CollectionBinder.hibernateExtensionMapping:Z
         1: .line 182
            return
        end local 1 // boolean hibernateExtensionMapping
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  hibernateExtensionMapping  Z
    MethodParameters:
                           Name  Flags
      hibernateExtensionMapping  

  protected boolean isHibernateExtensionMapping();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
         0: .line 185
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.hibernateExtensionMapping:Z
            ireturn
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/annotations/CollectionBinder;

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

  public void setInheritanceStatePerClass(java.util.Map<org.hibernate.annotations.common.reflection.XClass, org.hibernate.cfg.InheritanceState>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // java.util.Map inheritanceStatePerClass
         0: .line 193
            aload 0 /* this */
            aload 1 /* inheritanceStatePerClass */
            putfield org.hibernate.cfg.annotations.CollectionBinder.inheritanceStatePerClass:Ljava/util/Map;
         1: .line 194
            return
        end local 1 // java.util.Map inheritanceStatePerClass
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  inheritanceStatePerClass  Ljava/util/Map<Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/cfg/InheritanceState;>;
    Signature: (Ljava/util/Map<Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/cfg/InheritanceState;>;)V
    MethodParameters:
                          Name  Flags
      inheritanceStatePerClass  

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

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

  public void setAccessType(org.hibernate.cfg.AccessType);
    descriptor: (Lorg/hibernate/cfg/AccessType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.cfg.AccessType accessType
         0: .line 205
            aload 0 /* this */
            aload 1 /* accessType */
            putfield org.hibernate.cfg.annotations.CollectionBinder.accessType:Lorg/hibernate/cfg/AccessType;
         1: .line 206
            return
        end local 1 // org.hibernate.cfg.AccessType accessType
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  accessType  Lorg/hibernate/cfg/AccessType;
    MethodParameters:
            Name  Flags
      accessType  

  public void setInverseJoinColumns(org.hibernate.cfg.Ejb3JoinColumn[]);
    descriptor: ([Lorg/hibernate/cfg/Ejb3JoinColumn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.cfg.Ejb3JoinColumn[] inverseJoinColumns
         0: .line 209
            aload 0 /* this */
            aload 1 /* inverseJoinColumns */
            putfield org.hibernate.cfg.annotations.CollectionBinder.inverseJoinColumns:[Lorg/hibernate/cfg/Ejb3JoinColumn;
         1: .line 210
            return
        end local 1 // org.hibernate.cfg.Ejb3JoinColumn[] inverseJoinColumns
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  inverseJoinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
    MethodParameters:
                    Name  Flags
      inverseJoinColumns  

  public void setJoinColumns(org.hibernate.cfg.Ejb3JoinColumn[]);
    descriptor: ([Lorg/hibernate/cfg/Ejb3JoinColumn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.cfg.Ejb3JoinColumn[] joinColumns
         0: .line 213
            aload 0 /* this */
            aload 1 /* joinColumns */
            putfield org.hibernate.cfg.annotations.CollectionBinder.joinColumns:[Lorg/hibernate/cfg/Ejb3JoinColumn;
         1: .line 214
            return
        end local 1 // org.hibernate.cfg.Ejb3JoinColumn[] joinColumns
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  joinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
    MethodParameters:
             Name  Flags
      joinColumns  

  public void setPropertyHolder(org.hibernate.cfg.PropertyHolder);
    descriptor: (Lorg/hibernate/cfg/PropertyHolder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.cfg.PropertyHolder propertyHolder
         0: .line 219
            aload 0 /* this */
            aload 1 /* propertyHolder */
            putfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
         1: .line 220
            return
        end local 1 // org.hibernate.cfg.PropertyHolder propertyHolder
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  propertyHolder  Lorg/hibernate/cfg/PropertyHolder;
    MethodParameters:
                Name  Flags
      propertyHolder  

  public void setBatchSize(org.hibernate.annotations.BatchSize);
    descriptor: (Lorg/hibernate/annotations/BatchSize;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.annotations.BatchSize batchSize
         0: .line 223
            aload 0 /* this */
            aload 1 /* batchSize */
            ifnonnull 1
            iconst_m1
            goto 2
      StackMap locals:
      StackMap stack: org.hibernate.cfg.annotations.CollectionBinder
         1: aload 1 /* batchSize */
            invokeinterface org.hibernate.annotations.BatchSize.size:()I
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.annotations.BatchSize
      StackMap stack: org.hibernate.cfg.annotations.CollectionBinder int
         2: putfield org.hibernate.cfg.annotations.CollectionBinder.batchSize:I
         3: .line 224
            return
        end local 1 // org.hibernate.annotations.BatchSize batchSize
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    4     1  batchSize  Lorg/hibernate/annotations/BatchSize;
    MethodParameters:
           Name  Flags
      batchSize  

  public void setJpaOrderBy(javax.persistence.OrderBy);
    descriptor: (Ljavax/persistence/OrderBy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // javax.persistence.OrderBy jpaOrderBy
         0: .line 227
            aload 0 /* this */
            aload 1 /* jpaOrderBy */
            putfield org.hibernate.cfg.annotations.CollectionBinder.jpaOrderBy:Ljavax/persistence/OrderBy;
         1: .line 228
            return
        end local 1 // javax.persistence.OrderBy jpaOrderBy
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  jpaOrderBy  Ljavax/persistence/OrderBy;
    MethodParameters:
            Name  Flags
      jpaOrderBy  

  public void setSqlOrderBy(org.hibernate.annotations.OrderBy);
    descriptor: (Lorg/hibernate/annotations/OrderBy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.annotations.OrderBy sqlOrderBy
         0: .line 231
            aload 0 /* this */
            aload 1 /* sqlOrderBy */
            putfield org.hibernate.cfg.annotations.CollectionBinder.sqlOrderBy:Lorg/hibernate/annotations/OrderBy;
         1: .line 232
            return
        end local 1 // org.hibernate.annotations.OrderBy sqlOrderBy
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  sqlOrderBy  Lorg/hibernate/annotations/OrderBy;
    MethodParameters:
            Name  Flags
      sqlOrderBy  

  public void setSort(org.hibernate.annotations.Sort);
    descriptor: (Lorg/hibernate/annotations/Sort;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.annotations.Sort deprecatedSort
         0: .line 235
            aload 0 /* this */
            aload 1 /* deprecatedSort */
            putfield org.hibernate.cfg.annotations.CollectionBinder.deprecatedSort:Lorg/hibernate/annotations/Sort;
         1: .line 236
            return
        end local 1 // org.hibernate.annotations.Sort deprecatedSort
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  deprecatedSort  Lorg/hibernate/annotations/Sort;
    MethodParameters:
                Name  Flags
      deprecatedSort  

  public void setNaturalSort(org.hibernate.annotations.SortNatural);
    descriptor: (Lorg/hibernate/annotations/SortNatural;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.annotations.SortNatural naturalSort
         0: .line 239
            aload 0 /* this */
            aload 1 /* naturalSort */
            putfield org.hibernate.cfg.annotations.CollectionBinder.naturalSort:Lorg/hibernate/annotations/SortNatural;
         1: .line 240
            return
        end local 1 // org.hibernate.annotations.SortNatural naturalSort
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  naturalSort  Lorg/hibernate/annotations/SortNatural;
    MethodParameters:
             Name  Flags
      naturalSort  

  public void setComparatorSort(org.hibernate.annotations.SortComparator);
    descriptor: (Lorg/hibernate/annotations/SortComparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.annotations.SortComparator comparatorSort
         0: .line 243
            aload 0 /* this */
            aload 1 /* comparatorSort */
            putfield org.hibernate.cfg.annotations.CollectionBinder.comparatorSort:Lorg/hibernate/annotations/SortComparator;
         1: .line 244
            return
        end local 1 // org.hibernate.annotations.SortComparator comparatorSort
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  comparatorSort  Lorg/hibernate/annotations/SortComparator;
    MethodParameters:
                Name  Flags
      comparatorSort  

  public static org.hibernate.cfg.annotations.CollectionBinder getCollectionBinder(java.lang.String, org.hibernate.annotations.common.reflection.XProperty, boolean, boolean, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XProperty;ZZLorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/cfg/annotations/CollectionBinder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=13, args_size=5
        start local 0 // java.lang.String entityName
        start local 1 // org.hibernate.annotations.common.reflection.XProperty property
        start local 2 // boolean isIndexed
        start local 3 // boolean isHibernateExtensionMapping
        start local 4 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 256
            aload 1 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isArray:()Z
            ifeq 6
         1: .line 257
            aload 1 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getElementClass:()Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.isPrimitive:()Z
            ifeq 4
         2: .line 258
            new org.hibernate.cfg.annotations.PrimitiveArrayBinder
            dup
            invokespecial org.hibernate.cfg.annotations.PrimitiveArrayBinder.<init>:()V
            astore 5 /* result */
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
         3: .line 259
            goto 67
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
         4: .line 261
      StackMap locals:
      StackMap stack:
            new org.hibernate.cfg.annotations.ArrayBinder
            dup
            invokespecial org.hibernate.cfg.annotations.ArrayBinder.<init>:()V
            astore 5 /* result */
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
         5: .line 263
            goto 67
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
         6: .line 264
      StackMap locals:
      StackMap stack:
            aload 1 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isCollection:()Z
            ifeq 62
         7: .line 266
            aload 1 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getCollectionClass:()Ljava/lang/Class;
            astore 6 /* returnedClass */
        start local 6 // java.lang.Class returnedClass
         8: .line 267
            ldc Ljava/util/Set;
            aload 6 /* returnedClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 15
         9: .line 268
            aload 1 /* property */
            ldc Lorg/hibernate/annotations/CollectionId;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 13
        10: .line 269
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Set do not support @CollectionId: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 270
            aload 0 /* entityName */
            aload 1 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 269
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 272
      StackMap locals: java.lang.String org.hibernate.annotations.common.reflection.XProperty int int org.hibernate.boot.spi.MetadataBuildingContext top java.lang.Class
      StackMap stack:
            new org.hibernate.cfg.annotations.SetBinder
            dup
            iconst_0
            invokespecial org.hibernate.cfg.annotations.SetBinder.<init>:(Z)V
            astore 5 /* result */
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        14: .line 273
            goto 67
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        15: .line 274
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/SortedSet;
            aload 6 /* returnedClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 22
        16: .line 275
            aload 1 /* property */
            ldc Lorg/hibernate/annotations/CollectionId;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 20
        17: .line 276
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Set do not support @CollectionId: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 277
            aload 0 /* entityName */
            aload 1 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 276
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 279
      StackMap locals:
      StackMap stack:
            new org.hibernate.cfg.annotations.SetBinder
            dup
            iconst_1
            invokespecial org.hibernate.cfg.annotations.SetBinder.<init>:(Z)V
            astore 5 /* result */
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        21: .line 280
            goto 67
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        22: .line 281
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/Map;
            aload 6 /* returnedClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 29
        23: .line 282
            aload 1 /* property */
            ldc Lorg/hibernate/annotations/CollectionId;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 27
        24: .line 283
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Map do not support @CollectionId: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 284
            aload 0 /* entityName */
            aload 1 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 283
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 286
      StackMap locals:
      StackMap stack:
            new org.hibernate.cfg.annotations.MapBinder
            dup
            iconst_0
            invokespecial org.hibernate.cfg.annotations.MapBinder.<init>:(Z)V
            astore 5 /* result */
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        28: .line 287
            goto 67
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        29: .line 288
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/SortedMap;
            aload 6 /* returnedClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 36
        30: .line 289
            aload 1 /* property */
            ldc Lorg/hibernate/annotations/CollectionId;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 34
        31: .line 290
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Map do not support @CollectionId: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        32: .line 291
            aload 0 /* entityName */
            aload 1 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 290
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 293
      StackMap locals:
      StackMap stack:
            new org.hibernate.cfg.annotations.MapBinder
            dup
            iconst_1
            invokespecial org.hibernate.cfg.annotations.MapBinder.<init>:(Z)V
            astore 5 /* result */
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        35: .line 294
            goto 67
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        36: .line 295
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/Collection;
            aload 6 /* returnedClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 42
        37: .line 296
            aload 1 /* property */
            ldc Lorg/hibernate/annotations/CollectionId;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 40
        38: .line 297
            new org.hibernate.cfg.annotations.IdBagBinder
            dup
            invokespecial org.hibernate.cfg.annotations.IdBagBinder.<init>:()V
            astore 5 /* result */
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        39: .line 298
            goto 67
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        40: .line 300
      StackMap locals:
      StackMap stack:
            new org.hibernate.cfg.annotations.BagBinder
            dup
            invokespecial org.hibernate.cfg.annotations.BagBinder.<init>:()V
            astore 5 /* result */
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        41: .line 302
            goto 67
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        42: .line 303
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/List;
            aload 6 /* returnedClass */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 57
        43: .line 304
            iload 2 /* isIndexed */
            ifeq 52
        44: .line 305
            aload 1 /* property */
            ldc Lorg/hibernate/annotations/CollectionId;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 50
        45: .line 306
            new org.hibernate.AnnotationException
            dup
        46: .line 307
            new java.lang.StringBuilder
            dup
            ldc "List do not support @CollectionId and @OrderColumn (or @IndexColumn) at the same time: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        47: .line 308
            aload 0 /* entityName */
            aload 1 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        48: .line 307
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        49: .line 306
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 310
      StackMap locals:
      StackMap stack:
            new org.hibernate.cfg.annotations.ListBinder
            dup
            invokespecial org.hibernate.cfg.annotations.ListBinder.<init>:()V
            astore 5 /* result */
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        51: .line 311
            goto 67
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        52: .line 312
      StackMap locals:
      StackMap stack:
            aload 1 /* property */
            ldc Lorg/hibernate/annotations/CollectionId;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 55
        53: .line 313
            new org.hibernate.cfg.annotations.IdBagBinder
            dup
            invokespecial org.hibernate.cfg.annotations.IdBagBinder.<init>:()V
            astore 5 /* result */
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        54: .line 314
            goto 67
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        55: .line 316
      StackMap locals:
      StackMap stack:
            new org.hibernate.cfg.annotations.BagBinder
            dup
            invokespecial org.hibernate.cfg.annotations.BagBinder.<init>:()V
            astore 5 /* result */
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        56: .line 318
            goto 67
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        57: .line 320
      StackMap locals:
      StackMap stack:
            new org.hibernate.AnnotationException
            dup
        58: .line 321
            new java.lang.StringBuilder
            dup
            aload 6 /* returnedClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " collection not yet supported: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        59: .line 322
            aload 0 /* entityName */
            aload 1 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 321
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        61: .line 320
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Class returnedClass
        62: .line 327
      StackMap locals: java.lang.String org.hibernate.annotations.common.reflection.XProperty int int org.hibernate.boot.spi.MetadataBuildingContext
      StackMap stack:
            new org.hibernate.AnnotationException
            dup
        63: .line 328
            new java.lang.StringBuilder
            dup
            ldc "Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        64: .line 329
            aload 0 /* entityName */
            aload 1 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        65: .line 328
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        66: .line 327
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        start local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        67: .line 332
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder
      StackMap stack:
            aload 5 /* result */
            iload 3 /* isHibernateExtensionMapping */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.setIsHibernateExtensionMapping:(Z)V
        68: .line 334
            aload 1 /* property */
            ldc Lorg/hibernate/annotations/CollectionType;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.CollectionType
            astore 6 /* typeAnnotation */
        start local 6 // org.hibernate.annotations.CollectionType typeAnnotation
        69: .line 335
            aload 6 /* typeAnnotation */
            ifnull 82
        70: .line 336
            aload 6 /* typeAnnotation */
            invokeinterface org.hibernate.annotations.CollectionType.type:()Ljava/lang/String;
            astore 7 /* typeName */
        start local 7 // java.lang.String typeName
        71: .line 338
            aload 4 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 7 /* typeName */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getTypeDefinition:(Ljava/lang/String;)Lorg/hibernate/boot/model/TypeDefinition;
            astore 8 /* typeDef */
        start local 8 // org.hibernate.boot.model.TypeDefinition typeDef
        72: .line 339
            aload 8 /* typeDef */
            ifnull 76
        73: .line 340
            aload 5 /* result */
            aload 8 /* typeDef */
            invokevirtual org.hibernate.boot.model.TypeDefinition.getTypeImplementorClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.CollectionBinder.explicitType:Ljava/lang/String;
        74: .line 341
            aload 5 /* result */
            getfield org.hibernate.cfg.annotations.CollectionBinder.explicitTypeParameters:Ljava/util/Properties;
            aload 8 /* typeDef */
            invokevirtual org.hibernate.boot.model.TypeDefinition.getParameters:()Ljava/util/Map;
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
        75: .line 342
            goto 82
        76: .line 344
      StackMap locals: org.hibernate.annotations.CollectionType java.lang.String org.hibernate.boot.model.TypeDefinition
      StackMap stack:
            aload 5 /* result */
            aload 7 /* typeName */
            putfield org.hibernate.cfg.annotations.CollectionBinder.explicitType:Ljava/lang/String;
        77: .line 345
            aload 6 /* typeAnnotation */
            invokeinterface org.hibernate.annotations.CollectionType.parameters:()[Lorg/hibernate/annotations/Parameter;
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 81
      StackMap locals: java.lang.String org.hibernate.annotations.common.reflection.XProperty int int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.annotations.CollectionBinder org.hibernate.annotations.CollectionType java.lang.String org.hibernate.boot.model.TypeDefinition top int int org.hibernate.annotations.Parameter[]
      StackMap stack:
        78: aload 12
            iload 10
            aaload
            astore 9 /* param */
        start local 9 // org.hibernate.annotations.Parameter param
        79: .line 346
            aload 5 /* result */
            getfield org.hibernate.cfg.annotations.CollectionBinder.explicitTypeParameters:Ljava/util/Properties;
            aload 9 /* param */
            invokeinterface org.hibernate.annotations.Parameter.name:()Ljava/lang/String;
            aload 9 /* param */
            invokeinterface org.hibernate.annotations.Parameter.value:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        end local 9 // org.hibernate.annotations.Parameter param
        80: .line 345
            iinc 10 1
      StackMap locals:
      StackMap stack:
        81: iload 10
            iload 11
            if_icmplt 78
        end local 8 // org.hibernate.boot.model.TypeDefinition typeDef
        end local 7 // java.lang.String typeName
        82: .line 351
      StackMap locals: java.lang.String org.hibernate.annotations.common.reflection.XProperty int int org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.cfg.annotations.CollectionBinder org.hibernate.annotations.CollectionType
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 6 // org.hibernate.annotations.CollectionType typeAnnotation
        end local 5 // org.hibernate.cfg.annotations.CollectionBinder result
        end local 4 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 3 // boolean isHibernateExtensionMapping
        end local 2 // boolean isIndexed
        end local 1 // org.hibernate.annotations.common.reflection.XProperty property
        end local 0 // java.lang.String entityName
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   83     0                   entityName  Ljava/lang/String;
            0   83     1                     property  Lorg/hibernate/annotations/common/reflection/XProperty;
            0   83     2                    isIndexed  Z
            0   83     3  isHibernateExtensionMapping  Z
            0   83     4              buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            3    4     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
            5    6     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
           14   15     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
           21   22     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
           28   29     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
           35   36     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
           39   40     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
           41   42     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
           51   52     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
           54   55     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
           56   57     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
           67   83     5                       result  Lorg/hibernate/cfg/annotations/CollectionBinder;
            8   62     6                returnedClass  Ljava/lang/Class;
           69   83     6               typeAnnotation  Lorg/hibernate/annotations/CollectionType;
           71   82     7                     typeName  Ljava/lang/String;
           72   82     8                      typeDef  Lorg/hibernate/boot/model/TypeDefinition;
           79   80     9                        param  Lorg/hibernate/annotations/Parameter;
    MethodParameters:
                             Name  Flags
      entityName                   
      property                     
      isIndexed                    
      isHibernateExtensionMapping  
      buildingContext              

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

  public void setTableBinder(org.hibernate.cfg.annotations.TableBinder);
    descriptor: (Lorg/hibernate/cfg/annotations/TableBinder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.cfg.annotations.TableBinder tableBinder
         0: .line 359
            aload 0 /* this */
            aload 1 /* tableBinder */
            putfield org.hibernate.cfg.annotations.CollectionBinder.tableBinder:Lorg/hibernate/cfg/annotations/TableBinder;
         1: .line 360
            return
        end local 1 // org.hibernate.cfg.annotations.TableBinder tableBinder
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  tableBinder  Lorg/hibernate/cfg/annotations/TableBinder;
    MethodParameters:
             Name  Flags
      tableBinder  

  public void setCollectionType(org.hibernate.annotations.common.reflection.XClass);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.annotations.common.reflection.XClass collectionType
         0: .line 364
            aload 0 /* this */
            aload 1 /* collectionType */
            putfield org.hibernate.cfg.annotations.CollectionBinder.collectionType:Lorg/hibernate/annotations/common/reflection/XClass;
         1: .line 365
            return
        end local 1 // org.hibernate.annotations.common.reflection.XClass collectionType
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  collectionType  Lorg/hibernate/annotations/common/reflection/XClass;
    MethodParameters:
                Name  Flags
      collectionType  

  public void setTargetEntity(org.hibernate.annotations.common.reflection.XClass);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.annotations.common.reflection.XClass targetEntity
         0: .line 368
            aload 0 /* this */
            aload 1 /* targetEntity */
            putfield org.hibernate.cfg.annotations.CollectionBinder.targetEntity:Lorg/hibernate/annotations/common/reflection/XClass;
         1: .line 369
            return
        end local 1 // org.hibernate.annotations.common.reflection.XClass targetEntity
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  targetEntity  Lorg/hibernate/annotations/common/reflection/XClass;
    MethodParameters:
              Name  Flags
      targetEntity  

  protected abstract org.hibernate.mapping.Collection createCollection(org.hibernate.mapping.PersistentClass);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;)Lorg/hibernate/mapping/Collection;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      persistentClass  

  public org.hibernate.mapping.Collection getCollection();
    descriptor: ()Lorg/hibernate/mapping/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
         0: .line 374
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            areturn
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/cfg/annotations/CollectionBinder;

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

  public void setDeclaringClass(org.hibernate.annotations.common.reflection.XClass);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.annotations.common.reflection.XClass declaringClass
         0: .line 382
            aload 0 /* this */
            aload 1 /* declaringClass */
            putfield org.hibernate.cfg.annotations.CollectionBinder.declaringClass:Lorg/hibernate/annotations/common/reflection/XClass;
         1: .line 383
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.CollectionBinder.declaringClassSet:Z
         2: .line 384
            return
        end local 1 // org.hibernate.annotations.common.reflection.XClass declaringClass
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    3     1  declaringClass  Lorg/hibernate/annotations/common/reflection/XClass;
    MethodParameters:
                Name  Flags
      declaringClass  

  public void bind();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=14, locals=16, args_size=1
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
         0: .line 387
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.createCollection:(Lorg/hibernate/mapping/PersistentClass;)Lorg/hibernate/mapping/Collection;
            putfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
         1: .line 388
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* role */
        start local 1 // java.lang.String role
         2: .line 389
            getstatic org.hibernate.cfg.annotations.CollectionBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Collection role: %s"
            aload 1 /* role */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 390
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 1 /* role */
            invokevirtual org.hibernate.mapping.Collection.setRole:(Ljava/lang/String;)V
         4: .line 391
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.mappedBy:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Collection.setMappedByProperty:(Ljava/lang/String;)V
         5: .line 393
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Ljavax/persistence/MapKeyColumn;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 13
         6: .line 394
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.mapKeyPropertyName:Ljava/lang/String;
            ifnull 13
         7: .line 395
            new org.hibernate.AnnotationException
            dup
         8: .line 396
            new java.lang.StringBuilder
            dup
            ldc "Cannot mix @javax.persistence.MapKey and @MapKeyColumn or @org.hibernate.annotations.MapKey on the same collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 398
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
        10: .line 397
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 396
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 395
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 404
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.explicitType:Ljava/lang/String;
            ifnull 21
        14: .line 405
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.buildingContext:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.explicitType:Ljava/lang/String;
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getTypeDefinition:(Ljava/lang/String;)Lorg/hibernate/boot/model/TypeDefinition;
            astore 2 /* typeDef */
        start local 2 // org.hibernate.boot.model.TypeDefinition typeDef
        15: .line 406
            aload 2 /* typeDef */
            ifnonnull 19
        16: .line 407
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.explicitType:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Collection.setTypeName:(Ljava/lang/String;)V
        17: .line 408
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.explicitTypeParameters:Ljava/util/Properties;
            invokevirtual org.hibernate.mapping.Collection.setTypeParameters:(Ljava/util/Properties;)V
        18: .line 409
            goto 21
        19: .line 411
      StackMap locals: org.hibernate.boot.model.TypeDefinition
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 2 /* typeDef */
            invokevirtual org.hibernate.boot.model.TypeDefinition.getTypeImplementorClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Collection.setTypeName:(Ljava/lang/String;)V
        20: .line 412
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 2 /* typeDef */
            invokevirtual org.hibernate.boot.model.TypeDefinition.getParameters:()Ljava/util/Map;
            invokevirtual org.hibernate.mapping.Collection.setTypeParameters:(Ljava/util/Map;)V
        end local 2 // org.hibernate.boot.model.TypeDefinition typeDef
        21: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.defineFetchingStrategy:()V
        22: .line 418
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.batchSize:I
            invokevirtual org.hibernate.mapping.Collection.setBatchSize:(I)V
        23: .line 420
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/Immutable;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 24
            iconst_0
            goto 25
      StackMap locals:
      StackMap stack: org.hibernate.mapping.Collection
        24: iconst_1
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder java.lang.String
      StackMap stack: org.hibernate.mapping.Collection int
        25: invokevirtual org.hibernate.mapping.Collection.setMutable:(Z)V
        26: .line 423
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.mappedBy:Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifeq 27
            iconst_0
            goto 28
      StackMap locals:
      StackMap stack:
        27: iconst_1
      StackMap locals:
      StackMap stack: int
        28: istore 2 /* isMappedBy */
        start local 2 // boolean isMappedBy
        29: .line 425
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/OptimisticLock;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.OptimisticLock
            astore 3 /* lockAnn */
        start local 3 // org.hibernate.annotations.OptimisticLock lockAnn
        30: .line 426
            aload 3 /* lockAnn */
            ifnull 33
        31: .line 427
            aload 3 /* lockAnn */
            invokeinterface org.hibernate.annotations.OptimisticLock.excluded:()Z
            ifeq 32
            iconst_0
            goto 35
      StackMap locals: int org.hibernate.annotations.OptimisticLock
      StackMap stack:
        32: iconst_1
            goto 35
        33: .line 428
      StackMap locals:
      StackMap stack:
            iload 2 /* isMappedBy */
            ifeq 34
            iconst_0
            goto 35
      StackMap locals:
      StackMap stack:
        34: iconst_1
        35: .line 426
      StackMap locals:
      StackMap stack: int
            istore 4 /* includeInOptimisticLockChecks */
        start local 4 // boolean includeInOptimisticLockChecks
        36: .line 429
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            iload 4 /* includeInOptimisticLockChecks */
            invokevirtual org.hibernate.mapping.Collection.setOptimisticLocked:(Z)V
        37: .line 431
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/Persister;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Persister
            astore 5 /* persisterAnn */
        start local 5 // org.hibernate.annotations.Persister persisterAnn
        38: .line 432
            aload 5 /* persisterAnn */
            ifnull 40
        39: .line 433
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 5 /* persisterAnn */
            invokeinterface org.hibernate.annotations.Persister.impl:()Ljava/lang/Class;
            invokevirtual org.hibernate.mapping.Collection.setCollectionPersisterClass:(Ljava/lang/Class;)V
        40: .line 436
      StackMap locals: int org.hibernate.annotations.Persister
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.applySortingAndOrdering:(Lorg/hibernate/mapping/Collection;)V
        41: .line 439
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.cacheConcurrencyStrategy:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 44
        42: .line 440
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.cacheConcurrencyStrategy:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Collection.setCacheConcurrencyStrategy:(Ljava/lang/String;)V
        43: .line 441
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.cacheRegionName:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Collection.setCacheRegionName:(Ljava/lang/String;)V
        44: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/SQLInsert;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.SQLInsert
            astore 6 /* sqlInsert */
        start local 6 // org.hibernate.annotations.SQLInsert sqlInsert
        45: .line 446
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/SQLUpdate;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.SQLUpdate
            astore 7 /* sqlUpdate */
        start local 7 // org.hibernate.annotations.SQLUpdate sqlUpdate
        46: .line 447
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/SQLDelete;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.SQLDelete
            astore 8 /* sqlDelete */
        start local 8 // org.hibernate.annotations.SQLDelete sqlDelete
        47: .line 448
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/SQLDeleteAll;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.SQLDeleteAll
            astore 9 /* sqlDeleteAll */
        start local 9 // org.hibernate.annotations.SQLDeleteAll sqlDeleteAll
        48: .line 449
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/Loader;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Loader
            astore 10 /* loader */
        start local 10 // org.hibernate.annotations.Loader loader
        49: .line 450
            aload 6 /* sqlInsert */
            ifnull 53
        50: .line 451
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 6 /* sqlInsert */
            invokeinterface org.hibernate.annotations.SQLInsert.sql:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            aload 6 /* sqlInsert */
            invokeinterface org.hibernate.annotations.SQLInsert.callable:()Z
        51: .line 452
            aload 6 /* sqlInsert */
            invokeinterface org.hibernate.annotations.SQLInsert.check:()Lorg/hibernate/annotations/ResultCheckStyle;
            invokevirtual org.hibernate.annotations.ResultCheckStyle.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        52: .line 451
            invokevirtual org.hibernate.mapping.Collection.setCustomSQLInsert:(Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
        53: .line 456
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder java.lang.String int org.hibernate.annotations.OptimisticLock int org.hibernate.annotations.Persister org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader
      StackMap stack:
            aload 7 /* sqlUpdate */
            ifnull 57
        54: .line 457
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 7 /* sqlUpdate */
            invokeinterface org.hibernate.annotations.SQLUpdate.sql:()Ljava/lang/String;
            aload 7 /* sqlUpdate */
            invokeinterface org.hibernate.annotations.SQLUpdate.callable:()Z
        55: .line 458
            aload 7 /* sqlUpdate */
            invokeinterface org.hibernate.annotations.SQLUpdate.check:()Lorg/hibernate/annotations/ResultCheckStyle;
            invokevirtual org.hibernate.annotations.ResultCheckStyle.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        56: .line 457
            invokevirtual org.hibernate.mapping.Collection.setCustomSQLUpdate:(Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
        57: .line 461
      StackMap locals:
      StackMap stack:
            aload 8 /* sqlDelete */
            ifnull 61
        58: .line 462
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 8 /* sqlDelete */
            invokeinterface org.hibernate.annotations.SQLDelete.sql:()Ljava/lang/String;
            aload 8 /* sqlDelete */
            invokeinterface org.hibernate.annotations.SQLDelete.callable:()Z
        59: .line 463
            aload 8 /* sqlDelete */
            invokeinterface org.hibernate.annotations.SQLDelete.check:()Lorg/hibernate/annotations/ResultCheckStyle;
            invokevirtual org.hibernate.annotations.ResultCheckStyle.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        60: .line 462
            invokevirtual org.hibernate.mapping.Collection.setCustomSQLDelete:(Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
        61: .line 466
      StackMap locals:
      StackMap stack:
            aload 9 /* sqlDeleteAll */
            ifnull 65
        62: .line 467
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 9 /* sqlDeleteAll */
            invokeinterface org.hibernate.annotations.SQLDeleteAll.sql:()Ljava/lang/String;
            aload 9 /* sqlDeleteAll */
            invokeinterface org.hibernate.annotations.SQLDeleteAll.callable:()Z
        63: .line 468
            aload 9 /* sqlDeleteAll */
            invokeinterface org.hibernate.annotations.SQLDeleteAll.check:()Lorg/hibernate/annotations/ResultCheckStyle;
            invokevirtual org.hibernate.annotations.ResultCheckStyle.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.fromExternalName:(Ljava/lang/String;)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        64: .line 467
            invokevirtual org.hibernate.mapping.Collection.setCustomSQLDeleteAll:(Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
        65: .line 471
      StackMap locals:
      StackMap stack:
            aload 10 /* loader */
            ifnull 67
        66: .line 472
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 10 /* loader */
            invokeinterface org.hibernate.annotations.Loader.namedQuery:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Collection.setLoaderName:(Ljava/lang/String;)V
        67: .line 475
      StackMap locals:
      StackMap stack:
            iload 2 /* isMappedBy */
            ifeq 74
        68: .line 476
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Ljavax/persistence/JoinColumn;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 71
        69: .line 477
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Ljavax/persistence/JoinColumns;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 71
        70: .line 478
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            invokeinterface org.hibernate.cfg.PropertyHolder.getJoinTable:(Lorg/hibernate/annotations/common/reflection/XProperty;)Ljavax/persistence/JoinTable;
            ifnull 74
        71: .line 479
      StackMap locals:
      StackMap stack:
            ldc "Associations marked as mappedBy must not define database mappings like @JoinTable or @JoinColumn: "
            astore 11 /* message */
        start local 11 // java.lang.String message
        72: .line 480
            new java.lang.StringBuilder
            dup
            aload 11 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* message */
        73: .line 481
            new org.hibernate.AnnotationException
            dup
            aload 11 /* message */
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.String message
        74: .line 484
      StackMap locals:
      StackMap stack:
            iload 2 /* isMappedBy */
            ifne 81
        75: .line 485
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.oneToMany:Z
            ifeq 81
        76: .line 486
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/OnDelete;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 81
        77: .line 487
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Ljavax/persistence/JoinColumn;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 81
        78: .line 488
            ldc "Unidirectional one-to-many associations annotated with @OnDelete must define @JoinColumn: "
            astore 11 /* message */
        start local 11 // java.lang.String message
        79: .line 489
            new java.lang.StringBuilder
            dup
            aload 11 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* message */
        80: .line 490
            new org.hibernate.AnnotationException
            dup
            aload 11 /* message */
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.String message
        81: .line 493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            iload 2 /* isMappedBy */
            invokevirtual org.hibernate.mapping.Collection.setInverse:(Z)V
        82: .line 496
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.oneToMany:Z
            ifne 84
            iload 2 /* isMappedBy */
            ifeq 84
        83: .line 497
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.buildingContext:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.getCollectionType:()Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.mappedBy:Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addMappedBy:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        84: .line 500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.getCollectionType:()Lorg/hibernate/annotations/common/reflection/XClass;
            astore 11 /* collectionType */
        start local 11 // org.hibernate.annotations.common.reflection.XClass collectionType
        85: .line 501
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.inheritanceStatePerClass:Ljava/util/Map;
            ifnonnull 86
            new org.hibernate.annotations.common.AssertionFailure
            dup
            ldc "inheritanceStatePerClass not set"
            invokespecial org.hibernate.annotations.common.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        86: .line 502
      StackMap locals: org.hibernate.annotations.common.reflection.XClass
      StackMap stack:
            aload 0 /* this */
        87: .line 503
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.fkJoinColumns:[Lorg/hibernate/cfg/Ejb3JoinColumn;
        88: .line 504
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.joinColumns:[Lorg/hibernate/cfg/Ejb3JoinColumn;
        89: .line 505
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.inverseJoinColumns:[Lorg/hibernate/cfg/Ejb3JoinColumn;
        90: .line 506
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.elementColumns:[Lorg/hibernate/cfg/Ejb3Column;
        91: .line 507
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.mapKeyColumns:[Lorg/hibernate/cfg/Ejb3Column;
        92: .line 508
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.mapKeyManyToManyColumns:[Lorg/hibernate/cfg/Ejb3JoinColumn;
        93: .line 509
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.isEmbedded:Z
        94: .line 510
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
        95: .line 511
            aload 11 /* collectionType */
        96: .line 512
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.ignoreNotFound:Z
        97: .line 513
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.oneToMany:Z
        98: .line 514
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.tableBinder:Lorg/hibernate/cfg/annotations/TableBinder;
        99: .line 515
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.buildingContext:Lorg/hibernate/boot/spi/MetadataBuildingContext;
       100: .line 502
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.getSecondPass:([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;
            astore 12 /* sp */
        start local 12 // org.hibernate.cfg.SecondPass sp
       101: .line 517
            aload 11 /* collectionType */
            ldc Ljavax/persistence/Embeddable;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 103
       102: .line 518
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Ljavax/persistence/ElementCollection;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 107
       103: .line 523
      StackMap locals: org.hibernate.cfg.SecondPass
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.buildingContext:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 12 /* sp */
            iload 2 /* isMappedBy */
            ifeq 104
            iconst_0
            goto 105
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder java.lang.String int org.hibernate.annotations.OptimisticLock int org.hibernate.annotations.Persister org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.SecondPass
      StackMap stack: org.hibernate.boot.spi.InFlightMetadataCollector org.hibernate.cfg.SecondPass
       104: iconst_1
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder java.lang.String int org.hibernate.annotations.OptimisticLock int org.hibernate.annotations.Persister org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.SecondPass
      StackMap stack: org.hibernate.boot.spi.InFlightMetadataCollector org.hibernate.cfg.SecondPass int
       105: invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addSecondPass:(Lorg/hibernate/cfg/SecondPass;Z)V
       106: .line 524
            goto 110
       107: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.buildingContext:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 12 /* sp */
            iload 2 /* isMappedBy */
            ifeq 108
            iconst_0
            goto 109
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder java.lang.String int org.hibernate.annotations.OptimisticLock int org.hibernate.annotations.Persister org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.SecondPass
      StackMap stack: org.hibernate.boot.spi.InFlightMetadataCollector org.hibernate.cfg.SecondPass
       108: iconst_1
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder java.lang.String int org.hibernate.annotations.OptimisticLock int org.hibernate.annotations.Persister org.hibernate.annotations.SQLInsert org.hibernate.annotations.SQLUpdate org.hibernate.annotations.SQLDelete org.hibernate.annotations.SQLDeleteAll org.hibernate.annotations.Loader org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.SecondPass
      StackMap stack: org.hibernate.boot.spi.InFlightMetadataCollector org.hibernate.cfg.SecondPass int
       109: invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addSecondPass:(Lorg/hibernate/cfg/SecondPass;Z)V
       110: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.buildingContext:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addCollectionBinding:(Lorg/hibernate/mapping/Collection;)V
       111: .line 532
            new org.hibernate.cfg.annotations.PropertyBinder
            dup
            invokespecial org.hibernate.cfg.annotations.PropertyBinder.<init>:()V
            astore 13 /* binder */
        start local 13 // org.hibernate.cfg.annotations.PropertyBinder binder
       112: .line 533
            aload 13 /* binder */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            invokevirtual org.hibernate.cfg.annotations.PropertyBinder.setName:(Ljava/lang/String;)V
       113: .line 534
            aload 13 /* binder */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            invokevirtual org.hibernate.cfg.annotations.PropertyBinder.setValue:(Lorg/hibernate/mapping/Value;)V
       114: .line 535
            aload 13 /* binder */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.cascadeStrategy:Ljava/lang/String;
            invokevirtual org.hibernate.cfg.annotations.PropertyBinder.setCascade:(Ljava/lang/String;)V
       115: .line 536
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.cascadeStrategy:Ljava/lang/String;
            ifnull 117
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.cascadeStrategy:Ljava/lang/String;
            ldc "delete-orphan"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 117
       116: .line 537
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            iconst_1
            invokevirtual org.hibernate.mapping.Collection.setOrphanDelete:(Z)V
       117: .line 539
      StackMap locals: org.hibernate.cfg.annotations.PropertyBinder
      StackMap stack:
            aload 13 /* binder */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            invokevirtual org.hibernate.mapping.Collection.isLazy:()Z
            invokevirtual org.hibernate.cfg.annotations.PropertyBinder.setLazy:(Z)V
       118: .line 540
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/LazyGroup;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.LazyGroup
            astore 14 /* lazyGroupAnnotation */
        start local 14 // org.hibernate.annotations.LazyGroup lazyGroupAnnotation
       119: .line 541
            aload 14 /* lazyGroupAnnotation */
            ifnull 121
       120: .line 542
            aload 13 /* binder */
            aload 14 /* lazyGroupAnnotation */
            invokeinterface org.hibernate.annotations.LazyGroup.value:()Ljava/lang/String;
            invokevirtual org.hibernate.cfg.annotations.PropertyBinder.setLazyGroup:(Ljava/lang/String;)V
       121: .line 544
      StackMap locals: org.hibernate.annotations.LazyGroup
      StackMap stack:
            aload 13 /* binder */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.accessType:Lorg/hibernate/cfg/AccessType;
            invokevirtual org.hibernate.cfg.annotations.PropertyBinder.setAccessType:(Lorg/hibernate/cfg/AccessType;)V
       122: .line 545
            aload 13 /* binder */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            invokevirtual org.hibernate.cfg.annotations.PropertyBinder.setProperty:(Lorg/hibernate/annotations/common/reflection/XProperty;)V
       123: .line 546
            aload 13 /* binder */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.insertable:Z
            invokevirtual org.hibernate.cfg.annotations.PropertyBinder.setInsertable:(Z)V
       124: .line 547
            aload 13 /* binder */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.updatable:Z
            invokevirtual org.hibernate.cfg.annotations.PropertyBinder.setUpdatable:(Z)V
       125: .line 548
            aload 13 /* binder */
            invokevirtual org.hibernate.cfg.annotations.PropertyBinder.makeProperty:()Lorg/hibernate/mapping/Property;
            astore 15 /* prop */
        start local 15 // org.hibernate.mapping.Property prop
       126: .line 550
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.declaringClassSet:Z
            ifne 127
            new org.hibernate.annotations.common.AssertionFailure
            dup
            ldc "DeclaringClass is not set in CollectionBinder while binding"
            invokespecial org.hibernate.annotations.common.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
       127: .line 551
      StackMap locals: org.hibernate.mapping.Property
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            aload 15 /* prop */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.declaringClass:Lorg/hibernate/annotations/common/reflection/XClass;
            invokeinterface org.hibernate.cfg.PropertyHolder.addProperty:(Lorg/hibernate/mapping/Property;Lorg/hibernate/annotations/common/reflection/XClass;)V
       128: .line 552
            return
        end local 15 // org.hibernate.mapping.Property prop
        end local 14 // org.hibernate.annotations.LazyGroup lazyGroupAnnotation
        end local 13 // org.hibernate.cfg.annotations.PropertyBinder binder
        end local 12 // org.hibernate.cfg.SecondPass sp
        end local 11 // org.hibernate.annotations.common.reflection.XClass collectionType
        end local 10 // org.hibernate.annotations.Loader loader
        end local 9 // org.hibernate.annotations.SQLDeleteAll sqlDeleteAll
        end local 8 // org.hibernate.annotations.SQLDelete sqlDelete
        end local 7 // org.hibernate.annotations.SQLUpdate sqlUpdate
        end local 6 // org.hibernate.annotations.SQLInsert sqlInsert
        end local 5 // org.hibernate.annotations.Persister persisterAnn
        end local 4 // boolean includeInOptimisticLockChecks
        end local 3 // org.hibernate.annotations.OptimisticLock lockAnn
        end local 2 // boolean isMappedBy
        end local 1 // java.lang.String role
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0  129     0                           this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            2  129     1                           role  Ljava/lang/String;
           15   21     2                        typeDef  Lorg/hibernate/boot/model/TypeDefinition;
           29  129     2                     isMappedBy  Z
           30  129     3                        lockAnn  Lorg/hibernate/annotations/OptimisticLock;
           36  129     4  includeInOptimisticLockChecks  Z
           38  129     5                   persisterAnn  Lorg/hibernate/annotations/Persister;
           45  129     6                      sqlInsert  Lorg/hibernate/annotations/SQLInsert;
           46  129     7                      sqlUpdate  Lorg/hibernate/annotations/SQLUpdate;
           47  129     8                      sqlDelete  Lorg/hibernate/annotations/SQLDelete;
           48  129     9                   sqlDeleteAll  Lorg/hibernate/annotations/SQLDeleteAll;
           49  129    10                         loader  Lorg/hibernate/annotations/Loader;
           72   74    11                        message  Ljava/lang/String;
           79   81    11                        message  Ljava/lang/String;
           85  129    11                 collectionType  Lorg/hibernate/annotations/common/reflection/XClass;
          101  129    12                             sp  Lorg/hibernate/cfg/SecondPass;
          112  129    13                         binder  Lorg/hibernate/cfg/annotations/PropertyBinder;
          119  129    14            lazyGroupAnnotation  Lorg/hibernate/annotations/LazyGroup;
          126  129    15                           prop  Lorg/hibernate/mapping/Property;

  private void applySortingAndOrdering(org.hibernate.mapping.Collection);
    descriptor: (Lorg/hibernate/mapping/Collection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.mapping.Collection collection
         0: .line 555
            iconst_0
            istore 2 /* hadOrderBy */
        start local 2 // boolean hadOrderBy
         1: .line 556
            iconst_0
            istore 3 /* hadExplicitSort */
        start local 3 // boolean hadExplicitSort
         2: .line 558
            aconst_null
            astore 4 /* comparatorClass */
        start local 4 // java.lang.Class comparatorClass
         3: .line 560
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.jpaOrderBy:Ljavax/persistence/OrderBy;
            ifnonnull 27
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.sqlOrderBy:Lorg/hibernate/annotations/OrderBy;
            ifnonnull 27
         4: .line 561
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.deprecatedSort:Lorg/hibernate/annotations/Sort;
            ifnull 18
         5: .line 562
            getstatic org.hibernate.cfg.annotations.CollectionBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Encountered deprecated @Sort annotation; use @SortNatural or @SortComparator instead."
            invokeinterface org.hibernate.internal.CoreMessageLogger.debug:(Ljava/lang/Object;)V
         6: .line 563
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.naturalSort:Lorg/hibernate/annotations/SortNatural;
            ifnonnull 7
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.comparatorSort:Lorg/hibernate/annotations/SortComparator;
            ifnull 8
         7: .line 564
      StackMap locals: int int java.lang.Class
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.buildIllegalSortCombination:()Lorg/hibernate/AnnotationException;
            athrow
         8: .line 566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.deprecatedSort:Lorg/hibernate/annotations/Sort;
            invokeinterface org.hibernate.annotations.Sort.type:()Lorg/hibernate/annotations/SortType;
            getstatic org.hibernate.annotations.SortType.UNSORTED:Lorg/hibernate/annotations/SortType;
            if_acmpeq 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 3 /* hadExplicitSort */
        11: .line 567
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.deprecatedSort:Lorg/hibernate/annotations/Sort;
            invokeinterface org.hibernate.annotations.Sort.type:()Lorg/hibernate/annotations/SortType;
            getstatic org.hibernate.annotations.SortType.NATURAL:Lorg/hibernate/annotations/SortType;
            if_acmpne 14
        12: .line 568
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.CollectionBinder.isSortedCollection:Z
        13: .line 569
            goto 39
        14: .line 570
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.deprecatedSort:Lorg/hibernate/annotations/Sort;
            invokeinterface org.hibernate.annotations.Sort.type:()Lorg/hibernate/annotations/SortType;
            getstatic org.hibernate.annotations.SortType.COMPARATOR:Lorg/hibernate/annotations/SortType;
            if_acmpne 39
        15: .line 571
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.cfg.annotations.CollectionBinder.isSortedCollection:Z
        16: .line 572
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.deprecatedSort:Lorg/hibernate/annotations/Sort;
            invokeinterface org.hibernate.annotations.Sort.comparator:()Ljava/lang/Class;
            astore 4 /* comparatorClass */
        17: .line 574
            goto 39
        18: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.naturalSort:Lorg/hibernate/annotations/SortNatural;
            ifnull 23
        19: .line 576
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.comparatorSort:Lorg/hibernate/annotations/SortComparator;
            ifnull 21
        20: .line 577
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.buildIllegalSortCombination:()Lorg/hibernate/AnnotationException;
            athrow
        21: .line 579
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* hadExplicitSort */
        22: .line 580
            goto 39
        23: .line 581
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.comparatorSort:Lorg/hibernate/annotations/SortComparator;
            ifnull 39
        24: .line 582
            iconst_1
            istore 3 /* hadExplicitSort */
        25: .line 583
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.comparatorSort:Lorg/hibernate/annotations/SortComparator;
            invokeinterface org.hibernate.annotations.SortComparator.value:()Ljava/lang/Class;
            astore 4 /* comparatorClass */
        26: .line 585
            goto 39
        27: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.jpaOrderBy:Ljavax/persistence/OrderBy;
            ifnull 35
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.sqlOrderBy:Lorg/hibernate/annotations/OrderBy;
            ifnull 35
        28: .line 588
            new org.hibernate.AnnotationException
            dup
        29: .line 590
            ldc "Illegal combination of @%s and @%s on %s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        30: .line 591
            ldc Ljavax/persistence/OrderBy;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        31: .line 592
            ldc Lorg/hibernate/annotations/OrderBy;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        32: .line 593
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.safeCollectionRole:()Ljava/lang/String;
            aastore
        33: .line 589
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        34: .line 588
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 598
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* hadOrderBy */
        36: .line 599
            iconst_0
            istore 3 /* hadExplicitSort */
        37: .line 602
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.sqlOrderBy:Lorg/hibernate/annotations/OrderBy;
            ifnull 39
        38: .line 603
            aload 1 /* collection */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.sqlOrderBy:Lorg/hibernate/annotations/OrderBy;
            invokeinterface org.hibernate.annotations.OrderBy.clause:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Collection.setOrderBy:(Ljava/lang/String;)V
        39: .line 607
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.isSortedCollection:Z
            ifeq 44
        40: .line 608
            iload 3 /* hadExplicitSort */
            ifne 44
            iload 2 /* hadOrderBy */
            ifne 44
        41: .line 609
            new org.hibernate.AnnotationException
            dup
        42: .line 610
            new java.lang.StringBuilder
            dup
            ldc "A sorted collection must define and ordering or sorting : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.safeCollectionRole:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 609
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 615
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.isSortedCollection:Z
            ifne 45
            iload 3 /* hadExplicitSort */
            ifne 45
            iconst_0
            goto 46
      StackMap locals:
      StackMap stack: org.hibernate.mapping.Collection
        45: iconst_1
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection int int java.lang.Class
      StackMap stack: org.hibernate.mapping.Collection int
        46: invokevirtual org.hibernate.mapping.Collection.setSorted:(Z)V
        47: .line 617
            aload 4 /* comparatorClass */
            ifnull 57
        48: .line 619
            aload 1 /* collection */
            aload 4 /* comparatorClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast java.util.Comparator
            invokevirtual org.hibernate.mapping.Collection.setComparator:(Ljava/util/Comparator;)V
        49: .line 620
            goto 57
        50: .line 621
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        51: .line 622
            new org.hibernate.AnnotationException
            dup
        52: .line 624
            ldc "Could not instantiate comparator class [%s] for %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        53: .line 625
            aload 4 /* comparatorClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        54: .line 626
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.safeCollectionRole:()Ljava/lang/String;
            aastore
        55: .line 623
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        56: .line 622
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        57: .line 631
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Class comparatorClass
        end local 3 // boolean hadExplicitSort
        end local 2 // boolean hadOrderBy
        end local 1 // org.hibernate.mapping.Collection collection
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   58     0             this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0   58     1       collection  Lorg/hibernate/mapping/Collection;
            1   58     2       hadOrderBy  Z
            2   58     3  hadExplicitSort  Z
            3   58     4  comparatorClass  Ljava/lang/Class<+Ljava/util/Comparator;>;
      Exception table:
        from    to  target  type
          48    49      50  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      collection  

  private org.hibernate.AnnotationException buildIllegalSortCombination();
    descriptor: ()Lorg/hibernate/AnnotationException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
         0: .line 634
            new org.hibernate.AnnotationException
            dup
         1: .line 636
            ldc "Illegal combination of annotations on %s.  Only one of @%s, @%s and @%s can be used"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 637
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.safeCollectionRole:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         3: .line 638
            ldc Lorg/hibernate/annotations/Sort;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
         4: .line 639
            ldc Lorg/hibernate/annotations/SortNatural;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
         5: .line 640
            ldc Lorg/hibernate/annotations/SortComparator;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
         6: .line 635
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         7: .line 634
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hibernate/cfg/annotations/CollectionBinder;

  private void defineFetchingStrategy();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
         0: .line 646
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/LazyCollection;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.LazyCollection
            astore 1 /* lazy */
        start local 1 // org.hibernate.annotations.LazyCollection lazy
         1: .line 647
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/Fetch;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Fetch
            astore 2 /* fetch */
        start local 2 // org.hibernate.annotations.Fetch fetch
         2: .line 648
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Ljavax/persistence/OneToMany;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.OneToMany
            astore 3 /* oneToMany */
        start local 3 // javax.persistence.OneToMany oneToMany
         3: .line 649
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Ljavax/persistence/ManyToMany;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.ManyToMany
            astore 4 /* manyToMany */
        start local 4 // javax.persistence.ManyToMany manyToMany
         4: .line 650
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Ljavax/persistence/ElementCollection;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.ElementCollection
            astore 5 /* elementCollection */
        start local 5 // javax.persistence.ElementCollection elementCollection
         5: .line 651
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/ManyToAny;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.ManyToAny
            astore 6 /* manyToAny */
        start local 6 // org.hibernate.annotations.ManyToAny manyToAny
         6: .line 653
            aload 3 /* oneToMany */
            ifnull 9
         7: .line 654
            aload 3 /* oneToMany */
            invokeinterface javax.persistence.OneToMany.fetch:()Ljavax/persistence/FetchType;
            astore 7 /* fetchType */
        start local 7 // javax.persistence.FetchType fetchType
         8: .line 655
            goto 21
        end local 7 // javax.persistence.FetchType fetchType
         9: .line 656
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.annotations.LazyCollection org.hibernate.annotations.Fetch javax.persistence.OneToMany javax.persistence.ManyToMany javax.persistence.ElementCollection org.hibernate.annotations.ManyToAny
      StackMap stack:
            aload 4 /* manyToMany */
            ifnull 12
        10: .line 657
            aload 4 /* manyToMany */
            invokeinterface javax.persistence.ManyToMany.fetch:()Ljavax/persistence/FetchType;
            astore 7 /* fetchType */
        start local 7 // javax.persistence.FetchType fetchType
        11: .line 658
            goto 21
        end local 7 // javax.persistence.FetchType fetchType
        12: .line 659
      StackMap locals:
      StackMap stack:
            aload 5 /* elementCollection */
            ifnull 15
        13: .line 660
            aload 5 /* elementCollection */
            invokeinterface javax.persistence.ElementCollection.fetch:()Ljavax/persistence/FetchType;
            astore 7 /* fetchType */
        start local 7 // javax.persistence.FetchType fetchType
        14: .line 661
            goto 21
        end local 7 // javax.persistence.FetchType fetchType
        15: .line 662
      StackMap locals:
      StackMap stack:
            aload 6 /* manyToAny */
            ifnull 18
        16: .line 663
            getstatic javax.persistence.FetchType.LAZY:Ljavax/persistence/FetchType;
            astore 7 /* fetchType */
        start local 7 // javax.persistence.FetchType fetchType
        17: .line 664
            goto 21
        end local 7 // javax.persistence.FetchType fetchType
        18: .line 666
      StackMap locals:
      StackMap stack:
            new org.hibernate.annotations.common.AssertionFailure
            dup
        19: .line 667
            ldc "Define fetch strategy on a property not annotated with @ManyToOne nor @OneToMany nor @CollectionOfElements"
        20: .line 666
            invokespecial org.hibernate.annotations.common.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // javax.persistence.FetchType fetchType
        21: .line 670
      StackMap locals: javax.persistence.FetchType
      StackMap stack:
            aload 1 /* lazy */
            ifnull 29
        22: .line 671
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 1 /* lazy */
            invokeinterface org.hibernate.annotations.LazyCollection.value:()Lorg/hibernate/annotations/LazyCollectionOption;
            getstatic org.hibernate.annotations.LazyCollectionOption.FALSE:Lorg/hibernate/annotations/LazyCollectionOption;
            if_acmpne 23
            iconst_0
            goto 24
      StackMap locals:
      StackMap stack: org.hibernate.mapping.Collection
        23: iconst_1
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.annotations.LazyCollection org.hibernate.annotations.Fetch javax.persistence.OneToMany javax.persistence.ManyToMany javax.persistence.ElementCollection org.hibernate.annotations.ManyToAny javax.persistence.FetchType
      StackMap stack: org.hibernate.mapping.Collection int
        24: invokevirtual org.hibernate.mapping.Collection.setLazy:(Z)V
        25: .line 672
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 1 /* lazy */
            invokeinterface org.hibernate.annotations.LazyCollection.value:()Lorg/hibernate/annotations/LazyCollectionOption;
            getstatic org.hibernate.annotations.LazyCollectionOption.EXTRA:Lorg/hibernate/annotations/LazyCollectionOption;
            if_acmpne 26
            iconst_1
            goto 27
      StackMap locals:
      StackMap stack: org.hibernate.mapping.Collection
        26: iconst_0
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.annotations.LazyCollection org.hibernate.annotations.Fetch javax.persistence.OneToMany javax.persistence.ManyToMany javax.persistence.ElementCollection org.hibernate.annotations.ManyToAny javax.persistence.FetchType
      StackMap stack: org.hibernate.mapping.Collection int
        27: invokevirtual org.hibernate.mapping.Collection.setExtraLazy:(Z)V
        28: .line 673
            goto 33
        29: .line 675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 7 /* fetchType */
            getstatic javax.persistence.FetchType.LAZY:Ljavax/persistence/FetchType;
            if_acmpne 30
            iconst_1
            goto 31
      StackMap locals:
      StackMap stack: org.hibernate.mapping.Collection
        30: iconst_0
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.annotations.LazyCollection org.hibernate.annotations.Fetch javax.persistence.OneToMany javax.persistence.ManyToMany javax.persistence.ElementCollection org.hibernate.annotations.ManyToAny javax.persistence.FetchType
      StackMap stack: org.hibernate.mapping.Collection int
        31: invokevirtual org.hibernate.mapping.Collection.setLazy:(Z)V
        32: .line 676
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            iconst_0
            invokevirtual org.hibernate.mapping.Collection.setExtraLazy:(Z)V
        33: .line 678
      StackMap locals:
      StackMap stack:
            aload 2 /* fetch */
            ifnull 47
        34: .line 679
            aload 2 /* fetch */
            invokeinterface org.hibernate.annotations.Fetch.value:()Lorg/hibernate/annotations/FetchMode;
            getstatic org.hibernate.annotations.FetchMode.JOIN:Lorg/hibernate/annotations/FetchMode;
            if_acmpne 38
        35: .line 680
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            getstatic org.hibernate.FetchMode.JOIN:Lorg/hibernate/FetchMode;
            invokevirtual org.hibernate.mapping.Collection.setFetchMode:(Lorg/hibernate/FetchMode;)V
        36: .line 681
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            iconst_0
            invokevirtual org.hibernate.mapping.Collection.setLazy:(Z)V
        37: .line 682
            goto 48
        38: .line 683
      StackMap locals:
      StackMap stack:
            aload 2 /* fetch */
            invokeinterface org.hibernate.annotations.Fetch.value:()Lorg/hibernate/annotations/FetchMode;
            getstatic org.hibernate.annotations.FetchMode.SELECT:Lorg/hibernate/annotations/FetchMode;
            if_acmpne 41
        39: .line 684
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            getstatic org.hibernate.FetchMode.SELECT:Lorg/hibernate/FetchMode;
            invokevirtual org.hibernate.mapping.Collection.setFetchMode:(Lorg/hibernate/FetchMode;)V
        40: .line 685
            goto 48
        41: .line 686
      StackMap locals:
      StackMap stack:
            aload 2 /* fetch */
            invokeinterface org.hibernate.annotations.Fetch.value:()Lorg/hibernate/annotations/FetchMode;
            getstatic org.hibernate.annotations.FetchMode.SUBSELECT:Lorg/hibernate/annotations/FetchMode;
            if_acmpne 46
        42: .line 687
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            getstatic org.hibernate.FetchMode.SELECT:Lorg/hibernate/FetchMode;
            invokevirtual org.hibernate.mapping.Collection.setFetchMode:(Lorg/hibernate/FetchMode;)V
        43: .line 688
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            iconst_1
            invokevirtual org.hibernate.mapping.Collection.setSubselectLoadable:(Z)V
        44: .line 689
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            iconst_1
            invokevirtual org.hibernate.mapping.PersistentClass.setSubselectLoadableCollections:(Z)V
        45: .line 690
            goto 48
        46: .line 692
      StackMap locals:
      StackMap stack:
            new org.hibernate.annotations.common.AssertionFailure
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown FetchMode: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* fetch */
            invokeinterface org.hibernate.annotations.Fetch.value:()Lorg/hibernate/annotations/FetchMode;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.annotations.common.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 696
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 7 /* fetchType */
            invokestatic org.hibernate.cfg.AnnotationBinder.getFetchMode:(Ljavax/persistence/FetchType;)Lorg/hibernate/FetchMode;
            invokevirtual org.hibernate.mapping.Collection.setFetchMode:(Lorg/hibernate/FetchMode;)V
        48: .line 698
      StackMap locals:
      StackMap stack:
            return
        end local 7 // javax.persistence.FetchType fetchType
        end local 6 // org.hibernate.annotations.ManyToAny manyToAny
        end local 5 // javax.persistence.ElementCollection elementCollection
        end local 4 // javax.persistence.ManyToMany manyToMany
        end local 3 // javax.persistence.OneToMany oneToMany
        end local 2 // org.hibernate.annotations.Fetch fetch
        end local 1 // org.hibernate.annotations.LazyCollection lazy
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   49     0               this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            1   49     1               lazy  Lorg/hibernate/annotations/LazyCollection;
            2   49     2              fetch  Lorg/hibernate/annotations/Fetch;
            3   49     3          oneToMany  Ljavax/persistence/OneToMany;
            4   49     4         manyToMany  Ljavax/persistence/ManyToMany;
            5   49     5  elementCollection  Ljavax/persistence/ElementCollection;
            6   49     6          manyToAny  Lorg/hibernate/annotations/ManyToAny;
            8    9     7          fetchType  Ljavax/persistence/FetchType;
           11   12     7          fetchType  Ljavax/persistence/FetchType;
           14   15     7          fetchType  Ljavax/persistence/FetchType;
           17   18     7          fetchType  Ljavax/persistence/FetchType;
           21   49     7          fetchType  Ljavax/persistence/FetchType;

  private org.hibernate.annotations.common.reflection.XClass getCollectionType();
    descriptor: ()Lorg/hibernate/annotations/common/reflection/XClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
         0: .line 701
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.targetEntity:Lorg/hibernate/annotations/common/reflection/XClass;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.buildingContext:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokestatic org.hibernate.cfg.AnnotationBinder.isDefault:(Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Z
            ifeq 7
         1: .line 702
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collectionType:Lorg/hibernate/annotations/common/reflection/XClass;
            ifnull 3
         2: .line 703
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collectionType:Lorg/hibernate/annotations/common/reflection/XClass;
            areturn
         3: .line 706
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Collection has neither generic type or OneToMany.targetEntity() defined: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 707
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.safeCollectionRole:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 706
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* errorMsg */
        start local 1 // java.lang.String errorMsg
         6: .line 708
            new org.hibernate.AnnotationException
            dup
            aload 1 /* errorMsg */
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String errorMsg
         7: .line 712
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.targetEntity:Lorg/hibernate/annotations/common/reflection/XClass;
            areturn
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            6    7     1  errorMsg  Ljava/lang/String;

  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=16, locals=14, args_size=14
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder 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 730
            new org.hibernate.cfg.annotations.CollectionBinder$1
            dup
            aload 0 /* this */
            aload 13 /* buildingContext */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.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 */
            invokespecial org.hibernate.cfg.annotations.CollectionBinder$1.<init>:(Lorg/hibernate/cfg/annotations/CollectionBinder;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;)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.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            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

  protected boolean bindStarToManySecondPass(java.util.Map, org.hibernate.annotations.common.reflection.XClass, org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.cfg.Ejb3Column[], boolean, org.hibernate.annotations.common.reflection.XProperty, boolean, org.hibernate.cfg.annotations.TableBinder, boolean, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Ljava/util/Map;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;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=15, locals=15, args_size=13
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // java.util.Map persistentClasses
        start local 2 // org.hibernate.annotations.common.reflection.XClass collType
        start local 3 // org.hibernate.cfg.Ejb3JoinColumn[] fkJoinColumns
        start local 4 // org.hibernate.cfg.Ejb3JoinColumn[] keyColumns
        start local 5 // org.hibernate.cfg.Ejb3JoinColumn[] inverseColumns
        start local 6 // org.hibernate.cfg.Ejb3Column[] elementColumns
        start local 7 // boolean isEmbedded
        start local 8 // org.hibernate.annotations.common.reflection.XProperty property
        start local 9 // boolean unique
        start local 10 // org.hibernate.cfg.annotations.TableBinder associationTableBinder
        start local 11 // boolean ignoreNotFound
        start local 12 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 767
            aload 1 /* persistentClasses */
            aload 2 /* 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 13 /* persistentClass */
        start local 13 // org.hibernate.mapping.PersistentClass persistentClass
         1: .line 768
            iconst_0
            istore 14 /* reversePropertyInJoin */
        start local 14 // boolean reversePropertyInJoin
         2: .line 769
            aload 13 /* persistentClass */
            ifnull 19
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.mappedBy:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 19
         3: .line 771
            aload 13 /* persistentClass */
         4: .line 772
            aload 13 /* persistentClass */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.mappedBy:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.getRecursiveProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
         5: .line 771
            invokevirtual org.hibernate.mapping.PersistentClass.getJoinNumber:(Lorg/hibernate/mapping/Property;)I
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: org.hibernate.mapping.PersistentClass int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 14 /* reversePropertyInJoin */
         8: .line 774
            goto 19
         9: .line 775
      StackMap locals:
      StackMap stack: org.hibernate.MappingException
            pop
        10: .line 776
            new org.hibernate.AnnotationException
            dup
        11: .line 777
            new java.lang.StringBuilder
            dup
            ldc "mappedBy reference an unknown target entity property: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 778
            aload 2 /* 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 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.mappedBy:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 779
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 780
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 781
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 782
            aload 8 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 777
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 776
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 786
      StackMap locals:
      StackMap stack:
            aload 13 /* persistentClass */
            ifnull 36
        20: .line 787
            iload 14 /* reversePropertyInJoin */
            ifne 36
        21: .line 788
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.oneToMany:Z
            ifeq 36
        22: .line 789
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.isExplicitAssociationTable:Z
            ifne 36
        23: .line 790
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.joinColumns:[Lorg/hibernate/cfg/Ejb3JoinColumn;
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.isImplicit:()Z
            ifeq 24
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.mappedBy:Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifeq 25
        24: .line 791
      StackMap locals:
      StackMap stack:
            aload 3 /* fkJoinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.isImplicit:()Z
            ifne 36
        25: .line 794
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        26: .line 795
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.getCollection:()Lorg/hibernate/mapping/Collection;
        27: .line 796
            aload 1 /* persistentClasses */
        28: .line 797
            aload 3 /* fkJoinColumns */
        29: .line 798
            aload 2 /* collType */
        30: .line 799
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.cascadeDeleteEnabled:Z
        31: .line 800
            iload 11 /* ignoreNotFound */
        32: .line 801
            aload 12 /* buildingContext */
        33: .line 802
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.inheritanceStatePerClass:Ljava/util/Map;
        34: .line 794
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.bindOneToManySecondPass:(Lorg/hibernate/mapping/Collection;Ljava/util/Map;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/annotations/common/reflection/XClass;ZZLorg/hibernate/boot/spi/MetadataBuildingContext;Ljava/util/Map;)V
        35: .line 804
            iconst_1
            ireturn
        36: .line 808
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        37: .line 809
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
        38: .line 810
            aload 1 /* persistentClasses */
        39: .line 811
            aload 4 /* keyColumns */
        40: .line 812
            aload 5 /* inverseColumns */
        41: .line 813
            aload 6 /* elementColumns */
        42: .line 814
            iload 7 /* isEmbedded */
            aload 2 /* collType */
        43: .line 815
            iload 11 /* ignoreNotFound */
            iload 9 /* unique */
        44: .line 816
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.cascadeDeleteEnabled:Z
        45: .line 817
            aload 10 /* associationTableBinder */
        46: .line 818
            aload 8 /* property */
        47: .line 819
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
        48: .line 820
            aload 12 /* buildingContext */
        49: .line 808
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.bindManyToManySecondPass:(Lorg/hibernate/mapping/Collection;Ljava/util/Map;[Lorg/hibernate/cfg/Ejb3JoinColumn;[Lorg/hibernate/cfg/Ejb3JoinColumn;[Lorg/hibernate/cfg/Ejb3Column;ZLorg/hibernate/annotations/common/reflection/XClass;ZZZLorg/hibernate/cfg/annotations/TableBinder;Lorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
        50: .line 822
            iconst_0
            ireturn
        end local 14 // boolean reversePropertyInJoin
        end local 13 // org.hibernate.mapping.PersistentClass persistentClass
        end local 12 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 11 // boolean ignoreNotFound
        end local 10 // org.hibernate.cfg.annotations.TableBinder associationTableBinder
        end local 9 // boolean unique
        end local 8 // org.hibernate.annotations.common.reflection.XProperty property
        end local 7 // boolean isEmbedded
        end local 6 // org.hibernate.cfg.Ejb3Column[] elementColumns
        end local 5 // org.hibernate.cfg.Ejb3JoinColumn[] inverseColumns
        end local 4 // org.hibernate.cfg.Ejb3JoinColumn[] keyColumns
        end local 3 // org.hibernate.cfg.Ejb3JoinColumn[] fkJoinColumns
        end local 2 // org.hibernate.annotations.common.reflection.XClass collType
        end local 1 // java.util.Map persistentClasses
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   51     0                    this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0   51     1       persistentClasses  Ljava/util/Map;
            0   51     2                collType  Lorg/hibernate/annotations/common/reflection/XClass;
            0   51     3           fkJoinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0   51     4              keyColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0   51     5          inverseColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0   51     6          elementColumns  [Lorg/hibernate/cfg/Ejb3Column;
            0   51     7              isEmbedded  Z
            0   51     8                property  Lorg/hibernate/annotations/common/reflection/XProperty;
            0   51     9                  unique  Z
            0   51    10  associationTableBinder  Lorg/hibernate/cfg/annotations/TableBinder;
            0   51    11          ignoreNotFound  Z
            0   51    12         buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            1   51    13         persistentClass  Lorg/hibernate/mapping/PersistentClass;
            2   51    14   reversePropertyInJoin  Z
      Exception table:
        from    to  target  type
           3     8       9  Class org.hibernate.MappingException
    MethodParameters:
                        Name  Flags
      persistentClasses       
      collType                
      fkJoinColumns           
      keyColumns              
      inverseColumns          
      elementColumns          
      isEmbedded              
      property                
      unique                  
      associationTableBinder  
      ignoreNotFound          
      buildingContext         

  protected void bindOneToManySecondPass(org.hibernate.mapping.Collection, java.util.Map, org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.annotations.common.reflection.XClass, boolean, boolean, org.hibernate.boot.spi.MetadataBuildingContext, java.util.Map<org.hibernate.annotations.common.reflection.XClass, org.hibernate.cfg.InheritanceState>);
    descriptor: (Lorg/hibernate/mapping/Collection;Ljava/util/Map;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/annotations/common/reflection/XClass;ZZLorg/hibernate/boot/spi/MetadataBuildingContext;Ljava/util/Map;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=18, args_size=9
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.mapping.Collection collection
        start local 2 // java.util.Map persistentClasses
        start local 3 // org.hibernate.cfg.Ejb3JoinColumn[] fkJoinColumns
        start local 4 // org.hibernate.annotations.common.reflection.XClass collectionType
        start local 5 // boolean cascadeDeleteEnabled
        start local 6 // boolean ignoreNotFound
        start local 7 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        start local 8 // java.util.Map inheritanceStatePerClass
         0: .line 836
            getstatic org.hibernate.cfg.annotations.CollectionBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            istore 9 /* debugEnabled */
        start local 9 // boolean debugEnabled
         1: .line 837
            iload 9 /* debugEnabled */
            ifeq 3
         2: .line 838
            getstatic org.hibernate.cfg.annotations.CollectionBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Binding a OneToMany: %s.%s through a foreign key"
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getEntityName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 840
      StackMap locals: int
      StackMap stack:
            aload 7 /* buildingContext */
            ifnonnull 7
         4: .line 841
            new org.hibernate.annotations.common.AssertionFailure
            dup
         5: .line 842
            ldc "CollectionSecondPass for oneToMany should not be called with null mappings"
         6: .line 841
            invokespecial org.hibernate.annotations.common.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 845
      StackMap locals:
      StackMap stack:
            new org.hibernate.mapping.OneToMany
            dup
            aload 7 /* buildingContext */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokespecial org.hibernate.mapping.OneToMany.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/PersistentClass;)V
            astore 10 /* oneToMany */
        start local 10 // org.hibernate.mapping.OneToMany oneToMany
         8: .line 846
            aload 1 /* collection */
            aload 10 /* oneToMany */
            invokevirtual org.hibernate.mapping.Collection.setElement:(Lorg/hibernate/mapping/Value;)V
         9: .line 847
            aload 10 /* oneToMany */
            aload 4 /* collectionType */
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.OneToMany.setReferencedEntityName:(Ljava/lang/String;)V
        10: .line 848
            aload 10 /* oneToMany */
            iload 6 /* ignoreNotFound */
            invokevirtual org.hibernate.mapping.OneToMany.setIgnoreNotFound:(Z)V
        11: .line 850
            aload 10 /* oneToMany */
            invokevirtual org.hibernate.mapping.OneToMany.getReferencedEntityName:()Ljava/lang/String;
            astore 11 /* assocClass */
        start local 11 // java.lang.String assocClass
        12: .line 851
            aload 2 /* persistentClasses */
            aload 11 /* assocClass */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            astore 12 /* associatedClass */
        start local 12 // org.hibernate.mapping.PersistentClass associatedClass
        13: .line 852
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.jpaOrderBy:Ljavax/persistence/OrderBy;
            ifnull 20
        14: .line 854
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.jpaOrderBy:Ljavax/persistence/OrderBy;
            invokeinterface javax.persistence.OrderBy.value:()Ljava/lang/String;
        15: .line 855
            aload 12 /* associatedClass */
        16: .line 856
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
        17: .line 853
            invokestatic org.hibernate.cfg.annotations.CollectionBinder.buildOrderByClauseFromHql:(Ljava/lang/String;Lorg/hibernate/mapping/PersistentClass;Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* orderByFragment */
        start local 13 // java.lang.String orderByFragment
        18: .line 858
            aload 13 /* orderByFragment */
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 20
        19: .line 859
            aload 1 /* collection */
            aload 13 /* orderByFragment */
            invokevirtual org.hibernate.mapping.Collection.setOrderBy:(Ljava/lang/String;)V
        end local 13 // java.lang.String orderByFragment
        20: .line 862
      StackMap locals: org.hibernate.mapping.OneToMany java.lang.String org.hibernate.mapping.PersistentClass
      StackMap stack:
            aload 7 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 11 /* assocClass */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getJoins:(Ljava/lang/String;)Ljava/util/Map;
            astore 13 /* joins */
        start local 13 // java.util.Map joins
        21: .line 863
            aload 12 /* associatedClass */
            ifnonnull 27
        22: .line 864
            new org.hibernate.MappingException
            dup
        23: .line 865
            ldc "Association [%s] for entity [%s] references unmapped class [%s]"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        24: .line 866
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getClassName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 11 /* assocClass */
            aastore
        25: .line 865
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        26: .line 864
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 869
      StackMap locals: java.util.Map
      StackMap stack:
            aload 10 /* oneToMany */
            aload 12 /* associatedClass */
            invokevirtual org.hibernate.mapping.OneToMany.setAssociatedClass:(Lorg/hibernate/mapping/PersistentClass;)V
        28: .line 870
            aload 3 /* fkJoinColumns */
            dup
            astore 17
            arraylength
            istore 16
            iconst_0
            istore 15
            goto 34
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.annotations.common.reflection.XClass int int org.hibernate.boot.spi.MetadataBuildingContext java.util.Map int org.hibernate.mapping.OneToMany java.lang.String org.hibernate.mapping.PersistentClass java.util.Map top int int org.hibernate.cfg.Ejb3JoinColumn[]
      StackMap stack:
        29: aload 17
            iload 15
            aaload
            astore 14 /* column */
        start local 14 // org.hibernate.cfg.Ejb3JoinColumn column
        30: .line 871
            aload 14 /* column */
            aload 12 /* associatedClass */
            aload 13 /* joins */
            aload 8 /* inheritanceStatePerClass */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.setPersistentClass:(Lorg/hibernate/mapping/PersistentClass;Ljava/util/Map;Ljava/util/Map;)V
        31: .line 872
            aload 14 /* column */
            aload 13 /* joins */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.setJoins:(Ljava/util/Map;)V
        32: .line 873
            aload 1 /* collection */
            aload 14 /* column */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Collection.setCollectionTable:(Lorg/hibernate/mapping/Table;)V
        end local 14 // org.hibernate.cfg.Ejb3JoinColumn column
        33: .line 870
            iinc 15 1
      StackMap locals:
      StackMap stack:
        34: iload 15
            iload 16
            if_icmplt 29
        35: .line 875
            iload 9 /* debugEnabled */
            ifeq 37
        36: .line 876
            getstatic org.hibernate.cfg.annotations.CollectionBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Mapping collection: %s -> %s"
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getCollectionTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        37: .line 878
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.annotations.common.reflection.XClass int int org.hibernate.boot.spi.MetadataBuildingContext java.util.Map int org.hibernate.mapping.OneToMany java.lang.String org.hibernate.mapping.PersistentClass java.util.Map
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.bindFilters:(Z)V
        38: .line 879
            aload 1 /* collection */
            aconst_null
            aload 3 /* fkJoinColumns */
            iload 5 /* cascadeDeleteEnabled */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            aload 7 /* buildingContext */
            invokestatic org.hibernate.cfg.annotations.CollectionBinder.bindCollectionSecondPass:(Lorg/hibernate/mapping/Collection;Lorg/hibernate/mapping/PersistentClass;[Lorg/hibernate/cfg/Ejb3JoinColumn;ZLorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
        39: .line 880
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.isInverse:()Z
            ifne 51
        40: .line 881
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getKey:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.isNullable:()Z
            ifne 51
        41: .line 883
            aload 10 /* oneToMany */
            invokevirtual org.hibernate.mapping.OneToMany.getReferencedEntityName:()Ljava/lang/String;
            astore 14 /* entityName */
        start local 14 // java.lang.String entityName
        42: .line 884
            aload 7 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 14 /* entityName */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getEntityBinding:(Ljava/lang/String;)Lorg/hibernate/mapping/PersistentClass;
            astore 15 /* referenced */
        start local 15 // org.hibernate.mapping.PersistentClass referenced
        43: .line 885
            new org.hibernate.mapping.Backref
            dup
            invokespecial org.hibernate.mapping.Backref.<init>:()V
            astore 16 /* prop */
        start local 16 // org.hibernate.mapping.Backref prop
        44: .line 886
            aload 16 /* prop */
            new java.lang.StringBuilder
            dup
            bipush 95
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* fkJoinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 3 /* fkJoinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getLogicalColumnName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "Backref"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Backref.setName:(Ljava/lang/String;)V
        45: .line 887
            aload 16 /* prop */
            iconst_0
            invokevirtual org.hibernate.mapping.Backref.setUpdateable:(Z)V
        46: .line 888
            aload 16 /* prop */
            iconst_0
            invokevirtual org.hibernate.mapping.Backref.setSelectable:(Z)V
        47: .line 889
            aload 16 /* prop */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Backref.setCollectionRole:(Ljava/lang/String;)V
        48: .line 890
            aload 16 /* prop */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Backref.setEntityName:(Ljava/lang/String;)V
        49: .line 891
            aload 16 /* prop */
            aload 1 /* collection */
            invokevirtual org.hibernate.mapping.Collection.getKey:()Lorg/hibernate/mapping/KeyValue;
            invokevirtual org.hibernate.mapping.Backref.setValue:(Lorg/hibernate/mapping/Value;)V
        50: .line 892
            aload 15 /* referenced */
            aload 16 /* prop */
            invokevirtual org.hibernate.mapping.PersistentClass.addProperty:(Lorg/hibernate/mapping/Property;)V
        end local 16 // org.hibernate.mapping.Backref prop
        end local 15 // org.hibernate.mapping.PersistentClass referenced
        end local 14 // java.lang.String entityName
        51: .line 894
      StackMap locals:
      StackMap stack:
            return
        end local 13 // java.util.Map joins
        end local 12 // org.hibernate.mapping.PersistentClass associatedClass
        end local 11 // java.lang.String assocClass
        end local 10 // org.hibernate.mapping.OneToMany oneToMany
        end local 9 // boolean debugEnabled
        end local 8 // java.util.Map inheritanceStatePerClass
        end local 7 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 6 // boolean ignoreNotFound
        end local 5 // boolean cascadeDeleteEnabled
        end local 4 // org.hibernate.annotations.common.reflection.XClass collectionType
        end local 3 // org.hibernate.cfg.Ejb3JoinColumn[] fkJoinColumns
        end local 2 // java.util.Map persistentClasses
        end local 1 // org.hibernate.mapping.Collection collection
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   52     0                      this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0   52     1                collection  Lorg/hibernate/mapping/Collection;
            0   52     2         persistentClasses  Ljava/util/Map;
            0   52     3             fkJoinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0   52     4            collectionType  Lorg/hibernate/annotations/common/reflection/XClass;
            0   52     5      cascadeDeleteEnabled  Z
            0   52     6            ignoreNotFound  Z
            0   52     7           buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            0   52     8  inheritanceStatePerClass  Ljava/util/Map<Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/cfg/InheritanceState;>;
            1   52     9              debugEnabled  Z
            8   52    10                 oneToMany  Lorg/hibernate/mapping/OneToMany;
           12   52    11                assocClass  Ljava/lang/String;
           13   52    12           associatedClass  Lorg/hibernate/mapping/PersistentClass;
           18   20    13           orderByFragment  Ljava/lang/String;
           21   52    13                     joins  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/mapping/Join;>;
           30   33    14                    column  Lorg/hibernate/cfg/Ejb3JoinColumn;
           42   51    14                entityName  Ljava/lang/String;
           43   51    15                referenced  Lorg/hibernate/mapping/PersistentClass;
           44   51    16                      prop  Lorg/hibernate/mapping/Backref;
    Signature: (Lorg/hibernate/mapping/Collection;Ljava/util/Map;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/annotations/common/reflection/XClass;ZZLorg/hibernate/boot/spi/MetadataBuildingContext;Ljava/util/Map<Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/cfg/InheritanceState;>;)V
    MethodParameters:
                          Name  Flags
      collection                
      persistentClasses         
      fkJoinColumns             
      collectionType            
      cascadeDeleteEnabled      
      ignoreNotFound            
      buildingContext           
      inheritanceStatePerClass  

  private void bindFilters(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // boolean hasAssociationTable
         0: .line 898
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/Filter;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Filter
            astore 2 /* simpleFilter */
        start local 2 // org.hibernate.annotations.Filter simpleFilter
         1: .line 902
            aload 2 /* simpleFilter */
            ifnull 10
         2: .line 903
            iload 1 /* hasAssociationTable */
            ifeq 7
         3: .line 904
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 2 /* simpleFilter */
            invokeinterface org.hibernate.annotations.Filter.name:()Ljava/lang/String;
            aload 0 /* this */
            aload 2 /* simpleFilter */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.getCondition:(Lorg/hibernate/annotations/Filter;)Ljava/lang/String;
            aload 2 /* simpleFilter */
            invokeinterface org.hibernate.annotations.Filter.deduceAliasInjectionPoints:()Z
         4: .line 905
            aload 2 /* simpleFilter */
            invokeinterface org.hibernate.annotations.Filter.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasTableMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
            aload 2 /* simpleFilter */
            invokeinterface org.hibernate.annotations.Filter.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasEntityMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
         5: .line 904
            invokevirtual org.hibernate.mapping.Collection.addManyToManyFilter:(Ljava/lang/String;Ljava/lang/String;ZLjava/util/Map;Ljava/util/Map;)V
         6: .line 906
            goto 10
         7: .line 908
      StackMap locals: org.hibernate.annotations.Filter
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 2 /* simpleFilter */
            invokeinterface org.hibernate.annotations.Filter.name:()Ljava/lang/String;
            aload 0 /* this */
            aload 2 /* simpleFilter */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.getCondition:(Lorg/hibernate/annotations/Filter;)Ljava/lang/String;
            aload 2 /* simpleFilter */
            invokeinterface org.hibernate.annotations.Filter.deduceAliasInjectionPoints:()Z
         8: .line 909
            aload 2 /* simpleFilter */
            invokeinterface org.hibernate.annotations.Filter.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasTableMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
            aload 2 /* simpleFilter */
            invokeinterface org.hibernate.annotations.Filter.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasEntityMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
         9: .line 908
            invokevirtual org.hibernate.mapping.Collection.addFilter:(Ljava/lang/String;Ljava/lang/String;ZLjava/util/Map;Ljava/util/Map;)V
        10: .line 912
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/Filters;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Filters
            astore 3 /* filters */
        start local 3 // org.hibernate.annotations.Filters filters
        11: .line 913
            aload 3 /* filters */
            ifnull 24
        12: .line 914
            aload 3 /* filters */
            invokeinterface org.hibernate.annotations.Filters.value:()[Lorg/hibernate/annotations/Filter;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 23
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder int org.hibernate.annotations.Filter org.hibernate.annotations.Filters top int int org.hibernate.annotations.Filter[]
      StackMap stack:
        13: aload 7
            iload 5
            aaload
            astore 4 /* filter */
        start local 4 // org.hibernate.annotations.Filter filter
        14: .line 915
            iload 1 /* hasAssociationTable */
            ifeq 19
        15: .line 916
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 4 /* filter */
            invokeinterface org.hibernate.annotations.Filter.name:()Ljava/lang/String;
            aload 0 /* this */
            aload 4 /* filter */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.getCondition:(Lorg/hibernate/annotations/Filter;)Ljava/lang/String;
            aload 4 /* filter */
            invokeinterface org.hibernate.annotations.Filter.deduceAliasInjectionPoints:()Z
        16: .line 917
            aload 4 /* filter */
            invokeinterface org.hibernate.annotations.Filter.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasTableMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
            aload 4 /* filter */
            invokeinterface org.hibernate.annotations.Filter.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasEntityMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
        17: .line 916
            invokevirtual org.hibernate.mapping.Collection.addManyToManyFilter:(Ljava/lang/String;Ljava/lang/String;ZLjava/util/Map;Ljava/util/Map;)V
        18: .line 918
            goto 22
        19: .line 920
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder int org.hibernate.annotations.Filter org.hibernate.annotations.Filters org.hibernate.annotations.Filter int int org.hibernate.annotations.Filter[]
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 4 /* filter */
            invokeinterface org.hibernate.annotations.Filter.name:()Ljava/lang/String;
            aload 0 /* this */
            aload 4 /* filter */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.getCondition:(Lorg/hibernate/annotations/Filter;)Ljava/lang/String;
            aload 4 /* filter */
            invokeinterface org.hibernate.annotations.Filter.deduceAliasInjectionPoints:()Z
        20: .line 921
            aload 4 /* filter */
            invokeinterface org.hibernate.annotations.Filter.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasTableMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
            aload 4 /* filter */
            invokeinterface org.hibernate.annotations.Filter.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasEntityMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
        21: .line 920
            invokevirtual org.hibernate.mapping.Collection.addFilter:(Ljava/lang/String;Ljava/lang/String;ZLjava/util/Map;Ljava/util/Map;)V
        end local 4 // org.hibernate.annotations.Filter filter
        22: .line 914
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder int org.hibernate.annotations.Filter org.hibernate.annotations.Filters top int int org.hibernate.annotations.Filter[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        23: iload 5
            iload 6
            if_icmplt 13
        24: .line 925
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder int org.hibernate.annotations.Filter org.hibernate.annotations.Filters
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/FilterJoinTable;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.FilterJoinTable
            astore 4 /* simpleFilterJoinTable */
        start local 4 // org.hibernate.annotations.FilterJoinTable simpleFilterJoinTable
        25: .line 926
            aload 4 /* simpleFilterJoinTable */
            ifnull 37
        26: .line 927
            iload 1 /* hasAssociationTable */
            ifeq 32
        27: .line 928
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 4 /* simpleFilterJoinTable */
            invokeinterface org.hibernate.annotations.FilterJoinTable.name:()Ljava/lang/String;
            aload 4 /* simpleFilterJoinTable */
            invokeinterface org.hibernate.annotations.FilterJoinTable.condition:()Ljava/lang/String;
        28: .line 929
            aload 4 /* simpleFilterJoinTable */
            invokeinterface org.hibernate.annotations.FilterJoinTable.deduceAliasInjectionPoints:()Z
        29: .line 930
            aload 4 /* simpleFilterJoinTable */
            invokeinterface org.hibernate.annotations.FilterJoinTable.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasTableMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
            aload 4 /* simpleFilterJoinTable */
            invokeinterface org.hibernate.annotations.FilterJoinTable.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasEntityMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
        30: .line 928
            invokevirtual org.hibernate.mapping.Collection.addFilter:(Ljava/lang/String;Ljava/lang/String;ZLjava/util/Map;Ljava/util/Map;)V
        31: .line 931
            goto 37
        32: .line 933
      StackMap locals: org.hibernate.annotations.FilterJoinTable
      StackMap stack:
            new org.hibernate.AnnotationException
            dup
        33: .line 934
            new java.lang.StringBuilder
            dup
            ldc "Illegal use of @FilterJoinTable on an association without join table:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        34: .line 935
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        35: .line 934
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 933
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 939
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/FilterJoinTables;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.FilterJoinTables
            astore 5 /* filterJoinTables */
        start local 5 // org.hibernate.annotations.FilterJoinTables filterJoinTables
        38: .line 940
            aload 5 /* filterJoinTables */
            ifnull 54
        39: .line 941
            aload 5 /* filterJoinTables */
            invokeinterface org.hibernate.annotations.FilterJoinTables.value:()[Lorg/hibernate/annotations/FilterJoinTable;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 53
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder int org.hibernate.annotations.Filter org.hibernate.annotations.Filters org.hibernate.annotations.FilterJoinTable org.hibernate.annotations.FilterJoinTables top int int org.hibernate.annotations.FilterJoinTable[]
      StackMap stack:
        40: aload 9
            iload 7
            aaload
            astore 6 /* filter */
        start local 6 // org.hibernate.annotations.FilterJoinTable filter
        41: .line 942
            iload 1 /* hasAssociationTable */
            ifeq 47
        42: .line 943
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 6 /* filter */
            invokeinterface org.hibernate.annotations.FilterJoinTable.name:()Ljava/lang/String;
            aload 6 /* filter */
            invokeinterface org.hibernate.annotations.FilterJoinTable.condition:()Ljava/lang/String;
        43: .line 944
            aload 6 /* filter */
            invokeinterface org.hibernate.annotations.FilterJoinTable.deduceAliasInjectionPoints:()Z
        44: .line 945
            aload 6 /* filter */
            invokeinterface org.hibernate.annotations.FilterJoinTable.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasTableMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
            aload 6 /* filter */
            invokeinterface org.hibernate.annotations.FilterJoinTable.aliases:()[Lorg/hibernate/annotations/SqlFragmentAlias;
            invokestatic org.hibernate.cfg.BinderHelper.toAliasEntityMap:([Lorg/hibernate/annotations/SqlFragmentAlias;)Ljava/util/Map;
        45: .line 943
            invokevirtual org.hibernate.mapping.Collection.addFilter:(Ljava/lang/String;Ljava/lang/String;ZLjava/util/Map;Ljava/util/Map;)V
        46: .line 946
            goto 52
        47: .line 948
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder int org.hibernate.annotations.Filter org.hibernate.annotations.Filters org.hibernate.annotations.FilterJoinTable org.hibernate.annotations.FilterJoinTables org.hibernate.annotations.FilterJoinTable int int org.hibernate.annotations.FilterJoinTable[]
      StackMap stack:
            new org.hibernate.AnnotationException
            dup
        48: .line 949
            new java.lang.StringBuilder
            dup
            ldc "Illegal use of @FilterJoinTable on an association without join table:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        49: .line 950
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        50: .line 949
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        51: .line 948
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // org.hibernate.annotations.FilterJoinTable filter
        52: .line 941
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder int org.hibernate.annotations.Filter org.hibernate.annotations.Filters org.hibernate.annotations.FilterJoinTable org.hibernate.annotations.FilterJoinTables top int int org.hibernate.annotations.FilterJoinTable[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        53: iload 7
            iload 8
            if_icmplt 40
        54: .line 956
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder int org.hibernate.annotations.Filter org.hibernate.annotations.Filters org.hibernate.annotations.FilterJoinTable org.hibernate.annotations.FilterJoinTables
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* whereBuffer */
        start local 6 // java.lang.StringBuilder whereBuffer
        55: .line 957
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getElementClass:()Lorg/hibernate/annotations/common/reflection/XClass;
            ifnull 61
        56: .line 958
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getElementClass:()Lorg/hibernate/annotations/common/reflection/XClass;
            ldc Lorg/hibernate/annotations/Where;
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Where
            astore 7 /* whereOnClass */
        start local 7 // org.hibernate.annotations.Where whereOnClass
        57: .line 959
            aload 7 /* whereOnClass */
            ifnull 61
        58: .line 960
            aload 7 /* whereOnClass */
            invokeinterface org.hibernate.annotations.Where.clause:()Ljava/lang/String;
            astore 8 /* clause */
        start local 8 // java.lang.String clause
        59: .line 961
            aload 8 /* clause */
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 61
        60: .line 962
            aload 6 /* whereBuffer */
            aload 8 /* clause */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 8 // java.lang.String clause
        end local 7 // org.hibernate.annotations.Where whereOnClass
        61: .line 966
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/Where;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.Where
            astore 7 /* whereOnCollection */
        start local 7 // org.hibernate.annotations.Where whereOnCollection
        62: .line 967
            aload 7 /* whereOnCollection */
            ifnull 70
        63: .line 968
            aload 7 /* whereOnCollection */
            invokeinterface org.hibernate.annotations.Where.clause:()Ljava/lang/String;
            astore 8 /* clause */
        start local 8 // java.lang.String clause
        64: .line 969
            aload 8 /* clause */
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 70
        65: .line 970
            aload 6 /* whereBuffer */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 69
        66: .line 971
            aload 6 /* whereBuffer */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        67: .line 972
            aload 6 /* whereBuffer */
            getstatic org.hibernate.criterion.Junction$Nature.AND:Lorg/hibernate/criterion/Junction$Nature;
            invokevirtual org.hibernate.criterion.Junction$Nature.getOperator:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        68: .line 973
            aload 6 /* whereBuffer */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        69: .line 975
      StackMap locals: org.hibernate.annotations.Where java.lang.String
      StackMap stack:
            aload 6 /* whereBuffer */
            aload 8 /* clause */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 8 // java.lang.String clause
        70: .line 978
      StackMap locals:
      StackMap stack:
            aload 6 /* whereBuffer */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 76
        71: .line 979
            aload 6 /* whereBuffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* whereClause */
        start local 8 // java.lang.String whereClause
        72: .line 980
            iload 1 /* hasAssociationTable */
            ifeq 75
        73: .line 981
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 8 /* whereClause */
            invokevirtual org.hibernate.mapping.Collection.setManyToManyWhere:(Ljava/lang/String;)V
        74: .line 982
            goto 76
        75: .line 984
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 8 /* whereClause */
            invokevirtual org.hibernate.mapping.Collection.setWhere:(Ljava/lang/String;)V
        end local 8 // java.lang.String whereClause
        76: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
            ldc Lorg/hibernate/annotations/WhereJoinTable;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.WhereJoinTable
            astore 8 /* whereJoinTable */
        start local 8 // org.hibernate.annotations.WhereJoinTable whereJoinTable
        77: .line 989
            aload 8 /* whereJoinTable */
            ifnonnull 78
            aconst_null
            goto 79
      StackMap locals: org.hibernate.annotations.WhereJoinTable
      StackMap stack:
        78: aload 8 /* whereJoinTable */
            invokeinterface org.hibernate.annotations.WhereJoinTable.clause:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        79: astore 9 /* whereJoinTableClause */
        start local 9 // java.lang.String whereJoinTableClause
        80: .line 990
            aload 9 /* whereJoinTableClause */
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 89
        81: .line 991
            iload 1 /* hasAssociationTable */
            ifeq 84
        82: .line 992
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.collection:Lorg/hibernate/mapping/Collection;
            aload 9 /* whereJoinTableClause */
            invokevirtual org.hibernate.mapping.Collection.setWhere:(Ljava/lang/String;)V
        83: .line 993
            goto 89
        84: .line 995
      StackMap locals: java.lang.String
      StackMap stack:
            new org.hibernate.AnnotationException
            dup
        85: .line 996
            new java.lang.StringBuilder
            dup
            ldc "Illegal use of @WhereJoinTable on an association without join table:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        86: .line 997
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        87: .line 996
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        88: .line 995
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        89: .line 1010
      StackMap locals:
      StackMap stack:
            return
        end local 9 // java.lang.String whereJoinTableClause
        end local 8 // org.hibernate.annotations.WhereJoinTable whereJoinTable
        end local 7 // org.hibernate.annotations.Where whereOnCollection
        end local 6 // java.lang.StringBuilder whereBuffer
        end local 5 // org.hibernate.annotations.FilterJoinTables filterJoinTables
        end local 4 // org.hibernate.annotations.FilterJoinTable simpleFilterJoinTable
        end local 3 // org.hibernate.annotations.Filters filters
        end local 2 // org.hibernate.annotations.Filter simpleFilter
        end local 1 // boolean hasAssociationTable
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   90     0                   this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0   90     1    hasAssociationTable  Z
            1   90     2           simpleFilter  Lorg/hibernate/annotations/Filter;
           11   90     3                filters  Lorg/hibernate/annotations/Filters;
           14   22     4                 filter  Lorg/hibernate/annotations/Filter;
           25   90     4  simpleFilterJoinTable  Lorg/hibernate/annotations/FilterJoinTable;
           38   90     5       filterJoinTables  Lorg/hibernate/annotations/FilterJoinTables;
           41   52     6                 filter  Lorg/hibernate/annotations/FilterJoinTable;
           55   90     6            whereBuffer  Ljava/lang/StringBuilder;
           57   61     7           whereOnClass  Lorg/hibernate/annotations/Where;
           59   61     8                 clause  Ljava/lang/String;
           62   90     7      whereOnCollection  Lorg/hibernate/annotations/Where;
           64   70     8                 clause  Ljava/lang/String;
           72   76     8            whereClause  Ljava/lang/String;
           77   90     8         whereJoinTable  Lorg/hibernate/annotations/WhereJoinTable;
           80   90     9   whereJoinTableClause  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      hasAssociationTable  

  private java.lang.String getCondition(org.hibernate.annotations.Filter);
    descriptor: (Lorg/hibernate/annotations/Filter;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.annotations.Filter filter
         0: .line 1014
            aload 1 /* filter */
            invokeinterface org.hibernate.annotations.Filter.name:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 1015
            aload 1 /* filter */
            invokeinterface org.hibernate.annotations.Filter.condition:()Ljava/lang/String;
            astore 3 /* cond */
        start local 3 // java.lang.String cond
         2: .line 1016
            aload 0 /* this */
            aload 3 /* cond */
            aload 2 /* name */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.getCondition:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String cond
        end local 2 // java.lang.String name
        end local 1 // org.hibernate.annotations.Filter filter
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    3     1  filter  Lorg/hibernate/annotations/Filter;
            1    3     2    name  Ljava/lang/String;
            2    3     3    cond  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      filter  

  private java.lang.String getCondition(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // java.lang.String cond
        start local 2 // java.lang.String name
         0: .line 1020
            aload 1 /* cond */
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifeq 8
         1: .line 1021
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.buildingContext:Lorg/hibernate/boot/spi/MetadataBuildingContext;
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 2 /* name */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getFilterDefinition:(Ljava/lang/String;)Lorg/hibernate/engine/spi/FilterDefinition;
            invokevirtual org.hibernate.engine.spi.FilterDefinition.getDefaultFilterCondition:()Ljava/lang/String;
            astore 1 /* cond */
         2: .line 1022
            aload 1 /* cond */
            invokestatic org.hibernate.internal.util.StringHelper.isEmpty:(Ljava/lang/String;)Z
            ifeq 8
         3: .line 1023
            new org.hibernate.AnnotationException
            dup
         4: .line 1024
            new java.lang.StringBuilder
            dup
            ldc "no filter condition found for filter "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1025
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 1024
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1023
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1029
      StackMap locals:
      StackMap stack:
            aload 1 /* cond */
            areturn
        end local 2 // java.lang.String name
        end local 1 // java.lang.String cond
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    9     1  cond  Ljava/lang/String;
            0    9     2  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      cond  
      name  

  public void setCache(org.hibernate.annotations.Cache);
    descriptor: (Lorg/hibernate/annotations/Cache;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.annotations.Cache cacheAnn
         0: .line 1033
            aload 1 /* cacheAnn */
            ifnull 6
         1: .line 1034
            aload 0 /* this */
            aload 1 /* cacheAnn */
            invokeinterface org.hibernate.annotations.Cache.region:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifeq 2
            aconst_null
            goto 3
      StackMap locals:
      StackMap stack: org.hibernate.cfg.annotations.CollectionBinder
         2: aload 1 /* cacheAnn */
            invokeinterface org.hibernate.annotations.Cache.region:()Ljava/lang/String;
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.annotations.Cache
      StackMap stack: org.hibernate.cfg.annotations.CollectionBinder java.lang.String
         3: putfield org.hibernate.cfg.annotations.CollectionBinder.cacheRegionName:Ljava/lang/String;
         4: .line 1035
            aload 0 /* this */
            aload 1 /* cacheAnn */
            invokeinterface org.hibernate.annotations.Cache.usage:()Lorg/hibernate/annotations/CacheConcurrencyStrategy;
            invokestatic org.hibernate.cfg.annotations.EntityBinder.getCacheConcurrencyStrategy:(Lorg/hibernate/annotations/CacheConcurrencyStrategy;)Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.CollectionBinder.cacheConcurrencyStrategy:Ljava/lang/String;
         5: .line 1036
            goto 8
         6: .line 1038
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.cfg.annotations.CollectionBinder.cacheConcurrencyStrategy:Ljava/lang/String;
         7: .line 1039
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.cfg.annotations.CollectionBinder.cacheRegionName:Ljava/lang/String;
         8: .line 1041
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hibernate.annotations.Cache cacheAnn
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    9     1  cacheAnn  Lorg/hibernate/annotations/Cache;
    MethodParameters:
          Name  Flags
      cacheAnn  

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

  public void setIndexColumn(org.hibernate.cfg.IndexColumn);
    descriptor: (Lorg/hibernate/cfg/IndexColumn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.cfg.IndexColumn indexColumn
         0: .line 1048
            aload 0 /* this */
            aload 1 /* indexColumn */
            putfield org.hibernate.cfg.annotations.CollectionBinder.indexColumn:Lorg/hibernate/cfg/IndexColumn;
         1: .line 1049
            return
        end local 1 // org.hibernate.cfg.IndexColumn indexColumn
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  indexColumn  Lorg/hibernate/cfg/IndexColumn;
    MethodParameters:
             Name  Flags
      indexColumn  

  public void setMapKey(javax.persistence.MapKey);
    descriptor: (Ljavax/persistence/MapKey;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // javax.persistence.MapKey key
         0: .line 1052
            aload 1 /* key */
            ifnull 2
         1: .line 1053
            aload 0 /* this */
            aload 1 /* key */
            invokeinterface javax.persistence.MapKey.name:()Ljava/lang/String;
            putfield org.hibernate.cfg.annotations.CollectionBinder.mapKeyPropertyName:Ljava/lang/String;
         2: .line 1055
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.persistence.MapKey key
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    3     1   key  Ljavax/persistence/MapKey;
    MethodParameters:
      Name  Flags
      key   

  private static java.lang.String buildOrderByClauseFromHql(java.lang.String, org.hibernate.mapping.PersistentClass, java.lang.String);
    descriptor: (Ljava/lang/String;Lorg/hibernate/mapping/PersistentClass;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.String orderByFragment
        start local 1 // org.hibernate.mapping.PersistentClass associatedClass
        start local 2 // java.lang.String role
         0: .line 1058
            aload 0 /* orderByFragment */
            ifnull 5
         1: .line 1059
            aload 0 /* orderByFragment */
            invokevirtual java.lang.String.length:()I
            ifne 3
         2: .line 1061
            ldc "id asc"
            areturn
         3: .line 1063
      StackMap locals:
      StackMap stack:
            ldc "desc"
            aload 0 /* orderByFragment */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 1064
            ldc "id desc"
            areturn
         5: .line 1067
      StackMap locals:
      StackMap stack:
            aload 0 /* orderByFragment */
            areturn
        end local 2 // java.lang.String role
        end local 1 // org.hibernate.mapping.PersistentClass associatedClass
        end local 0 // java.lang.String orderByFragment
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0  orderByFragment  Ljava/lang/String;
            0    6     1  associatedClass  Lorg/hibernate/mapping/PersistentClass;
            0    6     2             role  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      orderByFragment  
      associatedClass  
      role             

  public static java.lang.String adjustUserSuppliedValueCollectionOrderingFragment(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String orderByFragment
         0: .line 1071
            aload 0 /* orderByFragment */
            ifnull 6
         1: .line 1072
            aload 0 /* orderByFragment */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 0 /* orderByFragment */
         2: .line 1073
            aload 0 /* orderByFragment */
            invokevirtual java.lang.String.length:()I
            ifeq 3
            aload 0 /* orderByFragment */
            ldc "asc"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1080
      StackMap locals:
      StackMap stack:
            ldc "$element$ asc"
            areturn
         4: .line 1082
      StackMap locals:
      StackMap stack:
            aload 0 /* orderByFragment */
            ldc "desc"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 1088
            ldc "$element$ desc"
            areturn
         6: .line 1092
      StackMap locals:
      StackMap stack:
            aload 0 /* orderByFragment */
            areturn
        end local 0 // java.lang.String orderByFragment
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0  orderByFragment  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      orderByFragment  

  private static org.hibernate.mapping.SimpleValue buildCollectionKey(org.hibernate.mapping.Collection, org.hibernate.cfg.Ejb3JoinColumn[], boolean, org.hibernate.annotations.common.reflection.XProperty, org.hibernate.cfg.PropertyHolder, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/mapping/Collection;[Lorg/hibernate/cfg/Ejb3JoinColumn;ZLorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/mapping/SimpleValue;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=16, args_size=6
        start local 0 // org.hibernate.mapping.Collection collValue
        start local 1 // org.hibernate.cfg.Ejb3JoinColumn[] joinColumns
        start local 2 // boolean cascadeDeleteEnabled
        start local 3 // org.hibernate.annotations.common.reflection.XProperty property
        start local 4 // org.hibernate.cfg.PropertyHolder propertyHolder
        start local 5 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 1106
            aload 1 /* joinColumns */
            arraylength
            ifle 12
            aload 1 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getMappedBy:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 12
         1: .line 1107
            aload 1 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getManyToManyOwnerSideEntityName:()Ljava/lang/String;
            ifnull 3
         2: .line 1108
            new java.lang.StringBuilder
            dup
            ldc "inverse__"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getManyToManyOwnerSideEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 4
         3: .line 1109
      StackMap locals:
      StackMap stack:
            aload 1 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyHolder:()Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getEntityName:()Ljava/lang/String;
         4: .line 1107
      StackMap locals:
      StackMap stack: java.lang.String
            astore 7 /* entityName */
        start local 7 // java.lang.String entityName
         5: .line 1110
            aload 5 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
         6: .line 1111
            aload 7 /* entityName */
         7: .line 1112
            aload 1 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getMappedBy:()Ljava/lang/String;
         8: .line 1110
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getPropertyReferencedAssociation:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* propRef */
        start local 8 // java.lang.String propRef
         9: .line 1114
            aload 8 /* propRef */
            ifnull 12
        10: .line 1115
            aload 0 /* collValue */
            aload 8 /* propRef */
            invokevirtual org.hibernate.mapping.Collection.setReferencedPropertyName:(Ljava/lang/String;)V
        11: .line 1116
            aload 5 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            aload 8 /* propRef */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addPropertyReference:(Ljava/lang/String;Ljava/lang/String;)V
        end local 8 // java.lang.String propRef
        end local 7 // java.lang.String entityName
        12: .line 1119
      StackMap locals:
      StackMap stack:
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getReferencedPropertyName:()Ljava/lang/String;
            astore 7 /* propRef */
        start local 7 // java.lang.String propRef
        13: .line 1120
            aload 7 /* propRef */
            ifnonnull 16
        14: .line 1121
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
            astore 6 /* keyVal */
        start local 6 // org.hibernate.mapping.KeyValue keyVal
        15: .line 1122
            goto 20
        end local 6 // org.hibernate.mapping.KeyValue keyVal
        16: .line 1124
      StackMap locals: org.hibernate.mapping.Collection org.hibernate.cfg.Ejb3JoinColumn[] int org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext top java.lang.String
      StackMap stack:
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
        17: .line 1125
            aload 7 /* propRef */
            invokevirtual org.hibernate.mapping.PersistentClass.getReferencedProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
        18: .line 1126
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
        19: .line 1124
            checkcast org.hibernate.mapping.KeyValue
            astore 6 /* keyVal */
        start local 6 // org.hibernate.mapping.KeyValue keyVal
        20: .line 1128
      StackMap locals: org.hibernate.mapping.Collection org.hibernate.cfg.Ejb3JoinColumn[] int org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.KeyValue java.lang.String
      StackMap stack:
            new org.hibernate.mapping.DependantValue
            dup
            aload 5 /* buildingContext */
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getCollectionTable:()Lorg/hibernate/mapping/Table;
            aload 6 /* keyVal */
            invokespecial org.hibernate.mapping.DependantValue.<init>:(Lorg/hibernate/boot/spi/MetadataBuildingContext;Lorg/hibernate/mapping/Table;Lorg/hibernate/mapping/KeyValue;)V
            astore 8 /* key */
        start local 8 // org.hibernate.mapping.DependantValue key
        21: .line 1129
            aload 8 /* key */
            aconst_null
            invokevirtual org.hibernate.mapping.DependantValue.setTypeName:(Ljava/lang/String;)V
        22: .line 1130
            aload 1 /* joinColumns */
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.Ejb3Column.checkPropertyConsistency:([Lorg/hibernate/cfg/Ejb3Column;Ljava/lang/String;)V
        23: .line 1131
            aload 8 /* key */
            aload 1 /* joinColumns */
            arraylength
            ifeq 24
            aload 1 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.isNullable:()Z
            ifne 24
            iconst_0
            goto 25
      StackMap locals: org.hibernate.mapping.Collection org.hibernate.cfg.Ejb3JoinColumn[] int org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.KeyValue java.lang.String org.hibernate.mapping.DependantValue
      StackMap stack: org.hibernate.mapping.DependantValue
        24: iconst_1
      StackMap locals: org.hibernate.mapping.Collection org.hibernate.cfg.Ejb3JoinColumn[] int org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.KeyValue java.lang.String org.hibernate.mapping.DependantValue
      StackMap stack: org.hibernate.mapping.DependantValue int
        25: invokevirtual org.hibernate.mapping.DependantValue.setNullable:(Z)V
        26: .line 1132
            aload 8 /* key */
            aload 1 /* joinColumns */
            arraylength
            ifeq 27
            aload 1 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.isUpdatable:()Z
            ifne 27
            iconst_0
            goto 28
      StackMap locals:
      StackMap stack: org.hibernate.mapping.DependantValue
        27: iconst_1
      StackMap locals: org.hibernate.mapping.Collection org.hibernate.cfg.Ejb3JoinColumn[] int org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.KeyValue java.lang.String org.hibernate.mapping.DependantValue
      StackMap stack: org.hibernate.mapping.DependantValue int
        28: invokevirtual org.hibernate.mapping.DependantValue.setUpdateable:(Z)V
        29: .line 1133
            aload 8 /* key */
            iload 2 /* cascadeDeleteEnabled */
            invokevirtual org.hibernate.mapping.DependantValue.setCascadeDeleteEnabled:(Z)V
        30: .line 1134
            aload 0 /* collValue */
            aload 8 /* key */
            invokevirtual org.hibernate.mapping.Collection.setKey:(Lorg/hibernate/mapping/KeyValue;)V
        31: .line 1135
            aload 3 /* property */
            ifnull 85
        32: .line 1136
            aload 3 /* property */
            ldc Lorg/hibernate/annotations/ForeignKey;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.ForeignKey
            astore 9 /* fk */
        start local 9 // org.hibernate.annotations.ForeignKey fk
        33: .line 1137
            aload 9 /* fk */
            ifnull 36
            aload 9 /* fk */
            invokeinterface org.hibernate.annotations.ForeignKey.name:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifne 36
        34: .line 1138
            aload 8 /* key */
            aload 9 /* fk */
            invokeinterface org.hibernate.annotations.ForeignKey.name:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyName:(Ljava/lang/String;)V
        35: .line 1139
            goto 85
        36: .line 1141
      StackMap locals: org.hibernate.annotations.ForeignKey
      StackMap stack:
            aload 3 /* property */
            ldc Ljavax/persistence/CollectionTable;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.CollectionTable
            astore 10 /* collectionTableAnn */
        start local 10 // javax.persistence.CollectionTable collectionTableAnn
        37: .line 1142
            aload 10 /* collectionTableAnn */
            ifnull 50
        38: .line 1143
            aload 10 /* collectionTableAnn */
            invokeinterface javax.persistence.CollectionTable.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.value:()Ljavax/persistence/ConstraintMode;
            getstatic javax.persistence.ConstraintMode.NO_CONSTRAINT:Ljavax/persistence/ConstraintMode;
            if_acmpne 41
        39: .line 1144
            aload 8 /* key */
            ldc "none"
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyName:(Ljava/lang/String;)V
        40: .line 1145
            goto 85
        41: .line 1147
      StackMap locals: javax.persistence.CollectionTable
      StackMap stack:
            aload 8 /* key */
            aload 10 /* collectionTableAnn */
            invokeinterface javax.persistence.CollectionTable.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.name:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyName:(Ljava/lang/String;)V
        42: .line 1148
            aload 8 /* key */
            aload 10 /* collectionTableAnn */
            invokeinterface javax.persistence.CollectionTable.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.foreignKeyDefinition:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyDefinition:(Ljava/lang/String;)V
        43: .line 1149
            aload 8 /* key */
            invokevirtual org.hibernate.mapping.DependantValue.getForeignKeyName:()Ljava/lang/String;
            ifnonnull 85
        44: .line 1150
            aload 8 /* key */
            invokevirtual org.hibernate.mapping.DependantValue.getForeignKeyDefinition:()Ljava/lang/String;
            ifnonnull 85
        45: .line 1151
            aload 10 /* collectionTableAnn */
            invokeinterface javax.persistence.CollectionTable.joinColumns:()[Ljavax/persistence/JoinColumn;
            arraylength
            iconst_1
            if_icmpne 85
        46: .line 1152
            aload 10 /* collectionTableAnn */
            invokeinterface javax.persistence.CollectionTable.joinColumns:()[Ljavax/persistence/JoinColumn;
            iconst_0
            aaload
            astore 11 /* joinColumn */
        start local 11 // javax.persistence.JoinColumn joinColumn
        47: .line 1153
            aload 8 /* key */
            aload 11 /* joinColumn */
            invokeinterface javax.persistence.JoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.name:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyName:(Ljava/lang/String;)V
        48: .line 1154
            aload 8 /* key */
            aload 11 /* joinColumn */
            invokeinterface javax.persistence.JoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.foreignKeyDefinition:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyDefinition:(Ljava/lang/String;)V
        end local 11 // javax.persistence.JoinColumn joinColumn
        49: .line 1157
            goto 85
        50: .line 1159
      StackMap locals:
      StackMap stack:
            aload 3 /* property */
            ldc Ljavax/persistence/JoinTable;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.JoinTable
            astore 11 /* joinTableAnn */
        start local 11 // javax.persistence.JoinTable joinTableAnn
        51: .line 1160
            aload 11 /* joinTableAnn */
            ifnull 68
        52: .line 1161
            aload 11 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.name:()Ljava/lang/String;
            astore 12 /* foreignKeyName */
        start local 12 // java.lang.String foreignKeyName
        53: .line 1162
            aload 11 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.foreignKeyDefinition:()Ljava/lang/String;
            astore 13 /* foreignKeyDefinition */
        start local 13 // java.lang.String foreignKeyDefinition
        54: .line 1163
            aload 11 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.value:()Ljavax/persistence/ConstraintMode;
            astore 14 /* foreignKeyValue */
        start local 14 // javax.persistence.ConstraintMode foreignKeyValue
        55: .line 1164
            aload 11 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.joinColumns:()[Ljavax/persistence/JoinColumn;
            arraylength
            ifeq 62
        56: .line 1165
            aload 11 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.joinColumns:()[Ljavax/persistence/JoinColumn;
            iconst_0
            aaload
            astore 15 /* joinColumnAnn */
        start local 15 // javax.persistence.JoinColumn joinColumnAnn
        57: .line 1166
            ldc ""
            aload 12 /* foreignKeyName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 60
        58: .line 1167
            aload 15 /* joinColumnAnn */
            invokeinterface javax.persistence.JoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.name:()Ljava/lang/String;
            astore 12 /* foreignKeyName */
        59: .line 1168
            aload 15 /* joinColumnAnn */
            invokeinterface javax.persistence.JoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.foreignKeyDefinition:()Ljava/lang/String;
            astore 13 /* foreignKeyDefinition */
        60: .line 1170
      StackMap locals: org.hibernate.mapping.Collection org.hibernate.cfg.Ejb3JoinColumn[] int org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.KeyValue java.lang.String org.hibernate.mapping.DependantValue org.hibernate.annotations.ForeignKey javax.persistence.CollectionTable javax.persistence.JoinTable java.lang.String java.lang.String javax.persistence.ConstraintMode javax.persistence.JoinColumn
      StackMap stack:
            aload 14 /* foreignKeyValue */
            getstatic javax.persistence.ConstraintMode.NO_CONSTRAINT:Ljavax/persistence/ConstraintMode;
            if_acmpeq 62
        61: .line 1171
            aload 15 /* joinColumnAnn */
            invokeinterface javax.persistence.JoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.value:()Ljavax/persistence/ConstraintMode;
            astore 14 /* foreignKeyValue */
        end local 15 // javax.persistence.JoinColumn joinColumnAnn
        62: .line 1174
      StackMap locals:
      StackMap stack:
            aload 14 /* foreignKeyValue */
            getstatic javax.persistence.ConstraintMode.NO_CONSTRAINT:Ljavax/persistence/ConstraintMode;
            if_acmpne 65
        63: .line 1175
            aload 8 /* key */
            ldc "none"
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyName:(Ljava/lang/String;)V
        64: .line 1176
            goto 85
        65: .line 1178
      StackMap locals:
      StackMap stack:
            aload 8 /* key */
            aload 12 /* foreignKeyName */
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyName:(Ljava/lang/String;)V
        66: .line 1179
            aload 8 /* key */
            aload 13 /* foreignKeyDefinition */
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyDefinition:(Ljava/lang/String;)V
        end local 14 // javax.persistence.ConstraintMode foreignKeyValue
        end local 13 // java.lang.String foreignKeyDefinition
        end local 12 // java.lang.String foreignKeyName
        67: .line 1181
            goto 85
        68: .line 1183
      StackMap locals:
      StackMap stack:
            aload 4 /* propertyHolder */
        69: .line 1184
            aload 4 /* propertyHolder */
            invokeinterface org.hibernate.cfg.PropertyHolder.getPath:()Ljava/lang/String;
            aload 3 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        70: .line 1183
            invokeinterface org.hibernate.cfg.PropertyHolder.getOverriddenForeignKey:(Ljava/lang/String;)Ljavax/persistence/ForeignKey;
            astore 12 /* fkOverride */
        start local 12 // javax.persistence.ForeignKey fkOverride
        71: .line 1186
            aload 12 /* fkOverride */
            ifnull 74
            aload 12 /* fkOverride */
            invokeinterface javax.persistence.ForeignKey.value:()Ljavax/persistence/ConstraintMode;
            getstatic javax.persistence.ConstraintMode.NO_CONSTRAINT:Ljavax/persistence/ConstraintMode;
            if_acmpne 74
        72: .line 1187
            aload 8 /* key */
            ldc "none"
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyName:(Ljava/lang/String;)V
        73: .line 1188
            goto 85
        74: .line 1189
      StackMap locals: javax.persistence.ForeignKey
      StackMap stack:
            aload 12 /* fkOverride */
            ifnull 78
        75: .line 1190
            aload 8 /* key */
            aload 12 /* fkOverride */
            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.DependantValue.setForeignKeyName:(Ljava/lang/String;)V
        76: .line 1191
            aload 8 /* key */
            aload 12 /* fkOverride */
            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.DependantValue.setForeignKeyDefinition:(Ljava/lang/String;)V
        77: .line 1192
            goto 85
        78: .line 1194
      StackMap locals:
      StackMap stack:
            aload 3 /* property */
            ldc Ljavax/persistence/JoinColumn;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.JoinColumn
            astore 13 /* joinColumnAnn */
        start local 13 // javax.persistence.JoinColumn joinColumnAnn
        79: .line 1195
            aload 13 /* joinColumnAnn */
            ifnull 85
        80: .line 1196
            aload 13 /* joinColumnAnn */
            invokeinterface javax.persistence.JoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.value:()Ljavax/persistence/ConstraintMode;
            getstatic javax.persistence.ConstraintMode.NO_CONSTRAINT:Ljavax/persistence/ConstraintMode;
            if_acmpne 83
        81: .line 1197
            aload 8 /* key */
            ldc "none"
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyName:(Ljava/lang/String;)V
        82: .line 1198
            goto 85
        83: .line 1200
      StackMap locals: javax.persistence.JoinColumn
      StackMap stack:
            aload 8 /* key */
            aload 13 /* joinColumnAnn */
            invokeinterface javax.persistence.JoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.name:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyName:(Ljava/lang/String;)V
        84: .line 1201
            aload 8 /* key */
            aload 13 /* joinColumnAnn */
            invokeinterface javax.persistence.JoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.foreignKeyDefinition:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.DependantValue.setForeignKeyDefinition:(Ljava/lang/String;)V
        end local 13 // javax.persistence.JoinColumn joinColumnAnn
        end local 12 // javax.persistence.ForeignKey fkOverride
        end local 11 // javax.persistence.JoinTable joinTableAnn
        end local 10 // javax.persistence.CollectionTable collectionTableAnn
        end local 9 // org.hibernate.annotations.ForeignKey fk
        85: .line 1210
      StackMap locals: org.hibernate.mapping.Collection org.hibernate.cfg.Ejb3JoinColumn[] int org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.KeyValue java.lang.String org.hibernate.mapping.DependantValue
      StackMap stack:
            aload 8 /* key */
            areturn
        end local 8 // org.hibernate.mapping.DependantValue key
        end local 7 // java.lang.String propRef
        end local 6 // org.hibernate.mapping.KeyValue keyVal
        end local 5 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 4 // org.hibernate.cfg.PropertyHolder propertyHolder
        end local 3 // org.hibernate.annotations.common.reflection.XProperty property
        end local 2 // boolean cascadeDeleteEnabled
        end local 1 // org.hibernate.cfg.Ejb3JoinColumn[] joinColumns
        end local 0 // org.hibernate.mapping.Collection collValue
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   86     0             collValue  Lorg/hibernate/mapping/Collection;
            0   86     1           joinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0   86     2  cascadeDeleteEnabled  Z
            0   86     3              property  Lorg/hibernate/annotations/common/reflection/XProperty;
            0   86     4        propertyHolder  Lorg/hibernate/cfg/PropertyHolder;
            0   86     5       buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
           15   16     6                keyVal  Lorg/hibernate/mapping/KeyValue;
           20   86     6                keyVal  Lorg/hibernate/mapping/KeyValue;
            5   12     7            entityName  Ljava/lang/String;
            9   12     8               propRef  Ljava/lang/String;
           13   86     7               propRef  Ljava/lang/String;
           21   86     8                   key  Lorg/hibernate/mapping/DependantValue;
           33   85     9                    fk  Lorg/hibernate/annotations/ForeignKey;
           37   85    10    collectionTableAnn  Ljavax/persistence/CollectionTable;
           47   49    11            joinColumn  Ljavax/persistence/JoinColumn;
           51   85    11          joinTableAnn  Ljavax/persistence/JoinTable;
           53   67    12        foreignKeyName  Ljava/lang/String;
           54   67    13  foreignKeyDefinition  Ljava/lang/String;
           55   67    14       foreignKeyValue  Ljavax/persistence/ConstraintMode;
           57   62    15         joinColumnAnn  Ljavax/persistence/JoinColumn;
           71   85    12            fkOverride  Ljavax/persistence/ForeignKey;
           79   85    13         joinColumnAnn  Ljavax/persistence/JoinColumn;
    MethodParameters:
                      Name  Flags
      collValue             
      joinColumns           
      cascadeDeleteEnabled  
      property              
      propertyHolder        
      buildingContext       

  private void bindManyToManySecondPass(org.hibernate.mapping.Collection, java.util.Map, org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.cfg.Ejb3Column[], boolean, org.hibernate.annotations.common.reflection.XClass, boolean, boolean, boolean, org.hibernate.cfg.annotations.TableBinder, org.hibernate.annotations.common.reflection.XProperty, org.hibernate.cfg.PropertyHolder, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/mapping/Collection;Ljava/util/Map;[Lorg/hibernate/cfg/Ejb3JoinColumn;[Lorg/hibernate/cfg/Ejb3JoinColumn;[Lorg/hibernate/cfg/Ejb3Column;ZLorg/hibernate/annotations/common/reflection/XClass;ZZZLorg/hibernate/cfg/annotations/TableBinder;Lorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=31, args_size=15
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.mapping.Collection collValue
        start local 2 // java.util.Map persistentClasses
        start local 3 // org.hibernate.cfg.Ejb3JoinColumn[] joinColumns
        start local 4 // org.hibernate.cfg.Ejb3JoinColumn[] inverseJoinColumns
        start local 5 // org.hibernate.cfg.Ejb3Column[] elementColumns
        start local 6 // boolean isEmbedded
        start local 7 // org.hibernate.annotations.common.reflection.XClass collType
        start local 8 // boolean ignoreNotFound
        start local 9 // boolean unique
        start local 10 // boolean cascadeDeleteEnabled
        start local 11 // org.hibernate.cfg.annotations.TableBinder associationTableBinder
        start local 12 // org.hibernate.annotations.common.reflection.XProperty property
        start local 13 // org.hibernate.cfg.PropertyHolder parentPropertyHolder
        start local 14 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 1227
            aload 12 /* property */
            ifnonnull 2
         1: .line 1228
            new java.lang.IllegalArgumentException
            dup
            ldc "null was passed for argument property"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1231
      StackMap locals:
      StackMap stack:
            aload 2 /* persistentClasses */
            aload 7 /* 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 15 /* collectionEntity */
        start local 15 // org.hibernate.mapping.PersistentClass collectionEntity
         3: .line 1232
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.jpaOrderBy:Ljavax/persistence/OrderBy;
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.extractHqlOrderBy:(Ljavax/persistence/OrderBy;)Ljava/lang/String;
            astore 16 /* hqlOrderBy */
        start local 16 // java.lang.String hqlOrderBy
         4: .line 1234
            aload 15 /* collectionEntity */
            ifnull 5
            iconst_1
            goto 6
      StackMap locals: org.hibernate.mapping.PersistentClass java.lang.String
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 17 /* isCollectionOfEntities */
        start local 17 // boolean isCollectionOfEntities
         7: .line 1235
            aload 12 /* property */
            ldc Lorg/hibernate/annotations/ManyToAny;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.ManyToAny
            astore 18 /* anyAnn */
        start local 18 // org.hibernate.annotations.ManyToAny anyAnn
         8: .line 1236
            getstatic org.hibernate.cfg.annotations.CollectionBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isDebugEnabled:()Z
            ifeq 20
         9: .line 1237
            new java.lang.StringBuilder
            dup
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 19 /* path */
        start local 19 // java.lang.String path
        10: .line 1238
            iload 17 /* isCollectionOfEntities */
            ifeq 13
            iload 9 /* unique */
            ifeq 13
        11: .line 1239
            getstatic org.hibernate.cfg.annotations.CollectionBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Binding a OneToMany: %s through an association table"
            aload 19 /* path */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 1240
            goto 20
        13: .line 1241
      StackMap locals: int org.hibernate.annotations.ManyToAny java.lang.String
      StackMap stack:
            iload 17 /* isCollectionOfEntities */
            ifeq 16
        14: .line 1242
            getstatic org.hibernate.cfg.annotations.CollectionBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Binding as ManyToMany: %s"
            aload 19 /* path */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 1243
            goto 20
        16: .line 1244
      StackMap locals:
      StackMap stack:
            aload 18 /* anyAnn */
            ifnull 19
        17: .line 1245
            getstatic org.hibernate.cfg.annotations.CollectionBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Binding a ManyToAny: %s"
            aload 19 /* path */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 1246
            goto 20
        19: .line 1248
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.cfg.annotations.CollectionBinder.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Binding a collection of element: %s"
            aload 19 /* path */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 19 // java.lang.String path
        20: .line 1252
      StackMap locals:
      StackMap stack:
            iload 17 /* isCollectionOfEntities */
            ifne 38
        21: .line 1253
            aload 12 /* property */
            ldc Ljavax/persistence/ManyToMany;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 22
            aload 12 /* property */
            ldc Ljavax/persistence/OneToMany;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 26
        22: .line 1254
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 19 /* path */
        start local 19 // java.lang.String path
        23: .line 1255
            new org.hibernate.AnnotationException
            dup
        24: .line 1256
            new java.lang.StringBuilder
            dup
            ldc "Use of @OneToMany or @ManyToMany targeting an unmapped class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* collType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 1255
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 19 // java.lang.String path
        26: .line 1259
      StackMap locals:
      StackMap stack:
            aload 18 /* anyAnn */
            ifnull 32
        27: .line 1260
            aload 13 /* parentPropertyHolder */
            aload 12 /* property */
            invokeinterface org.hibernate.cfg.PropertyHolder.getJoinTable:(Lorg/hibernate/annotations/common/reflection/XProperty;)Ljavax/persistence/JoinTable;
            ifnonnull 38
        28: .line 1261
            new java.lang.StringBuilder
            dup
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 19 /* path */
        start local 19 // java.lang.String path
        29: .line 1262
            new org.hibernate.AnnotationException
            dup
        30: .line 1263
            new java.lang.StringBuilder
            dup
            ldc "@JoinTable is mandatory when @ManyToAny is used: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 1262
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 19 // java.lang.String path
        32: .line 1268
      StackMap locals:
      StackMap stack:
            aload 13 /* parentPropertyHolder */
            aload 12 /* property */
            invokeinterface org.hibernate.cfg.PropertyHolder.getJoinTable:(Lorg/hibernate/annotations/common/reflection/XProperty;)Ljavax/persistence/JoinTable;
            astore 19 /* joinTableAnn */
        start local 19 // javax.persistence.JoinTable joinTableAnn
        33: .line 1269
            aload 19 /* joinTableAnn */
            ifnull 38
            aload 19 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.inverseJoinColumns:()[Ljavax/persistence/JoinColumn;
            arraylength
            ifle 38
        34: .line 1270
            new java.lang.StringBuilder
            dup
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 20 /* path */
        start local 20 // java.lang.String path
        35: .line 1271
            new org.hibernate.AnnotationException
            dup
        36: .line 1272
            new java.lang.StringBuilder
            dup
            ldc "Use of @JoinTable.inverseJoinColumns targeting an unmapped class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 20 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* collType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        37: .line 1271
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 20 // java.lang.String path
        end local 19 // javax.persistence.JoinTable joinTableAnn
        38: .line 1278
      StackMap locals:
      StackMap stack:
            aload 3 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getMappedBy:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifeq 39
            iconst_0
            goto 40
      StackMap locals:
      StackMap stack:
        39: iconst_1
      StackMap locals:
      StackMap stack: int
        40: istore 19 /* mappedBy */
        start local 19 // boolean mappedBy
        41: .line 1279
            iload 19 /* mappedBy */
            ifeq 71
        42: .line 1280
            iload 17 /* isCollectionOfEntities */
            ifne 50
        43: .line 1281
            new org.hibernate.AnnotationException
            dup
        44: .line 1282
            new java.lang.StringBuilder
            dup
            ldc "Collection of elements must not have mappedBy or association reference an unmapped entity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        45: .line 1283
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 1284
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        47: .line 1285
            aload 3 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        48: .line 1282
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        49: .line 1281
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 1290
      StackMap locals: int
      StackMap stack:
            aload 15 /* collectionEntity */
            aload 3 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getMappedBy:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PersistentClass.getRecursiveProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 20 /* otherSideProperty */
        start local 20 // org.hibernate.mapping.Property otherSideProperty
        51: .line 1291
            goto 59
        end local 20 // org.hibernate.mapping.Property otherSideProperty
        52: .line 1292
      StackMap locals:
      StackMap stack: org.hibernate.MappingException
            pop
        53: .line 1293
            new org.hibernate.AnnotationException
            dup
        54: .line 1294
            new java.lang.StringBuilder
            dup
            ldc "mappedBy reference an unknown target entity property: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        55: .line 1295
            aload 7 /* 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 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getMappedBy:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        56: .line 1296
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        57: .line 1294
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        58: .line 1293
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;)V
            athrow
        start local 20 // org.hibernate.mapping.Property otherSideProperty
        59: .line 1300
      StackMap locals: org.hibernate.mapping.Property
      StackMap stack:
            aload 20 /* otherSideProperty */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.Collection
            ifeq 62
        60: .line 1302
            aload 20 /* otherSideProperty */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Collection
            invokevirtual org.hibernate.mapping.Collection.getCollectionTable:()Lorg/hibernate/mapping/Table;
            astore 21 /* table */
        start local 21 // org.hibernate.mapping.Table table
        61: .line 1303
            goto 63
        end local 21 // org.hibernate.mapping.Table table
        62: .line 1306
      StackMap locals:
      StackMap stack:
            aload 20 /* otherSideProperty */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getTable:()Lorg/hibernate/mapping/Table;
            astore 21 /* table */
        start local 21 // org.hibernate.mapping.Table table
        63: .line 1308
      StackMap locals: org.hibernate.mapping.Table
      StackMap stack:
            aload 1 /* collValue */
            aload 21 /* table */
            invokevirtual org.hibernate.mapping.Collection.setCollectionTable:(Lorg/hibernate/mapping/Table;)V
        64: .line 1309
            aload 15 /* collectionEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            astore 22 /* entityName */
        start local 22 // java.lang.String entityName
        65: .line 1310
            aload 3 /* joinColumns */
            dup
            astore 26
            arraylength
            istore 25
            iconst_0
            istore 24
            goto 69
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int org.hibernate.mapping.Property org.hibernate.mapping.Table java.lang.String top int int org.hibernate.cfg.Ejb3JoinColumn[]
      StackMap stack:
        66: aload 26
            iload 24
            aaload
            astore 23 /* column */
        start local 23 // org.hibernate.cfg.Ejb3JoinColumn column
        67: .line 1312
            aload 23 /* column */
            aload 22 /* entityName */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.setManyToManyOwnerSideEntityName:(Ljava/lang/String;)V
        end local 23 // org.hibernate.cfg.Ejb3JoinColumn column
        68: .line 1310
            iinc 24 1
      StackMap locals:
      StackMap stack:
        69: iload 24
            iload 25
            if_icmplt 66
        end local 22 // java.lang.String entityName
        end local 21 // org.hibernate.mapping.Table table
        end local 20 // org.hibernate.mapping.Property otherSideProperty
        70: .line 1314
            goto 108
        71: .line 1318
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int
      StackMap stack:
            aload 3 /* joinColumns */
            dup
            astore 23
            arraylength
            istore 22
            iconst_0
            istore 21
            goto 84
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int top int int org.hibernate.cfg.Ejb3JoinColumn[]
      StackMap stack:
        72: aload 23
            iload 21
            aaload
            astore 20 /* column */
        start local 20 // org.hibernate.cfg.Ejb3JoinColumn column
        73: .line 1319
            aload 14 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        74: .line 1320
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
            aload 20 /* column */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
        75: .line 1319
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getFromMappedBy:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 24 /* mappedByProperty */
        start local 24 // java.lang.String mappedByProperty
        76: .line 1322
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            astore 25 /* ownerTable */
        start local 25 // org.hibernate.mapping.Table ownerTable
        77: .line 1323
            aload 20 /* column */
        78: .line 1324
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
        79: .line 1325
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getJpaEntityName:()Ljava/lang/String;
        80: .line 1326
            aload 14 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 25 /* ownerTable */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getLogicalTableName:(Lorg/hibernate/mapping/Table;)Ljava/lang/String;
        81: .line 1327
            aload 24 /* mappedByProperty */
        82: .line 1323
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.setMappedBy:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 25 // org.hibernate.mapping.Table ownerTable
        end local 24 // java.lang.String mappedByProperty
        end local 20 // org.hibernate.cfg.Ejb3JoinColumn column
        83: .line 1318
            iinc 21 1
      StackMap locals:
      StackMap stack:
        84: iload 21
            iload 22
            if_icmplt 72
        85: .line 1332
            aload 11 /* associationTableBinder */
            invokevirtual org.hibernate.cfg.annotations.TableBinder.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isEmpty:(Ljava/lang/String;)Z
            ifeq 104
        86: .line 1334
            aload 11 /* associationTableBinder */
        87: .line 1335
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getClassName:()Ljava/lang/String;
        88: .line 1336
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
        89: .line 1337
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getJpaEntityName:()Ljava/lang/String;
        90: .line 1338
            aload 14 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getLogicalTableName:(Lorg/hibernate/mapping/Table;)Ljava/lang/String;
        91: .line 1339
            aload 15 /* collectionEntity */
            ifnull 92
            aload 15 /* collectionEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getClassName:()Ljava/lang/String;
            goto 93
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int
      StackMap stack: org.hibernate.cfg.annotations.TableBinder java.lang.String java.lang.String java.lang.String java.lang.String
        92: aconst_null
        93: .line 1340
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int
      StackMap stack: org.hibernate.cfg.annotations.TableBinder java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
            aload 15 /* collectionEntity */
            ifnull 94
            aload 15 /* collectionEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            goto 95
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int
      StackMap stack: org.hibernate.cfg.annotations.TableBinder java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
        94: aconst_null
        95: .line 1341
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int
      StackMap stack: org.hibernate.cfg.annotations.TableBinder java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
            aload 15 /* collectionEntity */
            ifnull 96
            aload 15 /* collectionEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getJpaEntityName:()Ljava/lang/String;
            goto 97
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int
      StackMap stack: org.hibernate.cfg.annotations.TableBinder java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
        96: aconst_null
        97: .line 1342
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int
      StackMap stack: org.hibernate.cfg.annotations.TableBinder java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
            aload 15 /* collectionEntity */
            ifnull 101
            aload 14 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        98: .line 1343
            aload 15 /* collectionEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
        99: .line 1342
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getLogicalTableName:(Lorg/hibernate/mapping/Table;)Ljava/lang/String;
       100: .line 1344
            goto 102
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int
      StackMap stack: org.hibernate.cfg.annotations.TableBinder java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
       101: aconst_null
       102: .line 1345
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int
      StackMap stack: org.hibernate.cfg.annotations.TableBinder java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
            aload 3 /* joinColumns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getPropertyName:()Ljava/lang/String;
       103: .line 1334
            invokevirtual org.hibernate.cfg.annotations.TableBinder.setDefaultName:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       104: .line 1348
      StackMap locals:
      StackMap stack:
            aload 11 /* associationTableBinder */
            iload 17 /* isCollectionOfEntities */
            ifne 105
            aload 12 /* property */
            ldc Ljavax/persistence/ElementCollection;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 105
            iconst_1
            goto 106
      StackMap locals:
      StackMap stack: org.hibernate.cfg.annotations.TableBinder
       105: iconst_0
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int
      StackMap stack: org.hibernate.cfg.annotations.TableBinder int
       106: invokevirtual org.hibernate.cfg.annotations.TableBinder.setJPA2ElementCollection:(Z)V
       107: .line 1349
            aload 1 /* collValue */
            aload 11 /* associationTableBinder */
            invokevirtual org.hibernate.cfg.annotations.TableBinder.bind:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Collection.setCollectionTable:(Lorg/hibernate/mapping/Table;)V
       108: .line 1351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 17 /* isCollectionOfEntities */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.bindFilters:(Z)V
       109: .line 1352
            aload 1 /* collValue */
            aload 15 /* collectionEntity */
            aload 3 /* joinColumns */
            iload 10 /* cascadeDeleteEnabled */
            aload 12 /* property */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            aload 14 /* buildingContext */
            invokestatic org.hibernate.cfg.annotations.CollectionBinder.bindCollectionSecondPass:(Lorg/hibernate/mapping/Collection;Lorg/hibernate/mapping/PersistentClass;[Lorg/hibernate/cfg/Ejb3JoinColumn;ZLorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
       110: .line 1354
            aconst_null
            astore 20 /* element */
        start local 20 // org.hibernate.mapping.ManyToOne element
       111: .line 1355
            iload 17 /* isCollectionOfEntities */
            ifeq 144
       112: .line 1356
            new org.hibernate.mapping.ManyToOne
            dup
            aload 14 /* buildingContext */
            aload 1 /* collValue */
            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 20 /* element */
       113: .line 1357
            aload 1 /* collValue */
            aload 20 /* element */
            invokevirtual org.hibernate.mapping.Collection.setElement:(Lorg/hibernate/mapping/Value;)V
       114: .line 1358
            aload 20 /* element */
            aload 7 /* collType */
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.ManyToOne.setReferencedEntityName:(Ljava/lang/String;)V
       115: .line 1362
            aload 20 /* element */
            getstatic org.hibernate.FetchMode.JOIN:Lorg/hibernate/FetchMode;
            invokevirtual org.hibernate.mapping.ManyToOne.setFetchMode:(Lorg/hibernate/FetchMode;)V
       116: .line 1363
            aload 20 /* element */
            iconst_0
            invokevirtual org.hibernate.mapping.ManyToOne.setLazy:(Z)V
       117: .line 1364
            aload 20 /* element */
            iload 8 /* ignoreNotFound */
            invokevirtual org.hibernate.mapping.ManyToOne.setIgnoreNotFound:(Z)V
       118: .line 1366
            aload 16 /* hqlOrderBy */
            ifnull 122
       119: .line 1367
            aload 1 /* collValue */
       120: .line 1368
            aload 16 /* hqlOrderBy */
            aload 15 /* collectionEntity */
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.annotations.CollectionBinder.buildOrderByClauseFromHql:(Ljava/lang/String;Lorg/hibernate/mapping/PersistentClass;Ljava/lang/String;)Ljava/lang/String;
       121: .line 1367
            invokevirtual org.hibernate.mapping.Collection.setManyToManyOrdering:(Ljava/lang/String;)V
       122: .line 1372
      StackMap locals: org.hibernate.mapping.ManyToOne
      StackMap stack:
            aload 12 /* property */
            ldc Lorg/hibernate/annotations/ForeignKey;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast org.hibernate.annotations.ForeignKey
            astore 21 /* fk */
        start local 21 // org.hibernate.annotations.ForeignKey fk
       123: .line 1373
            aload 21 /* fk */
            ifnull 126
            aload 21 /* fk */
            invokeinterface org.hibernate.annotations.ForeignKey.name:()Ljava/lang/String;
            invokestatic org.hibernate.cfg.BinderHelper.isEmptyAnnotationValue:(Ljava/lang/String;)Z
            ifne 126
       124: .line 1374
            aload 20 /* element */
            aload 21 /* fk */
            invokeinterface org.hibernate.annotations.ForeignKey.name:()Ljava/lang/String;
            invokevirtual org.hibernate.mapping.ManyToOne.setForeignKeyName:(Ljava/lang/String;)V
       125: .line 1375
            goto 271
       126: .line 1377
      StackMap locals: org.hibernate.annotations.ForeignKey
      StackMap stack:
            aload 12 /* property */
            ldc Ljavax/persistence/JoinTable;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.JoinTable
            astore 22 /* joinTableAnn */
        start local 22 // javax.persistence.JoinTable joinTableAnn
       127: .line 1378
            aload 22 /* joinTableAnn */
            ifnull 271
       128: .line 1379
            aload 22 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.inverseForeignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.name:()Ljava/lang/String;
            astore 23 /* foreignKeyName */
        start local 23 // java.lang.String foreignKeyName
       129: .line 1380
            aload 22 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.inverseForeignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.foreignKeyDefinition:()Ljava/lang/String;
            astore 24 /* foreignKeyDefinition */
        start local 24 // java.lang.String foreignKeyDefinition
       130: .line 1381
            aload 22 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.inverseForeignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.value:()Ljavax/persistence/ConstraintMode;
            astore 25 /* foreignKeyValue */
        start local 25 // javax.persistence.ConstraintMode foreignKeyValue
       131: .line 1382
            aload 22 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.inverseJoinColumns:()[Ljavax/persistence/JoinColumn;
            arraylength
            ifeq 138
       132: .line 1383
            aload 22 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.inverseJoinColumns:()[Ljavax/persistence/JoinColumn;
            iconst_0
            aaload
            astore 26 /* joinColumnAnn */
        start local 26 // javax.persistence.JoinColumn joinColumnAnn
       133: .line 1384
            ldc ""
            aload 23 /* foreignKeyName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 136
       134: .line 1385
            aload 26 /* joinColumnAnn */
            invokeinterface javax.persistence.JoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.name:()Ljava/lang/String;
            astore 23 /* foreignKeyName */
       135: .line 1386
            aload 26 /* joinColumnAnn */
            invokeinterface javax.persistence.JoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.foreignKeyDefinition:()Ljava/lang/String;
            astore 24 /* foreignKeyDefinition */
       136: .line 1388
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int org.hibernate.mapping.ManyToOne org.hibernate.annotations.ForeignKey javax.persistence.JoinTable java.lang.String java.lang.String javax.persistence.ConstraintMode javax.persistence.JoinColumn
      StackMap stack:
            aload 25 /* foreignKeyValue */
            getstatic javax.persistence.ConstraintMode.NO_CONSTRAINT:Ljavax/persistence/ConstraintMode;
            if_acmpeq 138
       137: .line 1389
            aload 26 /* joinColumnAnn */
            invokeinterface javax.persistence.JoinColumn.foreignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.value:()Ljavax/persistence/ConstraintMode;
            astore 25 /* foreignKeyValue */
        end local 26 // javax.persistence.JoinColumn joinColumnAnn
       138: .line 1392
      StackMap locals:
      StackMap stack:
            aload 22 /* joinTableAnn */
            invokeinterface javax.persistence.JoinTable.inverseForeignKey:()Ljavax/persistence/ForeignKey;
            invokeinterface javax.persistence.ForeignKey.value:()Ljavax/persistence/ConstraintMode;
            getstatic javax.persistence.ConstraintMode.NO_CONSTRAINT:Ljavax/persistence/ConstraintMode;
            if_acmpne 141
       139: .line 1393
            aload 20 /* element */
            ldc "none"
            invokevirtual org.hibernate.mapping.ManyToOne.setForeignKeyName:(Ljava/lang/String;)V
       140: .line 1394
            goto 271
       141: .line 1396
      StackMap locals:
      StackMap stack:
            aload 20 /* element */
            aload 23 /* foreignKeyName */
            invokestatic org.hibernate.internal.util.StringHelper.nullIfEmpty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.ManyToOne.setForeignKeyName:(Ljava/lang/String;)V
       142: .line 1397
            aload 20 /* element */
            aload 24 /* foreignKeyDefinition */
            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 25 // javax.persistence.ConstraintMode foreignKeyValue
        end local 24 // java.lang.String foreignKeyDefinition
        end local 23 // java.lang.String foreignKeyName
        end local 22 // javax.persistence.JoinTable joinTableAnn
        end local 21 // org.hibernate.annotations.ForeignKey fk
       143: .line 1401
            goto 271
       144: .line 1402
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int org.hibernate.mapping.ManyToOne
      StackMap stack:
            aload 18 /* anyAnn */
            ifnull 169
       145: .line 1405
            new org.hibernate.cfg.PropertyInferredData
            dup
       146: .line 1406
            aconst_null
       147: .line 1407
            aload 12 /* property */
       148: .line 1408
            ldc "unsupported"
       149: .line 1409
            aload 14 /* 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;
       150: .line 1405
            invokespecial org.hibernate.cfg.PropertyInferredData.<init>:(Lorg/hibernate/annotations/common/reflection/XClass;Lorg/hibernate/annotations/common/reflection/XProperty;Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/ReflectionManager;)V
            astore 21 /* inferredData */
        start local 21 // org.hibernate.cfg.PropertyData inferredData
       151: .line 1412
            aload 4 /* inverseJoinColumns */
            dup
            astore 25
            arraylength
            istore 24
            iconst_0
            istore 23
            goto 155
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int org.hibernate.mapping.ManyToOne org.hibernate.cfg.PropertyData top int int org.hibernate.cfg.Ejb3Column[]
      StackMap stack:
       152: aload 25
            iload 23
            aaload
            astore 22 /* column */
        start local 22 // org.hibernate.cfg.Ejb3Column column
       153: .line 1413
            aload 22 /* column */
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getCollectionTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.cfg.Ejb3Column.setTable:(Lorg/hibernate/mapping/Table;)V
        end local 22 // org.hibernate.cfg.Ejb3Column column
       154: .line 1412
            iinc 23 1
      StackMap locals:
      StackMap stack:
       155: iload 23
            iload 24
            if_icmplt 152
       156: .line 1416
            aload 18 /* anyAnn */
            invokeinterface org.hibernate.annotations.ManyToAny.metaDef:()Ljava/lang/String;
       157: .line 1417
            aload 4 /* inverseJoinColumns */
       158: .line 1418
            aload 18 /* anyAnn */
            invokeinterface org.hibernate.annotations.ManyToAny.metaColumn:()Ljavax/persistence/Column;
       159: .line 1419
            aload 21 /* inferredData */
       160: .line 1420
            iload 10 /* cascadeDeleteEnabled */
       161: .line 1421
            getstatic org.hibernate.cfg.annotations.Nullability.NO_CONSTRAINT:Lorg/hibernate/cfg/annotations/Nullability;
       162: .line 1422
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
       163: .line 1423
            new org.hibernate.cfg.annotations.EntityBinder
            dup
            invokespecial org.hibernate.cfg.annotations.EntityBinder.<init>:()V
       164: .line 1424
            iconst_1
       165: .line 1425
            aload 14 /* buildingContext */
       166: .line 1415
            invokestatic org.hibernate.cfg.BinderHelper.buildAnyValue:(Ljava/lang/String;[Lorg/hibernate/cfg/Ejb3JoinColumn;Ljavax/persistence/Column;Lorg/hibernate/cfg/PropertyData;ZLorg/hibernate/cfg/annotations/Nullability;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/cfg/annotations/EntityBinder;ZLorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/mapping/Any;
            astore 22 /* any */
        start local 22 // org.hibernate.mapping.Any any
       167: .line 1427
            aload 1 /* collValue */
            aload 22 /* any */
            invokevirtual org.hibernate.mapping.Collection.setElement:(Lorg/hibernate/mapping/Value;)V
        end local 22 // org.hibernate.mapping.Any any
        end local 21 // org.hibernate.cfg.PropertyData inferredData
       168: .line 1428
            goto 271
       169: .line 1434
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int org.hibernate.mapping.ManyToOne
      StackMap stack:
            getstatic org.hibernate.cfg.BinderHelper.PRIMITIVE_NAMES:Ljava/util/Set;
            aload 7 /* collType */
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 180
       170: .line 1435
            getstatic org.hibernate.cfg.AnnotatedClassType.NONE:Lorg/hibernate/cfg/AnnotatedClassType;
            astore 22 /* classType */
        start local 22 // org.hibernate.cfg.AnnotatedClassType classType
       171: .line 1436
            aconst_null
            astore 21 /* elementClass */
        start local 21 // org.hibernate.annotations.common.reflection.XClass elementClass
       172: .line 1439
            aload 1 /* collValue */
       173: .line 1440
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
       174: .line 1441
            aconst_null
       175: .line 1442
            aload 12 /* property */
       176: .line 1443
            aload 13 /* parentPropertyHolder */
       177: .line 1444
            aload 14 /* buildingContext */
       178: .line 1438
            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 23 /* holder */
        start local 23 // org.hibernate.cfg.CollectionPropertyHolder holder
       179: .line 1446
            goto 197
        end local 23 // org.hibernate.cfg.CollectionPropertyHolder holder
        end local 22 // org.hibernate.cfg.AnnotatedClassType classType
        end local 21 // org.hibernate.annotations.common.reflection.XClass elementClass
       180: .line 1448
      StackMap locals:
      StackMap stack:
            aload 7 /* collType */
            astore 21 /* elementClass */
        start local 21 // org.hibernate.annotations.common.reflection.XClass elementClass
       181: .line 1449
            aload 14 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
            aload 21 /* elementClass */
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getClassType:(Lorg/hibernate/annotations/common/reflection/XClass;)Lorg/hibernate/cfg/AnnotatedClassType;
            astore 22 /* classType */
        start local 22 // org.hibernate.cfg.AnnotatedClassType classType
       182: .line 1452
            aload 1 /* collValue */
       183: .line 1453
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
       184: .line 1454
            aload 21 /* elementClass */
       185: .line 1455
            aload 12 /* property */
       186: .line 1456
            aload 13 /* parentPropertyHolder */
       187: .line 1457
            aload 14 /* buildingContext */
       188: .line 1451
            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 23 /* holder */
        start local 23 // org.hibernate.cfg.CollectionPropertyHolder holder
       189: .line 1463
            aload 13 /* parentPropertyHolder */
            aload 12 /* property */
            invokeinterface org.hibernate.cfg.PropertyHolder.startingProperty:(Lorg/hibernate/annotations/common/reflection/XProperty;)V
       190: .line 1466
            aload 12 /* property */
            ldc Ljavax/persistence/AttributeOverride;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 193
       191: .line 1467
            aload 12 /* property */
            ldc Ljavax/persistence/AttributeOverrides;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 193
       192: .line 1466
            iconst_0
            goto 194
      StackMap locals: org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.AnnotatedClassType org.hibernate.cfg.CollectionPropertyHolder
      StackMap stack:
       193: iconst_1
      StackMap locals:
      StackMap stack: int
       194: istore 24 /* attributeOverride */
        start local 24 // boolean attributeOverride
       195: .line 1469
            iload 6 /* isEmbedded */
            ifne 196
            iload 24 /* attributeOverride */
            ifeq 197
       196: .line 1470
      StackMap locals: int
      StackMap stack:
            getstatic org.hibernate.cfg.AnnotatedClassType.EMBEDDABLE:Lorg/hibernate/cfg/AnnotatedClassType;
            astore 22 /* classType */
        end local 24 // boolean attributeOverride
       197: .line 1474
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.cfg.AnnotatedClassType.EMBEDDABLE:Lorg/hibernate/cfg/AnnotatedClassType;
            aload 22 /* classType */
            invokevirtual org.hibernate.cfg.AnnotatedClassType.equals:(Ljava/lang/Object;)Z
            ifeq 238
       198: .line 1475
            aload 23 /* holder */
            aload 12 /* property */
            invokevirtual org.hibernate.cfg.CollectionPropertyHolder.prepare:(Lorg/hibernate/annotations/common/reflection/XProperty;)V
       199: .line 1477
            new org.hibernate.cfg.annotations.EntityBinder
            dup
            invokespecial org.hibernate.cfg.annotations.EntityBinder.<init>:()V
            astore 24 /* entityBinder */
        start local 24 // org.hibernate.cfg.annotations.EntityBinder entityBinder
       200: .line 1478
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            astore 25 /* owner */
        start local 25 // org.hibernate.mapping.PersistentClass owner
       201: .line 1482
            aload 25 /* owner */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierProperty:()Lorg/hibernate/mapping/Property;
            ifnull 204
       202: .line 1483
            aload 25 /* 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
            istore 26 /* isPropertyAnnotated */
        start local 26 // boolean isPropertyAnnotated
       203: .line 1484
            goto 209
        end local 26 // boolean isPropertyAnnotated
       204: .line 1485
      StackMap locals: org.hibernate.cfg.annotations.EntityBinder org.hibernate.mapping.PersistentClass
      StackMap stack:
            aload 25 /* owner */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            ifnull 208
            aload 25 /* owner */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            invokevirtual org.hibernate.mapping.Component.getPropertySpan:()I
            ifle 208
       205: .line 1486
            aload 25 /* 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 27 /* prop */
        start local 27 // org.hibernate.mapping.Property prop
       206: .line 1487
            aload 27 /* prop */
            invokevirtual org.hibernate.mapping.Property.getPropertyAccessorName:()Ljava/lang/String;
            ldc "property"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 26 /* isPropertyAnnotated */
        end local 27 // org.hibernate.mapping.Property prop
        start local 26 // boolean isPropertyAnnotated
       207: .line 1488
            goto 209
        end local 26 // boolean isPropertyAnnotated
       208: .line 1490
      StackMap locals:
      StackMap stack:
            new org.hibernate.annotations.common.AssertionFailure
            dup
            ldc "Unable to guess collection property accessor name"
            invokespecial org.hibernate.annotations.common.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        start local 26 // boolean isPropertyAnnotated
       209: .line 1494
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.isMap:()Z
            ifeq 215
       210: .line 1496
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.isHibernateExtensionMapping:()Z
            ifeq 213
       211: .line 1497
            new org.hibernate.cfg.PropertyPreloadedData
            dup
            getstatic org.hibernate.cfg.AccessType.PROPERTY:Lorg/hibernate/cfg/AccessType;
            ldc "element"
            aload 21 /* elementClass */
            invokespecial org.hibernate.cfg.PropertyPreloadedData.<init>:(Lorg/hibernate/cfg/AccessType;Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XClass;)V
            astore 27 /* inferredData */
        start local 27 // org.hibernate.cfg.PropertyData inferredData
       212: .line 1498
            goto 219
        end local 27 // org.hibernate.cfg.PropertyData inferredData
       213: .line 1500
      StackMap locals:
      StackMap stack:
            new org.hibernate.cfg.PropertyPreloadedData
            dup
            getstatic org.hibernate.cfg.AccessType.PROPERTY:Lorg/hibernate/cfg/AccessType;
            ldc "value"
            aload 21 /* elementClass */
            invokespecial org.hibernate.cfg.PropertyPreloadedData.<init>:(Lorg/hibernate/cfg/AccessType;Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XClass;)V
            astore 27 /* inferredData */
        start local 27 // org.hibernate.cfg.PropertyData inferredData
       214: .line 1502
            goto 219
        end local 27 // org.hibernate.cfg.PropertyData inferredData
       215: .line 1504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.cfg.annotations.CollectionBinder.isHibernateExtensionMapping:()Z
            ifeq 218
       216: .line 1505
            new org.hibernate.cfg.PropertyPreloadedData
            dup
            getstatic org.hibernate.cfg.AccessType.PROPERTY:Lorg/hibernate/cfg/AccessType;
            ldc "element"
            aload 21 /* elementClass */
            invokespecial org.hibernate.cfg.PropertyPreloadedData.<init>:(Lorg/hibernate/cfg/AccessType;Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XClass;)V
            astore 27 /* inferredData */
        start local 27 // org.hibernate.cfg.PropertyData inferredData
       217: .line 1506
            goto 219
        end local 27 // org.hibernate.cfg.PropertyData inferredData
       218: .line 1509
      StackMap locals:
      StackMap stack:
            new org.hibernate.cfg.PropertyPreloadedData
            dup
            getstatic org.hibernate.cfg.AccessType.PROPERTY:Lorg/hibernate/cfg/AccessType;
            ldc "collection&&element"
            aload 21 /* elementClass */
            invokespecial org.hibernate.cfg.PropertyPreloadedData.<init>:(Lorg/hibernate/cfg/AccessType;Ljava/lang/String;Lorg/hibernate/annotations/common/reflection/XClass;)V
            astore 27 /* inferredData */
        start local 27 // org.hibernate.cfg.PropertyData inferredData
       219: .line 1513
      StackMap locals: org.hibernate.cfg.PropertyData
      StackMap stack:
            iconst_1
            istore 28 /* isNullable */
        start local 28 // boolean isNullable
       220: .line 1515
            aload 23 /* holder */
       221: .line 1516
            aload 27 /* inferredData */
       222: .line 1517
            iload 26 /* isPropertyAnnotated */
            ifeq 223
            getstatic org.hibernate.cfg.AccessType.PROPERTY:Lorg/hibernate/cfg/AccessType;
            goto 224
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int org.hibernate.mapping.ManyToOne org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.AnnotatedClassType org.hibernate.cfg.CollectionPropertyHolder org.hibernate.cfg.annotations.EntityBinder org.hibernate.mapping.PersistentClass int org.hibernate.cfg.PropertyData int
      StackMap stack: org.hibernate.cfg.CollectionPropertyHolder org.hibernate.cfg.PropertyData
       223: getstatic org.hibernate.cfg.AccessType.FIELD:Lorg/hibernate/cfg/AccessType;
       224: .line 1518
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int org.hibernate.mapping.ManyToOne org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.AnnotatedClassType org.hibernate.cfg.CollectionPropertyHolder org.hibernate.cfg.annotations.EntityBinder org.hibernate.mapping.PersistentClass int org.hibernate.cfg.PropertyData int
      StackMap stack: org.hibernate.cfg.CollectionPropertyHolder org.hibernate.cfg.PropertyData org.hibernate.cfg.AccessType
            iload 28 /* isNullable */
       225: .line 1519
            aload 24 /* entityBinder */
       226: .line 1520
            iconst_0
       227: .line 1521
            iconst_0
       228: .line 1522
            iconst_1
       229: .line 1523
            aload 14 /* buildingContext */
       230: .line 1524
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.inheritanceStatePerClass:Ljava/util/Map;
       231: .line 1514
            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 29 /* component */
        start local 29 // org.hibernate.mapping.Component component
       232: .line 1527
            aload 1 /* collValue */
            aload 29 /* component */
            invokevirtual org.hibernate.mapping.Collection.setElement:(Lorg/hibernate/mapping/Value;)V
       233: .line 1529
            aload 16 /* hqlOrderBy */
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 271
       234: .line 1530
            aload 16 /* hqlOrderBy */
            invokestatic org.hibernate.cfg.annotations.CollectionBinder.adjustUserSuppliedValueCollectionOrderingFragment:(Ljava/lang/String;)Ljava/lang/String;
            astore 30 /* orderBy */
        start local 30 // java.lang.String orderBy
       235: .line 1531
            aload 30 /* orderBy */
            ifnull 271
       236: .line 1532
            aload 1 /* collValue */
            aload 30 /* orderBy */
            invokevirtual org.hibernate.mapping.Collection.setOrderBy:(Ljava/lang/String;)V
        end local 30 // java.lang.String orderBy
        end local 29 // org.hibernate.mapping.Component component
        end local 28 // boolean isNullable
        end local 27 // org.hibernate.cfg.PropertyData inferredData
        end local 26 // boolean isPropertyAnnotated
        end local 25 // org.hibernate.mapping.PersistentClass owner
        end local 24 // org.hibernate.cfg.annotations.EntityBinder entityBinder
       237: .line 1535
            goto 271
       238: .line 1537
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int org.hibernate.mapping.ManyToOne org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.AnnotatedClassType org.hibernate.cfg.CollectionPropertyHolder
      StackMap stack:
            aload 23 /* holder */
            aload 12 /* property */
            invokevirtual org.hibernate.cfg.CollectionPropertyHolder.prepare:(Lorg/hibernate/annotations/common/reflection/XProperty;)V
       239: .line 1539
            new org.hibernate.cfg.annotations.SimpleValueBinder
            dup
            invokespecial org.hibernate.cfg.annotations.SimpleValueBinder.<init>:()V
            astore 24 /* elementBinder */
        start local 24 // org.hibernate.cfg.annotations.SimpleValueBinder elementBinder
       240: .line 1540
            aload 24 /* elementBinder */
            aload 14 /* buildingContext */
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.setBuildingContext:(Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
       241: .line 1541
            aload 24 /* elementBinder */
            aload 7 /* collType */
            invokeinterface org.hibernate.annotations.common.reflection.XClass.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.setReturnedClassName:(Ljava/lang/String;)V
       242: .line 1542
            aload 5 /* elementColumns */
            ifnull 243
            aload 5 /* elementColumns */
            arraylength
            ifne 253
       243: .line 1543
      StackMap locals: org.hibernate.cfg.annotations.SimpleValueBinder
      StackMap stack:
            iconst_1
            anewarray org.hibernate.cfg.Ejb3Column
            astore 5 /* elementColumns */
       244: .line 1544
            new org.hibernate.cfg.Ejb3Column
            dup
            invokespecial org.hibernate.cfg.Ejb3Column.<init>:()V
            astore 25 /* column */
        start local 25 // org.hibernate.cfg.Ejb3Column column
       245: .line 1545
            aload 25 /* column */
            iconst_0
            invokevirtual org.hibernate.cfg.Ejb3Column.setImplicit:(Z)V
       246: .line 1547
            aload 25 /* column */
            iconst_1
            invokevirtual org.hibernate.cfg.Ejb3Column.setNullable:(Z)V
       247: .line 1548
            aload 25 /* column */
            sipush 255
            invokevirtual org.hibernate.cfg.Ejb3Column.setLength:(I)V
       248: .line 1549
            aload 25 /* column */
            ldc "elt"
            invokevirtual org.hibernate.cfg.Ejb3Column.setLogicalColumnName:(Ljava/lang/String;)V
       249: .line 1551
            aload 25 /* column */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokevirtual org.hibernate.cfg.Ejb3Column.setJoins:(Ljava/util/Map;)V
       250: .line 1552
            aload 25 /* column */
            aload 14 /* buildingContext */
            invokevirtual org.hibernate.cfg.Ejb3Column.setBuildingContext:(Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
       251: .line 1553
            aload 25 /* column */
            invokevirtual org.hibernate.cfg.Ejb3Column.bind:()V
       252: .line 1554
            aload 5 /* elementColumns */
            iconst_0
            aload 25 /* column */
            aastore
        end local 25 // org.hibernate.cfg.Ejb3Column column
       253: .line 1557
      StackMap locals:
      StackMap stack:
            aload 5 /* elementColumns */
            dup
            astore 28
            arraylength
            istore 27
            iconst_0
            istore 26
            goto 257
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int org.hibernate.mapping.ManyToOne org.hibernate.annotations.common.reflection.XClass org.hibernate.cfg.AnnotatedClassType org.hibernate.cfg.CollectionPropertyHolder org.hibernate.cfg.annotations.SimpleValueBinder top int int org.hibernate.cfg.Ejb3Column[]
      StackMap stack:
       254: aload 28
            iload 26
            aaload
            astore 25 /* column */
        start local 25 // org.hibernate.cfg.Ejb3Column column
       255: .line 1558
            aload 25 /* column */
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getCollectionTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.cfg.Ejb3Column.setTable:(Lorg/hibernate/mapping/Table;)V
        end local 25 // org.hibernate.cfg.Ejb3Column column
       256: .line 1557
            iinc 26 1
      StackMap locals:
      StackMap stack:
       257: iload 26
            iload 27
            if_icmplt 254
       258: .line 1560
            aload 24 /* elementBinder */
            aload 5 /* elementColumns */
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.setColumns:([Lorg/hibernate/cfg/Ejb3Column;)V
       259: .line 1561
            aload 24 /* elementBinder */
       260: .line 1562
            aload 12 /* property */
       261: .line 1563
            aload 21 /* elementClass */
       262: .line 1564
            aload 1 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwnerEntityName:()Ljava/lang/String;
       263: .line 1565
            aload 23 /* holder */
            aload 12 /* property */
            aload 21 /* elementClass */
            invokevirtual org.hibernate.cfg.CollectionPropertyHolder.resolveElementAttributeConverterDescriptor:(Lorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/annotations/common/reflection/XClass;)Lorg/hibernate/boot/model/convert/spi/ConverterDescriptor;
       264: .line 1561
            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
       265: .line 1567
            aload 24 /* elementBinder */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.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
       266: .line 1568
            aload 24 /* elementBinder */
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.accessType:Lorg/hibernate/cfg/AccessType;
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.setAccessType:(Lorg/hibernate/cfg/AccessType;)V
       267: .line 1569
            aload 1 /* collValue */
            aload 24 /* elementBinder */
            invokevirtual org.hibernate.cfg.annotations.SimpleValueBinder.make:()Lorg/hibernate/mapping/SimpleValue;
            invokevirtual org.hibernate.mapping.Collection.setElement:(Lorg/hibernate/mapping/Value;)V
       268: .line 1570
            aload 16 /* hqlOrderBy */
            invokestatic org.hibernate.cfg.annotations.CollectionBinder.adjustUserSuppliedValueCollectionOrderingFragment:(Ljava/lang/String;)Ljava/lang/String;
            astore 25 /* orderBy */
        start local 25 // java.lang.String orderBy
       269: .line 1571
            aload 25 /* orderBy */
            ifnull 271
       270: .line 1572
            aload 1 /* collValue */
            aload 25 /* orderBy */
            invokevirtual org.hibernate.mapping.Collection.setOrderBy:(Ljava/lang/String;)V
        end local 25 // java.lang.String orderBy
        end local 24 // org.hibernate.cfg.annotations.SimpleValueBinder elementBinder
        end local 23 // org.hibernate.cfg.CollectionPropertyHolder holder
        end local 22 // org.hibernate.cfg.AnnotatedClassType classType
        end local 21 // org.hibernate.annotations.common.reflection.XClass elementClass
       271: .line 1577
      StackMap locals: org.hibernate.cfg.annotations.CollectionBinder org.hibernate.mapping.Collection java.util.Map org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.cfg.Ejb3Column[] int org.hibernate.annotations.common.reflection.XClass int int int org.hibernate.cfg.annotations.TableBinder org.hibernate.annotations.common.reflection.XProperty org.hibernate.cfg.PropertyHolder org.hibernate.boot.spi.MetadataBuildingContext org.hibernate.mapping.PersistentClass java.lang.String int org.hibernate.annotations.ManyToAny int org.hibernate.mapping.ManyToOne
      StackMap stack:
            aload 1 /* collValue */
            invokestatic org.hibernate.cfg.annotations.CollectionBinder.checkFilterConditions:(Lorg/hibernate/mapping/Collection;)V
       272: .line 1580
            iload 17 /* isCollectionOfEntities */
            ifeq 274
       273: .line 1581
            aload 15 /* collectionEntity */
            aload 4 /* inverseJoinColumns */
            aload 20 /* element */
            iload 9 /* unique */
            aload 14 /* buildingContext */
            invokestatic org.hibernate.cfg.annotations.CollectionBinder.bindManytoManyInverseFk:(Lorg/hibernate/mapping/PersistentClass;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/mapping/SimpleValue;ZLorg/hibernate/boot/spi/MetadataBuildingContext;)V
       274: .line 1584
      StackMap locals:
      StackMap stack:
            return
        end local 20 // org.hibernate.mapping.ManyToOne element
        end local 19 // boolean mappedBy
        end local 18 // org.hibernate.annotations.ManyToAny anyAnn
        end local 17 // boolean isCollectionOfEntities
        end local 16 // java.lang.String hqlOrderBy
        end local 15 // org.hibernate.mapping.PersistentClass collectionEntity
        end local 14 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 13 // org.hibernate.cfg.PropertyHolder parentPropertyHolder
        end local 12 // org.hibernate.annotations.common.reflection.XProperty property
        end local 11 // org.hibernate.cfg.annotations.TableBinder associationTableBinder
        end local 10 // boolean cascadeDeleteEnabled
        end local 9 // boolean unique
        end local 8 // boolean ignoreNotFound
        end local 7 // org.hibernate.annotations.common.reflection.XClass collType
        end local 6 // boolean isEmbedded
        end local 5 // org.hibernate.cfg.Ejb3Column[] elementColumns
        end local 4 // org.hibernate.cfg.Ejb3JoinColumn[] inverseJoinColumns
        end local 3 // org.hibernate.cfg.Ejb3JoinColumn[] joinColumns
        end local 2 // java.util.Map persistentClasses
        end local 1 // org.hibernate.mapping.Collection collValue
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0  275     0                    this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0  275     1               collValue  Lorg/hibernate/mapping/Collection;
            0  275     2       persistentClasses  Ljava/util/Map;
            0  275     3             joinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0  275     4      inverseJoinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0  275     5          elementColumns  [Lorg/hibernate/cfg/Ejb3Column;
            0  275     6              isEmbedded  Z
            0  275     7                collType  Lorg/hibernate/annotations/common/reflection/XClass;
            0  275     8          ignoreNotFound  Z
            0  275     9                  unique  Z
            0  275    10    cascadeDeleteEnabled  Z
            0  275    11  associationTableBinder  Lorg/hibernate/cfg/annotations/TableBinder;
            0  275    12                property  Lorg/hibernate/annotations/common/reflection/XProperty;
            0  275    13    parentPropertyHolder  Lorg/hibernate/cfg/PropertyHolder;
            0  275    14         buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            3  275    15        collectionEntity  Lorg/hibernate/mapping/PersistentClass;
            4  275    16              hqlOrderBy  Ljava/lang/String;
            7  275    17  isCollectionOfEntities  Z
            8  275    18                  anyAnn  Lorg/hibernate/annotations/ManyToAny;
           10   20    19                    path  Ljava/lang/String;
           23   26    19                    path  Ljava/lang/String;
           29   32    19                    path  Ljava/lang/String;
           33   38    19            joinTableAnn  Ljavax/persistence/JoinTable;
           35   38    20                    path  Ljava/lang/String;
           41  275    19                mappedBy  Z
           51   52    20       otherSideProperty  Lorg/hibernate/mapping/Property;
           59   70    20       otherSideProperty  Lorg/hibernate/mapping/Property;
           61   62    21                   table  Lorg/hibernate/mapping/Table;
           63   70    21                   table  Lorg/hibernate/mapping/Table;
           65   70    22              entityName  Ljava/lang/String;
           67   68    23                  column  Lorg/hibernate/cfg/Ejb3JoinColumn;
           73   83    20                  column  Lorg/hibernate/cfg/Ejb3JoinColumn;
           76   83    24        mappedByProperty  Ljava/lang/String;
           77   83    25              ownerTable  Lorg/hibernate/mapping/Table;
          111  275    20                 element  Lorg/hibernate/mapping/ManyToOne;
          123  143    21                      fk  Lorg/hibernate/annotations/ForeignKey;
          127  143    22            joinTableAnn  Ljavax/persistence/JoinTable;
          129  143    23          foreignKeyName  Ljava/lang/String;
          130  143    24    foreignKeyDefinition  Ljava/lang/String;
          131  143    25         foreignKeyValue  Ljavax/persistence/ConstraintMode;
          133  138    26           joinColumnAnn  Ljavax/persistence/JoinColumn;
          151  168    21            inferredData  Lorg/hibernate/cfg/PropertyData;
          153  154    22                  column  Lorg/hibernate/cfg/Ejb3Column;
          167  168    22                     any  Lorg/hibernate/mapping/Any;
          172  180    21            elementClass  Lorg/hibernate/annotations/common/reflection/XClass;
          181  271    21            elementClass  Lorg/hibernate/annotations/common/reflection/XClass;
          171  180    22               classType  Lorg/hibernate/cfg/AnnotatedClassType;
          182  271    22               classType  Lorg/hibernate/cfg/AnnotatedClassType;
          179  180    23                  holder  Lorg/hibernate/cfg/CollectionPropertyHolder;
          189  271    23                  holder  Lorg/hibernate/cfg/CollectionPropertyHolder;
          195  197    24       attributeOverride  Z
          200  237    24            entityBinder  Lorg/hibernate/cfg/annotations/EntityBinder;
          201  237    25                   owner  Lorg/hibernate/mapping/PersistentClass;
          203  204    26     isPropertyAnnotated  Z
          207  208    26     isPropertyAnnotated  Z
          209  237    26     isPropertyAnnotated  Z
          206  207    27                    prop  Lorg/hibernate/mapping/Property;
          212  213    27            inferredData  Lorg/hibernate/cfg/PropertyData;
          214  215    27            inferredData  Lorg/hibernate/cfg/PropertyData;
          217  218    27            inferredData  Lorg/hibernate/cfg/PropertyData;
          219  237    27            inferredData  Lorg/hibernate/cfg/PropertyData;
          220  237    28              isNullable  Z
          232  237    29               component  Lorg/hibernate/mapping/Component;
          235  237    30                 orderBy  Ljava/lang/String;
          240  271    24           elementBinder  Lorg/hibernate/cfg/annotations/SimpleValueBinder;
          245  253    25                  column  Lorg/hibernate/cfg/Ejb3Column;
          255  256    25                  column  Lorg/hibernate/cfg/Ejb3Column;
          269  271    25                 orderBy  Ljava/lang/String;
      Exception table:
        from    to  target  type
          50    51      52  Class org.hibernate.MappingException
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                        Name  Flags
      collValue               
      persistentClasses       
      joinColumns             
      inverseJoinColumns      
      elementColumns          
      isEmbedded              
      collType                
      ignoreNotFound          
      unique                  
      cascadeDeleteEnabled    
      associationTableBinder  
      property                
      parentPropertyHolder    
      buildingContext         

  private java.lang.String extractHqlOrderBy(javax.persistence.OrderBy);
    descriptor: (Ljavax/persistence/OrderBy;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // javax.persistence.OrderBy jpaOrderBy
         0: .line 1587
            aload 1 /* jpaOrderBy */
            ifnull 2
         1: .line 1588
            aload 1 /* jpaOrderBy */
            invokeinterface javax.persistence.OrderBy.value:()Ljava/lang/String;
            areturn
         2: .line 1590
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // javax.persistence.OrderBy jpaOrderBy
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    3     1  jpaOrderBy  Ljavax/persistence/OrderBy;
    MethodParameters:
            Name  Flags
      jpaOrderBy  

  private static void checkFilterConditions(org.hibernate.mapping.Collection);
    descriptor: (Lorg/hibernate/mapping/Collection;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Collection collValue
         0: .line 1595
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getFilters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 1
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getWhere:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 9
         1: .line 1596
      StackMap locals:
      StackMap stack:
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getFetchMode:()Lorg/hibernate/FetchMode;
            getstatic org.hibernate.FetchMode.JOIN:Lorg/hibernate/FetchMode;
            if_acmpne 9
         2: .line 1597
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getElement:()Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.SimpleValue
            ifne 9
         3: .line 1598
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getElement:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getFetchMode:()Lorg/hibernate/FetchMode;
            getstatic org.hibernate.FetchMode.JOIN:Lorg/hibernate/FetchMode;
            if_acmpeq 9
         4: .line 1599
            new org.hibernate.MappingException
            dup
         5: .line 1600
            new java.lang.StringBuilder
            dup
            ldc "@ManyToMany or @CollectionOfElements defining filter or where without join fetching not valid within collection using join fetching["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 1601
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getRole:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1600
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1599
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1604
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hibernate.mapping.Collection collValue
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0  collValue  Lorg/hibernate/mapping/Collection;
    MethodParameters:
           Name  Flags
      collValue  

  private static void bindCollectionSecondPass(org.hibernate.mapping.Collection, org.hibernate.mapping.PersistentClass, org.hibernate.cfg.Ejb3JoinColumn[], boolean, org.hibernate.annotations.common.reflection.XProperty, org.hibernate.cfg.PropertyHolder, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/mapping/Collection;Lorg/hibernate/mapping/PersistentClass;[Lorg/hibernate/cfg/Ejb3JoinColumn;ZLorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=7
        start local 0 // org.hibernate.mapping.Collection collValue
        start local 1 // org.hibernate.mapping.PersistentClass collectionEntity
        start local 2 // org.hibernate.cfg.Ejb3JoinColumn[] joinColumns
        start local 3 // boolean cascadeDeleteEnabled
        start local 4 // org.hibernate.annotations.common.reflection.XProperty property
        start local 5 // org.hibernate.cfg.PropertyHolder propertyHolder
        start local 6 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 1616
            aload 2 /* joinColumns */
         1: .line 1617
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
         2: .line 1618
            aload 1 /* collectionEntity */
         3: .line 1619
            aload 0 /* collValue */
         4: .line 1620
            iconst_0
         5: .line 1621
            aload 6 /* buildingContext */
         6: .line 1615
            invokestatic org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference:([Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/Value;ZLorg/hibernate/boot/spi/MetadataBuildingContext;)V
         7: .line 1623
            goto 10
         8: .line 1624
      StackMap locals:
      StackMap stack: org.hibernate.AnnotationException
            astore 7 /* ex */
        start local 7 // org.hibernate.AnnotationException ex
         9: .line 1625
            new org.hibernate.AnnotationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to map collection "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* property */
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* ex */
            invokespecial org.hibernate.AnnotationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // org.hibernate.AnnotationException ex
        10: .line 1627
      StackMap locals:
      StackMap stack:
            aload 0 /* collValue */
            aload 2 /* joinColumns */
            iload 3 /* cascadeDeleteEnabled */
            aload 4 /* property */
            aload 5 /* propertyHolder */
            aload 6 /* buildingContext */
            invokestatic org.hibernate.cfg.annotations.CollectionBinder.buildCollectionKey:(Lorg/hibernate/mapping/Collection;[Lorg/hibernate/cfg/Ejb3JoinColumn;ZLorg/hibernate/annotations/common/reflection/XProperty;Lorg/hibernate/cfg/PropertyHolder;Lorg/hibernate/boot/spi/MetadataBuildingContext;)Lorg/hibernate/mapping/SimpleValue;
            astore 7 /* key */
        start local 7 // org.hibernate.mapping.SimpleValue key
        11: .line 1628
            aload 4 /* property */
            ldc Ljavax/persistence/ElementCollection;
            invokeinterface org.hibernate.annotations.common.reflection.XProperty.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 13
            aload 2 /* joinColumns */
            arraylength
            ifle 13
        12: .line 1629
            aload 2 /* joinColumns */
            iconst_0
            aaload
            iconst_1
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.setJPA2ElementCollection:(Z)V
        13: .line 1631
      StackMap locals: org.hibernate.mapping.SimpleValue
      StackMap stack:
            aload 0 /* collValue */
            invokevirtual org.hibernate.mapping.Collection.getOwner:()Lorg/hibernate/mapping/PersistentClass;
            aload 1 /* collectionEntity */
            aload 2 /* joinColumns */
            aload 7 /* key */
            iconst_0
            aload 6 /* buildingContext */
            invokestatic org.hibernate.cfg.annotations.TableBinder.bindFk:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/PersistentClass;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/mapping/SimpleValue;ZLorg/hibernate/boot/spi/MetadataBuildingContext;)V
        14: .line 1632
            return
        end local 7 // org.hibernate.mapping.SimpleValue key
        end local 6 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 5 // org.hibernate.cfg.PropertyHolder propertyHolder
        end local 4 // org.hibernate.annotations.common.reflection.XProperty property
        end local 3 // boolean cascadeDeleteEnabled
        end local 2 // org.hibernate.cfg.Ejb3JoinColumn[] joinColumns
        end local 1 // org.hibernate.mapping.PersistentClass collectionEntity
        end local 0 // org.hibernate.mapping.Collection collValue
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   15     0             collValue  Lorg/hibernate/mapping/Collection;
            0   15     1      collectionEntity  Lorg/hibernate/mapping/PersistentClass;
            0   15     2           joinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0   15     3  cascadeDeleteEnabled  Z
            0   15     4              property  Lorg/hibernate/annotations/common/reflection/XProperty;
            0   15     5        propertyHolder  Lorg/hibernate/cfg/PropertyHolder;
            0   15     6       buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            9   10     7                    ex  Lorg/hibernate/AnnotationException;
           11   15     7                   key  Lorg/hibernate/mapping/SimpleValue;
      Exception table:
        from    to  target  type
           0     7       8  Class org.hibernate.AnnotationException
    MethodParameters:
                      Name  Flags
      collValue             
      collectionEntity      
      joinColumns           
      cascadeDeleteEnabled  
      property              
      propertyHolder        
      buildingContext       

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

  private java.lang.String safeCollectionRole();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
         0: .line 1639
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            ifnull 2
         1: .line 1640
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyHolder:Lorg/hibernate/cfg/PropertyHolder;
            invokeinterface org.hibernate.cfg.PropertyHolder.getEntityName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.cfg.annotations.CollectionBinder.propertyName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 1643
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/cfg/annotations/CollectionBinder;

  public static void bindManytoManyInverseFk(org.hibernate.mapping.PersistentClass, org.hibernate.cfg.Ejb3JoinColumn[], org.hibernate.mapping.SimpleValue, boolean, org.hibernate.boot.spi.MetadataBuildingContext);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/mapping/SimpleValue;ZLorg/hibernate/boot/spi/MetadataBuildingContext;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=5
        start local 0 // org.hibernate.mapping.PersistentClass referencedEntity
        start local 1 // org.hibernate.cfg.Ejb3JoinColumn[] columns
        start local 2 // org.hibernate.mapping.SimpleValue value
        start local 3 // boolean unique
        start local 4 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
         0: .line 1660
            aload 1 /* columns */
            iconst_0
            aaload
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.getMappedBy:()Ljava/lang/String;
            astore 5 /* mappedBy */
        start local 5 // java.lang.String mappedBy
         1: .line 1661
            aload 5 /* mappedBy */
            invokestatic org.hibernate.internal.util.StringHelper.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 35
         2: .line 1662
            aload 0 /* referencedEntity */
            aload 5 /* mappedBy */
            invokevirtual org.hibernate.mapping.PersistentClass.getRecursiveProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 6 /* property */
        start local 6 // org.hibernate.mapping.Property property
         3: .line 1664
            aload 6 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.Collection
            ifeq 6
         4: .line 1665
            aload 6 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Collection
            invokevirtual org.hibernate.mapping.Collection.getKey:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnIterator:()Ljava/util/Iterator;
            astore 7 /* mappedByColumns */
        start local 7 // java.util.Iterator mappedByColumns
         5: .line 1666
            goto 19
        end local 7 // java.util.Iterator mappedByColumns
         6: .line 1669
      StackMap locals: java.lang.String org.hibernate.mapping.Property
      StackMap stack:
            aload 0 /* referencedEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getJoinIterator:()Ljava/util/Iterator;
            astore 8 /* joinsIt */
        start local 8 // java.util.Iterator joinsIt
         7: .line 1670
            aconst_null
            astore 9 /* key */
        start local 9 // org.hibernate.mapping.KeyValue key
         8: .line 1671
            goto 13
         9: .line 1672
      StackMap locals: org.hibernate.mapping.PersistentClass org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.SimpleValue int org.hibernate.boot.spi.MetadataBuildingContext java.lang.String org.hibernate.mapping.Property top java.util.Iterator org.hibernate.mapping.KeyValue
      StackMap stack:
            aload 8 /* joinsIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Join
            astore 10 /* join */
        start local 10 // org.hibernate.mapping.Join join
        10: .line 1673
            aload 10 /* join */
            aload 6 /* property */
            invokevirtual org.hibernate.mapping.Join.containsProperty:(Lorg/hibernate/mapping/Property;)Z
            ifeq 13
        11: .line 1674
            aload 10 /* join */
            invokevirtual org.hibernate.mapping.Join.getKey:()Lorg/hibernate/mapping/KeyValue;
            astore 9 /* key */
        12: .line 1675
            goto 14
        end local 10 // org.hibernate.mapping.Join join
        13: .line 1671
      StackMap locals:
      StackMap stack:
            aload 8 /* joinsIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        14: .line 1678
      StackMap locals:
      StackMap stack:
            aload 9 /* key */
            ifnonnull 15
            aload 6 /* property */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
            astore 9 /* key */
        15: .line 1679
      StackMap locals:
      StackMap stack:
            aload 9 /* key */
            invokeinterface org.hibernate.mapping.KeyValue.getColumnIterator:()Ljava/util/Iterator;
            astore 7 /* mappedByColumns */
        end local 9 // org.hibernate.mapping.KeyValue key
        end local 8 // java.util.Iterator joinsIt
        start local 7 // java.util.Iterator mappedByColumns
        16: .line 1681
            goto 19
        17: .line 1682
      StackMap locals: org.hibernate.mapping.PersistentClass org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.SimpleValue int org.hibernate.boot.spi.MetadataBuildingContext java.lang.String org.hibernate.mapping.Property java.util.Iterator
      StackMap stack:
            aload 7 /* mappedByColumns */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 8 /* column */
        start local 8 // org.hibernate.mapping.Column column
        18: .line 1683
            aload 1 /* columns */
            iconst_0
            aaload
            aload 8 /* column */
            aload 2 /* value */
            invokevirtual org.hibernate.cfg.Ejb3JoinColumn.linkValueUsingAColumnCopy:(Lorg/hibernate/mapping/Column;Lorg/hibernate/mapping/SimpleValue;)V
        end local 8 // org.hibernate.mapping.Column column
        19: .line 1681
      StackMap locals:
      StackMap stack:
            aload 7 /* mappedByColumns */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 1686
            aload 4 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        21: .line 1687
            new java.lang.StringBuilder
            dup
            ldc "inverse__"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* referencedEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* mappedBy */
        22: .line 1686
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.getPropertyReferencedAssociation:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        23: .line 1685
            astore 8 /* referencedPropertyName */
        start local 8 // java.lang.String referencedPropertyName
        24: .line 1689
            aload 8 /* referencedPropertyName */
            ifnull 30
        25: .line 1691
            aload 2 /* value */
            checkcast org.hibernate.mapping.ManyToOne
            aload 8 /* referencedPropertyName */
            invokevirtual org.hibernate.mapping.ManyToOne.setReferencedPropertyName:(Ljava/lang/String;)V
        26: .line 1692
            aload 4 /* buildingContext */
            invokeinterface org.hibernate.boot.spi.MetadataBuildingContext.getMetadataCollector:()Lorg/hibernate/boot/spi/InFlightMetadataCollector;
        27: .line 1693
            aload 0 /* referencedEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
        28: .line 1694
            aload 8 /* referencedPropertyName */
        29: .line 1692
            invokeinterface org.hibernate.boot.spi.InFlightMetadataCollector.addUniquePropertyReference:(Ljava/lang/String;Ljava/lang/String;)V
        30: .line 1697
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* value */
            checkcast org.hibernate.mapping.ManyToOne
            aload 8 /* referencedPropertyName */
            ifnonnull 31
            iconst_1
            goto 32
      StackMap locals:
      StackMap stack: org.hibernate.mapping.ManyToOne
        31: iconst_0
      StackMap locals: org.hibernate.mapping.PersistentClass org.hibernate.cfg.Ejb3JoinColumn[] org.hibernate.mapping.SimpleValue int org.hibernate.boot.spi.MetadataBuildingContext java.lang.String org.hibernate.mapping.Property java.util.Iterator java.lang.String
      StackMap stack: org.hibernate.mapping.ManyToOne int
        32: invokevirtual org.hibernate.mapping.ManyToOne.setReferenceToPrimaryKey:(Z)V
        33: .line 1698
            aload 2 /* value */
            invokevirtual org.hibernate.mapping.SimpleValue.createForeignKey:()V
        end local 8 // java.lang.String referencedPropertyName
        end local 7 // java.util.Iterator mappedByColumns
        end local 6 // org.hibernate.mapping.Property property
        34: .line 1699
            goto 37
        35: .line 1701
      StackMap locals:
      StackMap stack:
            aload 1 /* columns */
            aload 0 /* referencedEntity */
            aconst_null
            aload 2 /* value */
            iconst_1
            aload 4 /* buildingContext */
            invokestatic org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference:([Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/Value;ZLorg/hibernate/boot/spi/MetadataBuildingContext;)V
        36: .line 1702
            aload 0 /* referencedEntity */
            aconst_null
            aload 1 /* columns */
            aload 2 /* value */
            iload 3 /* unique */
            aload 4 /* buildingContext */
            invokestatic org.hibernate.cfg.annotations.TableBinder.bindFk:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/PersistentClass;[Lorg/hibernate/cfg/Ejb3JoinColumn;Lorg/hibernate/mapping/SimpleValue;ZLorg/hibernate/boot/spi/MetadataBuildingContext;)V
        37: .line 1704
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String mappedBy
        end local 4 // org.hibernate.boot.spi.MetadataBuildingContext buildingContext
        end local 3 // boolean unique
        end local 2 // org.hibernate.mapping.SimpleValue value
        end local 1 // org.hibernate.cfg.Ejb3JoinColumn[] columns
        end local 0 // org.hibernate.mapping.PersistentClass referencedEntity
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   38     0        referencedEntity  Lorg/hibernate/mapping/PersistentClass;
            0   38     1                 columns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
            0   38     2                   value  Lorg/hibernate/mapping/SimpleValue;
            0   38     3                  unique  Z
            0   38     4         buildingContext  Lorg/hibernate/boot/spi/MetadataBuildingContext;
            1   38     5                mappedBy  Ljava/lang/String;
            3   34     6                property  Lorg/hibernate/mapping/Property;
            5    6     7         mappedByColumns  Ljava/util/Iterator;
           16   34     7         mappedByColumns  Ljava/util/Iterator;
            7   16     8                 joinsIt  Ljava/util/Iterator;
            8   16     9                     key  Lorg/hibernate/mapping/KeyValue;
           10   13    10                    join  Lorg/hibernate/mapping/Join;
           18   19     8                  column  Lorg/hibernate/mapping/Column;
           24   34     8  referencedPropertyName  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      referencedEntity  
      columns           
      value             
      unique            
      buildingContext   

  public void setFkJoinColumns(org.hibernate.cfg.Ejb3JoinColumn[]);
    descriptor: ([Lorg/hibernate/cfg/Ejb3JoinColumn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.cfg.Ejb3JoinColumn[] ejb3JoinColumns
         0: .line 1707
            aload 0 /* this */
            aload 1 /* ejb3JoinColumns */
            putfield org.hibernate.cfg.annotations.CollectionBinder.fkJoinColumns:[Lorg/hibernate/cfg/Ejb3JoinColumn;
         1: .line 1708
            return
        end local 1 // org.hibernate.cfg.Ejb3JoinColumn[] ejb3JoinColumns
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  ejb3JoinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
    MethodParameters:
                 Name  Flags
      ejb3JoinColumns  

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

  public void setElementColumns(org.hibernate.cfg.Ejb3Column[]);
    descriptor: ([Lorg/hibernate/cfg/Ejb3Column;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.cfg.Ejb3Column[] elementColumns
         0: .line 1715
            aload 0 /* this */
            aload 1 /* elementColumns */
            putfield org.hibernate.cfg.annotations.CollectionBinder.elementColumns:[Lorg/hibernate/cfg/Ejb3Column;
         1: .line 1716
            return
        end local 1 // org.hibernate.cfg.Ejb3Column[] elementColumns
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  elementColumns  [Lorg/hibernate/cfg/Ejb3Column;
    MethodParameters:
                Name  Flags
      elementColumns  

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

  public void setProperty(org.hibernate.annotations.common.reflection.XProperty);
    descriptor: (Lorg/hibernate/annotations/common/reflection/XProperty;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.annotations.common.reflection.XProperty property
         0: .line 1723
            aload 0 /* this */
            aload 1 /* property */
            putfield org.hibernate.cfg.annotations.CollectionBinder.property:Lorg/hibernate/annotations/common/reflection/XProperty;
         1: .line 1724
            return
        end local 1 // org.hibernate.annotations.common.reflection.XProperty property
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  property  Lorg/hibernate/annotations/common/reflection/XProperty;
    MethodParameters:
          Name  Flags
      property  

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

  public void setMapKeyColumns(org.hibernate.cfg.Ejb3Column[]);
    descriptor: ([Lorg/hibernate/cfg/Ejb3Column;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.cfg.Ejb3Column[] mapKeyColumns
         0: .line 1731
            aload 0 /* this */
            aload 1 /* mapKeyColumns */
            putfield org.hibernate.cfg.annotations.CollectionBinder.mapKeyColumns:[Lorg/hibernate/cfg/Ejb3Column;
         1: .line 1732
            return
        end local 1 // org.hibernate.cfg.Ejb3Column[] mapKeyColumns
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  mapKeyColumns  [Lorg/hibernate/cfg/Ejb3Column;
    MethodParameters:
               Name  Flags
      mapKeyColumns  

  public void setMapKeyManyToManyColumns(org.hibernate.cfg.Ejb3JoinColumn[]);
    descriptor: ([Lorg/hibernate/cfg/Ejb3JoinColumn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // org.hibernate.cfg.Ejb3JoinColumn[] mapJoinColumns
         0: .line 1735
            aload 0 /* this */
            aload 1 /* mapJoinColumns */
            putfield org.hibernate.cfg.annotations.CollectionBinder.mapKeyManyToManyColumns:[Lorg/hibernate/cfg/Ejb3JoinColumn;
         1: .line 1736
            return
        end local 1 // org.hibernate.cfg.Ejb3JoinColumn[] mapJoinColumns
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  mapJoinColumns  [Lorg/hibernate/cfg/Ejb3JoinColumn;
    MethodParameters:
                Name  Flags
      mapJoinColumns  

  public void setLocalGenerators(java.util.HashMap<java.lang.String, org.hibernate.boot.model.IdentifierGeneratorDefinition>);
    descriptor: (Ljava/util/HashMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.cfg.annotations.CollectionBinder this
        start local 1 // java.util.HashMap localGenerators
         0: .line 1739
            aload 0 /* this */
            aload 1 /* localGenerators */
            putfield org.hibernate.cfg.annotations.CollectionBinder.localGenerators:Ljava/util/HashMap;
         1: .line 1740
            return
        end local 1 // java.util.HashMap localGenerators
        end local 0 // org.hibernate.cfg.annotations.CollectionBinder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/cfg/annotations/CollectionBinder;
            0    2     1  localGenerators  Ljava/util/HashMap<Ljava/lang/String;Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;>;
    Signature: (Ljava/util/HashMap<Ljava/lang/String;Lorg/hibernate/boot/model/IdentifierGeneratorDefinition;>;)V
    MethodParameters:
                 Name  Flags
      localGenerators  
}
SourceFile: "CollectionBinder.java"
NestMembers:
  org.hibernate.cfg.annotations.CollectionBinder$1
InnerClasses:
  org.hibernate.cfg.annotations.CollectionBinder$1
  public final Nature = org.hibernate.criterion.Junction$Nature of org.hibernate.criterion.Junction