public class org.hibernate.metamodel.binding.EntityBinding implements org.hibernate.metamodel.binding.AttributeBindingContainer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.metamodel.binding.EntityBinding
  super_class: java.lang.Object
{
  private static final java.lang.String NULL_DISCRIMINATOR_MATCH_VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "null"

  private static final java.lang.String NOT_NULL_DISCRIMINATOR_MATCH_VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "not null"

  private final org.hibernate.metamodel.binding.EntityBinding superEntityBinding;
    descriptor: Lorg/hibernate/metamodel/binding/EntityBinding;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<org.hibernate.metamodel.binding.EntityBinding> subEntityBindings;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/hibernate/metamodel/binding/EntityBinding;>;

  private final org.hibernate.metamodel.binding.HierarchyDetails hierarchyDetails;
    descriptor: Lorg/hibernate/metamodel/binding/HierarchyDetails;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.hibernate.metamodel.domain.Entity entity;
    descriptor: Lorg/hibernate/metamodel/domain/Entity;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.metamodel.relational.TableSpecification primaryTable;
    descriptor: Lorg/hibernate/metamodel/relational/TableSpecification;
    flags: (0x0002) ACC_PRIVATE

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

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

  private org.hibernate.internal.util.ValueHolder<java.lang.Class<?>> proxyInterfaceType;
    descriptor: Lorg/hibernate/internal/util/ValueHolder;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/hibernate/internal/util/ValueHolder<Ljava/lang/Class<*>;>;

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

  private java.lang.Class<? extends org.hibernate.persister.entity.EntityPersister> customEntityPersisterClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Class<+Lorg/hibernate/persister/entity/EntityPersister;>;

  private java.lang.Class<? extends org.hibernate.tuple.entity.EntityTuplizer> customEntityTuplizerClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Class<+Lorg/hibernate/tuple/entity/EntityTuplizer;>;

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

  private java.util.Set<org.hibernate.engine.spi.FilterDefinition> filterDefinitions;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/hibernate/engine/spi/FilterDefinition;>;

  private java.util.Set<org.hibernate.metamodel.binding.SingularAssociationAttributeBinding> entityReferencingAttributeBindings;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/hibernate/metamodel/binding/SingularAssociationAttributeBinding;>;

  private org.hibernate.metamodel.source.MetaAttributeContext metaAttributeContext;
    descriptor: Lorg/hibernate/metamodel/source/MetaAttributeContext;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

  private org.hibernate.metamodel.binding.CustomSQL customInsert;
    descriptor: Lorg/hibernate/metamodel/binding/CustomSQL;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.metamodel.binding.CustomSQL customUpdate;
    descriptor: Lorg/hibernate/metamodel/binding/CustomSQL;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.metamodel.binding.CustomSQL customDelete;
    descriptor: Lorg/hibernate/metamodel/binding/CustomSQL;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set<java.lang.String> synchronizedTableNames;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private java.util.Map<java.lang.String, org.hibernate.metamodel.binding.AttributeBinding> attributeBindingMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/metamodel/binding/AttributeBinding;>;

  private java.util.List<org.hibernate.metamodel.source.binder.JpaCallbackClass> jpaCallbackClasses;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/hibernate/metamodel/source/binder/JpaCallbackClass;>;

  public void <init>(org.hibernate.metamodel.binding.InheritanceType, org.hibernate.EntityMode);
    descriptor: (Lorg/hibernate/metamodel/binding/InheritanceType;Lorg/hibernate/EntityMode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.binding.InheritanceType inheritanceType
        start local 2 // org.hibernate.EntityMode entityMode
         0: .line 113
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
         2: .line 67
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.secondaryTables:Ljava/util/Map;
         3: .line 78
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.filterDefinitions:Ljava/util/Set;
         4: .line 79
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.entityReferencingAttributeBindings:Ljava/util/Set;
         5: .line 102
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.synchronizedTableNames:Ljava/util/Set;
         6: .line 103
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.attributeBindingMap:Ljava/util/Map;
         7: .line 105
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.jpaCallbackClasses:Ljava/util/List;
         8: .line 114
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.metamodel.binding.EntityBinding.superEntityBinding:Lorg/hibernate/metamodel/binding/EntityBinding;
         9: .line 115
            aload 0 /* this */
            new org.hibernate.metamodel.binding.HierarchyDetails
            dup
            aload 0 /* this */
            aload 1 /* inheritanceType */
            aload 2 /* entityMode */
            invokespecial org.hibernate.metamodel.binding.HierarchyDetails.<init>:(Lorg/hibernate/metamodel/binding/EntityBinding;Lorg/hibernate/metamodel/binding/InheritanceType;Lorg/hibernate/EntityMode;)V
            putfield org.hibernate.metamodel.binding.EntityBinding.hierarchyDetails:Lorg/hibernate/metamodel/binding/HierarchyDetails;
        10: .line 116
            return
        end local 2 // org.hibernate.EntityMode entityMode
        end local 1 // org.hibernate.metamodel.binding.InheritanceType inheritanceType
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0   11     1  inheritanceType  Lorg/hibernate/metamodel/binding/InheritanceType;
            0   11     2       entityMode  Lorg/hibernate/EntityMode;
    MethodParameters:
                 Name  Flags
      inheritanceType  
      entityMode       

  public void <init>(org.hibernate.metamodel.binding.EntityBinding);
    descriptor: (Lorg/hibernate/metamodel/binding/EntityBinding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.binding.EntityBinding superEntityBinding
         0: .line 123
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
         2: .line 67
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.secondaryTables:Ljava/util/Map;
         3: .line 78
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.filterDefinitions:Ljava/util/Set;
         4: .line 79
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.entityReferencingAttributeBindings:Ljava/util/Set;
         5: .line 102
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.synchronizedTableNames:Ljava/util/Set;
         6: .line 103
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.attributeBindingMap:Ljava/util/Map;
         7: .line 105
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.metamodel.binding.EntityBinding.jpaCallbackClasses:Ljava/util/List;
         8: .line 124
            aload 0 /* this */
            aload 1 /* superEntityBinding */
            putfield org.hibernate.metamodel.binding.EntityBinding.superEntityBinding:Lorg/hibernate/metamodel/binding/EntityBinding;
         9: .line 125
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.superEntityBinding:Lorg/hibernate/metamodel/binding/EntityBinding;
            getfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
            aload 0 /* this */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 126
            aload 0 /* this */
            aload 1 /* superEntityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            putfield org.hibernate.metamodel.binding.EntityBinding.hierarchyDetails:Lorg/hibernate/metamodel/binding/HierarchyDetails;
        11: .line 127
            return
        end local 1 // org.hibernate.metamodel.binding.EntityBinding superEntityBinding
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0   12     1  superEntityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
    MethodParameters:
                    Name  Flags
      superEntityBinding  

  public org.hibernate.metamodel.binding.HierarchyDetails getHierarchyDetails();
    descriptor: ()Lorg/hibernate/metamodel/binding/HierarchyDetails;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 130
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.hierarchyDetails:Lorg/hibernate/metamodel/binding/HierarchyDetails;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public org.hibernate.metamodel.binding.EntityBinding getSuperEntityBinding();
    descriptor: ()Lorg/hibernate/metamodel/binding/EntityBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 134
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.superEntityBinding:Lorg/hibernate/metamodel/binding/EntityBinding;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public boolean isRoot();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 138
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.superEntityBinding:Lorg/hibernate/metamodel/binding/EntityBinding;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public boolean isPolymorphic();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 142
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.superEntityBinding:Lorg/hibernate/metamodel/binding/EntityBinding;
            ifnonnull 4
         1: .line 143
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.hierarchyDetails:Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getEntityDiscriminator:()Lorg/hibernate/metamodel/binding/EntityDiscriminator;
            ifnonnull 4
         2: .line 144
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         3: .line 142
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public boolean hasSubEntityBindings();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 148
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public int getSubEntityBindingClosureSpan();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 152
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 153
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.hibernate.metamodel.binding.EntityBinding int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.EntityBinding
            astore 2 /* subEntityBinding */
        start local 2 // org.hibernate.metamodel.binding.EntityBinding subEntityBinding
         3: .line 154
            iload 1 /* n */
            aload 2 /* subEntityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getSubEntityBindingClosureSpan:()I
            iadd
            istore 1 /* n */
        end local 2 // org.hibernate.metamodel.binding.EntityBinding subEntityBinding
         4: .line 153
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 156
            iload 1 /* n */
            ireturn
        end local 1 // int n
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/hibernate/metamodel/binding/EntityBinding;
            1    6     1                 n  I
            3    4     2  subEntityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;

  public java.lang.Iterable<org.hibernate.metamodel.binding.EntityBinding> getDirectSubEntityBindings();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 161
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/EntityBinding;>;

  public java.lang.Iterable<org.hibernate.metamodel.binding.EntityBinding> getPostOrderSubEntityBindingClosure();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 175
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* subclassIterables */
        start local 1 // java.util.List subclassIterables
         1: .line 176
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.hibernate.metamodel.binding.EntityBinding java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.EntityBinding
            astore 2 /* subEntityBinding */
        start local 2 // org.hibernate.metamodel.binding.EntityBinding subEntityBinding
         3: .line 177
            aload 2 /* subEntityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getPostOrderSubEntityBindingClosure:()Ljava/lang/Iterable;
            astore 4 /* subSubEntityBindings */
        start local 4 // java.lang.Iterable subSubEntityBindings
         4: .line 178
            aload 4 /* subSubEntityBindings */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 6
         5: .line 179
            aload 1 /* subclassIterables */
            aload 4 /* subSubEntityBindings */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.Iterable subSubEntityBindings
        end local 2 // org.hibernate.metamodel.binding.EntityBinding subEntityBinding
         6: .line 176
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 182
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 9
         8: .line 183
            aload 1 /* subclassIterables */
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 185
      StackMap locals: org.hibernate.metamodel.binding.EntityBinding java.util.List
      StackMap stack:
            new org.hibernate.internal.util.collections.JoinedIterable
            dup
            aload 1 /* subclassIterables */
            invokespecial org.hibernate.internal.util.collections.JoinedIterable.<init>:(Ljava/util/List;)V
            areturn
        end local 1 // java.util.List subclassIterables
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   10     0                  this  Lorg/hibernate/metamodel/binding/EntityBinding;
            1   10     1     subclassIterables  Ljava/util/List<Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/EntityBinding;>;>;
            3    6     2      subEntityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
            4    6     4  subSubEntityBindings  Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/EntityBinding;>;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/EntityBinding;>;

  public java.lang.Iterable<org.hibernate.metamodel.binding.EntityBinding> getPreOrderSubEntityBindingClosure();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 198
            aload 0 /* this */
            iconst_0
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getPreOrderSubEntityBindingClosure:(Z)Ljava/lang/Iterable;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/EntityBinding;>;

  private java.lang.Iterable<org.hibernate.metamodel.binding.EntityBinding> getPreOrderSubEntityBindingClosure(boolean);
    descriptor: (Z)Ljava/lang/Iterable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // boolean includeThis
         0: .line 202
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* iterables */
        start local 2 // java.util.List iterables
         1: .line 203
            iload 1 /* includeThis */
            ifeq 3
         2: .line 204
            aload 2 /* iterables */
            aload 0 /* this */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 206
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.subEntityBindings:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.hibernate.metamodel.binding.EntityBinding int java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.EntityBinding
            astore 3 /* subEntityBinding */
        start local 3 // org.hibernate.metamodel.binding.EntityBinding subEntityBinding
         5: .line 207
            aload 3 /* subEntityBinding */
            iconst_1
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getPreOrderSubEntityBindingClosure:(Z)Ljava/lang/Iterable;
            astore 5 /* subSubEntityBindingClosure */
        start local 5 // java.lang.Iterable subSubEntityBindingClosure
         6: .line 208
            aload 5 /* subSubEntityBindingClosure */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 8
         7: .line 209
            aload 2 /* iterables */
            aload 5 /* subSubEntityBindingClosure */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.Iterable subSubEntityBindingClosure
        end local 3 // org.hibernate.metamodel.binding.EntityBinding subEntityBinding
         8: .line 206
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 212
            new org.hibernate.internal.util.collections.JoinedIterable
            dup
            aload 2 /* iterables */
            invokespecial org.hibernate.internal.util.collections.JoinedIterable.<init>:(Ljava/util/List;)V
            areturn
        end local 2 // java.util.List iterables
        end local 1 // boolean includeThis
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   10     0                        this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0   10     1                 includeThis  Z
            1   10     2                   iterables  Ljava/util/List<Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/EntityBinding;>;>;
            5    8     3            subEntityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
            6    8     5  subSubEntityBindingClosure  Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/EntityBinding;>;
    Signature: (Z)Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/EntityBinding;>;
    MethodParameters:
             Name  Flags
      includeThis  

  public org.hibernate.metamodel.domain.Entity getEntity();
    descriptor: ()Lorg/hibernate/metamodel/domain/Entity;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 216
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.entity:Lorg/hibernate/metamodel/domain/Entity;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setEntity(org.hibernate.metamodel.domain.Entity);
    descriptor: (Lorg/hibernate/metamodel/domain/Entity;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.domain.Entity entity
         0: .line 220
            aload 0 /* this */
            aload 1 /* entity */
            putfield org.hibernate.metamodel.binding.EntityBinding.entity:Lorg/hibernate/metamodel/domain/Entity;
         1: .line 221
            return
        end local 1 // org.hibernate.metamodel.domain.Entity entity
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  entity  Lorg/hibernate/metamodel/domain/Entity;
    MethodParameters:
        Name  Flags
      entity  

  public org.hibernate.metamodel.relational.TableSpecification getPrimaryTable();
    descriptor: ()Lorg/hibernate/metamodel/relational/TableSpecification;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 224
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.primaryTable:Lorg/hibernate/metamodel/relational/TableSpecification;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setPrimaryTable(org.hibernate.metamodel.relational.TableSpecification);
    descriptor: (Lorg/hibernate/metamodel/relational/TableSpecification;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.relational.TableSpecification primaryTable
         0: .line 228
            aload 0 /* this */
            aload 1 /* primaryTable */
            putfield org.hibernate.metamodel.binding.EntityBinding.primaryTable:Lorg/hibernate/metamodel/relational/TableSpecification;
         1: .line 229
            return
        end local 1 // org.hibernate.metamodel.relational.TableSpecification primaryTable
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  primaryTable  Lorg/hibernate/metamodel/relational/TableSpecification;
    MethodParameters:
              Name  Flags
      primaryTable  

  public org.hibernate.metamodel.relational.TableSpecification locateTable(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/metamodel/relational/TableSpecification;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // java.lang.String tableName
         0: .line 232
            aload 1 /* tableName */
            ifnull 1
            aload 1 /* tableName */
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getPrimaryTableName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.primaryTable:Lorg/hibernate/metamodel/relational/TableSpecification;
            areturn
         2: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.secondaryTables:Ljava/util/Map;
            aload 1 /* tableName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.metamodel.relational.TableSpecification
            astore 2 /* tableSpec */
        start local 2 // org.hibernate.metamodel.relational.TableSpecification tableSpec
         3: .line 236
            aload 2 /* tableSpec */
            ifnonnull 10
         4: .line 237
            new org.hibernate.AssertionFailure
            dup
         5: .line 239
            ldc "Unable to find table %s amongst tables %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 240
            aload 1 /* tableName */
            aastore
            dup
            iconst_1
         7: .line 241
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.secondaryTables:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aastore
         8: .line 238
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         9: .line 237
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 245
      StackMap locals: org.hibernate.metamodel.relational.TableSpecification
      StackMap stack:
            aload 2 /* tableSpec */
            areturn
        end local 2 // org.hibernate.metamodel.relational.TableSpecification tableSpec
        end local 1 // java.lang.String tableName
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0   11     1  tableName  Ljava/lang/String;
            3   11     2  tableSpec  Lorg/hibernate/metamodel/relational/TableSpecification;
    MethodParameters:
           Name  Flags
      tableName  

  public java.lang.String getPrimaryTableName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 248
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.primaryTableName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setPrimaryTableName(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.metamodel.binding.EntityBinding this
        start local 1 // java.lang.String primaryTableName
         0: .line 252
            aload 0 /* this */
            aload 1 /* primaryTableName */
            putfield org.hibernate.metamodel.binding.EntityBinding.primaryTableName:Ljava/lang/String;
         1: .line 253
            return
        end local 1 // java.lang.String primaryTableName
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  primaryTableName  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      primaryTableName  

  public void addSecondaryTable(java.lang.String, org.hibernate.metamodel.relational.TableSpecification);
    descriptor: (Ljava/lang/String;Lorg/hibernate/metamodel/relational/TableSpecification;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // java.lang.String tableName
        start local 2 // org.hibernate.metamodel.relational.TableSpecification table
         0: .line 256
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.secondaryTables:Ljava/util/Map;
            aload 1 /* tableName */
            aload 2 /* table */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 257
            return
        end local 2 // org.hibernate.metamodel.relational.TableSpecification table
        end local 1 // java.lang.String tableName
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  tableName  Ljava/lang/String;
            0    2     2      table  Lorg/hibernate/metamodel/relational/TableSpecification;
    MethodParameters:
           Name  Flags
      tableName  
      table      

  public boolean isVersioned();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 260
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getVersioningAttributeBinding:()Lorg/hibernate/metamodel/binding/BasicAttributeBinding;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public boolean isDiscriminatorMatchValueNull();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 264
            ldc "null"
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.discriminatorMatchValue:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public boolean isDiscriminatorMatchValueNotNull();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 268
            ldc "not null"
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.discriminatorMatchValue:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public java.lang.String getDiscriminatorMatchValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 272
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.discriminatorMatchValue:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setDiscriminatorMatchValue(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.metamodel.binding.EntityBinding this
        start local 1 // java.lang.String discriminatorMatchValue
         0: .line 276
            aload 0 /* this */
            aload 1 /* discriminatorMatchValue */
            putfield org.hibernate.metamodel.binding.EntityBinding.discriminatorMatchValue:Ljava/lang/String;
         1: .line 277
            return
        end local 1 // java.lang.String discriminatorMatchValue
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  discriminatorMatchValue  Ljava/lang/String;
    MethodParameters:
                         Name  Flags
      discriminatorMatchValue  

  public java.lang.Iterable<org.hibernate.engine.spi.FilterDefinition> getFilterDefinitions();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 280
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.filterDefinitions:Ljava/util/Set;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/engine/spi/FilterDefinition;>;

  public void addFilterDefinition(org.hibernate.engine.spi.FilterDefinition);
    descriptor: (Lorg/hibernate/engine/spi/FilterDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.engine.spi.FilterDefinition filterDefinition
         0: .line 284
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.filterDefinitions:Ljava/util/Set;
            aload 1 /* filterDefinition */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 285
            return
        end local 1 // org.hibernate.engine.spi.FilterDefinition filterDefinition
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  filterDefinition  Lorg/hibernate/engine/spi/FilterDefinition;
    MethodParameters:
                  Name  Flags
      filterDefinition  

  public java.lang.Iterable<org.hibernate.metamodel.binding.SingularAssociationAttributeBinding> getEntityReferencingAttributeBindings();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 288
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.entityReferencingAttributeBindings:Ljava/util/Set;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/SingularAssociationAttributeBinding;>;

  public org.hibernate.metamodel.binding.EntityBinding seekEntityBinding();
    descriptor: ()Lorg/hibernate/metamodel/binding/EntityBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 293
            aload 0 /* this */
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public java.lang.String getPathBase();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 298
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public java.lang.Class<?> getClassReference();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 303
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getClassReference:()Ljava/lang/Class;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Ljava/lang/Class<*>;

  public org.hibernate.metamodel.domain.AttributeContainer getAttributeContainer();
    descriptor: ()Lorg/hibernate/metamodel/domain/AttributeContainer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 308
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  protected void registerAttributeBinding(java.lang.String, org.hibernate.metamodel.binding.AttributeBinding);
    descriptor: (Ljava/lang/String;Lorg/hibernate/metamodel/binding/AttributeBinding;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // java.lang.String name
        start local 2 // org.hibernate.metamodel.binding.AttributeBinding attributeBinding
         0: .line 312
            ldc Lorg/hibernate/metamodel/binding/SingularAssociationAttributeBinding;
            aload 2 /* attributeBinding */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 313
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.entityReferencingAttributeBindings:Ljava/util/Set;
            aload 2 /* attributeBinding */
            checkcast org.hibernate.metamodel.binding.SingularAssociationAttributeBinding
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.attributeBindingMap:Ljava/util/Map;
            aload 1 /* name */
            aload 2 /* attributeBinding */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 316
            return
        end local 2 // org.hibernate.metamodel.binding.AttributeBinding attributeBinding
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    4     1              name  Ljava/lang/String;
            0    4     2  attributeBinding  Lorg/hibernate/metamodel/binding/AttributeBinding;
    MethodParameters:
                  Name  Flags
      name              
      attributeBinding  

  public org.hibernate.metamodel.source.MetaAttributeContext getMetaAttributeContext();
    descriptor: ()Lorg/hibernate/metamodel/source/MetaAttributeContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 320
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.metaAttributeContext:Lorg/hibernate/metamodel/source/MetaAttributeContext;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setMetaAttributeContext(org.hibernate.metamodel.source.MetaAttributeContext);
    descriptor: (Lorg/hibernate/metamodel/source/MetaAttributeContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.source.MetaAttributeContext metaAttributeContext
         0: .line 324
            aload 0 /* this */
            aload 1 /* metaAttributeContext */
            putfield org.hibernate.metamodel.binding.EntityBinding.metaAttributeContext:Lorg/hibernate/metamodel/source/MetaAttributeContext;
         1: .line 325
            return
        end local 1 // org.hibernate.metamodel.source.MetaAttributeContext metaAttributeContext
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  metaAttributeContext  Lorg/hibernate/metamodel/source/MetaAttributeContext;
    MethodParameters:
                      Name  Flags
      metaAttributeContext  

  public boolean isMutable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 328
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.mutable:Z
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setMutable(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // boolean mutable
         0: .line 332
            aload 0 /* this */
            iload 1 /* mutable */
            putfield org.hibernate.metamodel.binding.EntityBinding.mutable:Z
         1: .line 333
            return
        end local 1 // boolean mutable
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  mutable  Z
    MethodParameters:
         Name  Flags
      mutable  

  public boolean isLazy();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 336
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.lazy:Z
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setLazy(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // boolean lazy
         0: .line 340
            aload 0 /* this */
            iload 1 /* lazy */
            putfield org.hibernate.metamodel.binding.EntityBinding.lazy:Z
         1: .line 341
            return
        end local 1 // boolean lazy
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  lazy  Z
    MethodParameters:
      Name  Flags
      lazy  

  public org.hibernate.internal.util.ValueHolder<java.lang.Class<?>> getProxyInterfaceType();
    descriptor: ()Lorg/hibernate/internal/util/ValueHolder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 344
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.proxyInterfaceType:Lorg/hibernate/internal/util/ValueHolder;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Lorg/hibernate/internal/util/ValueHolder<Ljava/lang/Class<*>;>;

  public void setProxyInterfaceType(org.hibernate.internal.util.ValueHolder<java.lang.Class<?>>);
    descriptor: (Lorg/hibernate/internal/util/ValueHolder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.internal.util.ValueHolder proxyInterfaceType
         0: .line 348
            aload 0 /* this */
            aload 1 /* proxyInterfaceType */
            putfield org.hibernate.metamodel.binding.EntityBinding.proxyInterfaceType:Lorg/hibernate/internal/util/ValueHolder;
         1: .line 349
            return
        end local 1 // org.hibernate.internal.util.ValueHolder proxyInterfaceType
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  proxyInterfaceType  Lorg/hibernate/internal/util/ValueHolder<Ljava/lang/Class<*>;>;
    Signature: (Lorg/hibernate/internal/util/ValueHolder<Ljava/lang/Class<*>;>;)V
    MethodParameters:
                    Name  Flags
      proxyInterfaceType  

  public java.lang.String getWhereFilter();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 352
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.whereFilter:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setWhereFilter(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.metamodel.binding.EntityBinding this
        start local 1 // java.lang.String whereFilter
         0: .line 356
            aload 0 /* this */
            aload 1 /* whereFilter */
            putfield org.hibernate.metamodel.binding.EntityBinding.whereFilter:Ljava/lang/String;
         1: .line 357
            return
        end local 1 // java.lang.String whereFilter
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  whereFilter  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      whereFilter  

  public java.lang.String getRowId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 360
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.rowId:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setRowId(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.metamodel.binding.EntityBinding this
        start local 1 // java.lang.String rowId
         0: .line 364
            aload 0 /* this */
            aload 1 /* rowId */
            putfield org.hibernate.metamodel.binding.EntityBinding.rowId:Ljava/lang/String;
         1: .line 365
            return
        end local 1 // java.lang.String rowId
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  rowId  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      rowId  

  public boolean isDynamicUpdate();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 368
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.dynamicUpdate:Z
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setDynamicUpdate(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // boolean dynamicUpdate
         0: .line 372
            aload 0 /* this */
            iload 1 /* dynamicUpdate */
            putfield org.hibernate.metamodel.binding.EntityBinding.dynamicUpdate:Z
         1: .line 373
            return
        end local 1 // boolean dynamicUpdate
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  dynamicUpdate  Z
    MethodParameters:
               Name  Flags
      dynamicUpdate  

  public boolean isDynamicInsert();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 376
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.dynamicInsert:Z
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setDynamicInsert(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // boolean dynamicInsert
         0: .line 380
            aload 0 /* this */
            iload 1 /* dynamicInsert */
            putfield org.hibernate.metamodel.binding.EntityBinding.dynamicInsert:Z
         1: .line 381
            return
        end local 1 // boolean dynamicInsert
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  dynamicInsert  Z
    MethodParameters:
               Name  Flags
      dynamicInsert  

  public int getBatchSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 384
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.batchSize:I
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setBatchSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // int batchSize
         0: .line 388
            aload 0 /* this */
            iload 1 /* batchSize */
            putfield org.hibernate.metamodel.binding.EntityBinding.batchSize:I
         1: .line 389
            return
        end local 1 // int batchSize
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  batchSize  I
    MethodParameters:
           Name  Flags
      batchSize  

  public boolean isSelectBeforeUpdate();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 392
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.selectBeforeUpdate:Z
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setSelectBeforeUpdate(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // boolean selectBeforeUpdate
         0: .line 396
            aload 0 /* this */
            iload 1 /* selectBeforeUpdate */
            putfield org.hibernate.metamodel.binding.EntityBinding.selectBeforeUpdate:Z
         1: .line 397
            return
        end local 1 // boolean selectBeforeUpdate
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  selectBeforeUpdate  Z
    MethodParameters:
                    Name  Flags
      selectBeforeUpdate  

  public boolean hasSubselectLoadableCollections();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 400
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.hasSubselectLoadableCollections:Z
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  void setSubselectLoadableCollections(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // boolean hasSubselectLoadableCollections
         0: .line 405
            aload 0 /* this */
            iload 1 /* hasSubselectLoadableCollections */
            putfield org.hibernate.metamodel.binding.EntityBinding.hasSubselectLoadableCollections:Z
         1: .line 406
            return
        end local 1 // boolean hasSubselectLoadableCollections
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0    2     0                             this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  hasSubselectLoadableCollections  Z
    MethodParameters:
                                 Name  Flags
      hasSubselectLoadableCollections  

  public java.lang.Class<? extends org.hibernate.persister.entity.EntityPersister> getCustomEntityPersisterClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 409
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.customEntityPersisterClass:Ljava/lang/Class;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Ljava/lang/Class<+Lorg/hibernate/persister/entity/EntityPersister;>;

  public void setCustomEntityPersisterClass(java.lang.Class<? extends org.hibernate.persister.entity.EntityPersister>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // java.lang.Class customEntityPersisterClass
         0: .line 413
            aload 0 /* this */
            aload 1 /* customEntityPersisterClass */
            putfield org.hibernate.metamodel.binding.EntityBinding.customEntityPersisterClass:Ljava/lang/Class;
         1: .line 414
            return
        end local 1 // java.lang.Class customEntityPersisterClass
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    2     0                        this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  customEntityPersisterClass  Ljava/lang/Class<+Lorg/hibernate/persister/entity/EntityPersister;>;
    Signature: (Ljava/lang/Class<+Lorg/hibernate/persister/entity/EntityPersister;>;)V
    MethodParameters:
                            Name  Flags
      customEntityPersisterClass  

  public java.lang.Class<? extends org.hibernate.tuple.entity.EntityTuplizer> getCustomEntityTuplizerClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 417
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.customEntityTuplizerClass:Ljava/lang/Class;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Ljava/lang/Class<+Lorg/hibernate/tuple/entity/EntityTuplizer;>;

  public void setCustomEntityTuplizerClass(java.lang.Class<? extends org.hibernate.tuple.entity.EntityTuplizer>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // java.lang.Class customEntityTuplizerClass
         0: .line 421
            aload 0 /* this */
            aload 1 /* customEntityTuplizerClass */
            putfield org.hibernate.metamodel.binding.EntityBinding.customEntityTuplizerClass:Ljava/lang/Class;
         1: .line 422
            return
        end local 1 // java.lang.Class customEntityTuplizerClass
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  customEntityTuplizerClass  Ljava/lang/Class<+Lorg/hibernate/tuple/entity/EntityTuplizer;>;
    Signature: (Ljava/lang/Class<+Lorg/hibernate/tuple/entity/EntityTuplizer;>;)V
    MethodParameters:
                           Name  Flags
      customEntityTuplizerClass  

  public java.lang.Boolean isAbstract();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 425
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.isAbstract:Ljava/lang/Boolean;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setAbstract(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // java.lang.Boolean isAbstract
         0: .line 429
            aload 0 /* this */
            aload 1 /* isAbstract */
            putfield org.hibernate.metamodel.binding.EntityBinding.isAbstract:Ljava/lang/Boolean;
         1: .line 430
            return
        end local 1 // java.lang.Boolean isAbstract
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  isAbstract  Ljava/lang/Boolean;
    MethodParameters:
            Name  Flags
      isAbstract  

  public java.util.Set<java.lang.String> getSynchronizedTableNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 433
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.synchronizedTableNames:Ljava/util/Set;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public void addSynchronizedTableNames(java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // java.util.Collection synchronizedTableNames
         0: .line 437
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.synchronizedTableNames:Ljava/util/Set;
            aload 1 /* synchronizedTableNames */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 438
            return
        end local 1 // java.util.Collection synchronizedTableNames
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  synchronizedTableNames  Ljava/util/Collection<Ljava/lang/String;>;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
                        Name  Flags
      synchronizedTableNames  

  public java.lang.String getJpaEntityName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 441
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.jpaEntityName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setJpaEntityName(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.metamodel.binding.EntityBinding this
        start local 1 // java.lang.String jpaEntityName
         0: .line 445
            aload 0 /* this */
            aload 1 /* jpaEntityName */
            putfield org.hibernate.metamodel.binding.EntityBinding.jpaEntityName:Ljava/lang/String;
         1: .line 446
            return
        end local 1 // java.lang.String jpaEntityName
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  jpaEntityName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      jpaEntityName  

  public java.lang.String getCustomLoaderName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 449
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.customLoaderName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setCustomLoaderName(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.metamodel.binding.EntityBinding this
        start local 1 // java.lang.String customLoaderName
         0: .line 453
            aload 0 /* this */
            aload 1 /* customLoaderName */
            putfield org.hibernate.metamodel.binding.EntityBinding.customLoaderName:Ljava/lang/String;
         1: .line 454
            return
        end local 1 // java.lang.String customLoaderName
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  customLoaderName  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      customLoaderName  

  public org.hibernate.metamodel.binding.CustomSQL getCustomInsert();
    descriptor: ()Lorg/hibernate/metamodel/binding/CustomSQL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 457
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.customInsert:Lorg/hibernate/metamodel/binding/CustomSQL;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setCustomInsert(org.hibernate.metamodel.binding.CustomSQL);
    descriptor: (Lorg/hibernate/metamodel/binding/CustomSQL;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.binding.CustomSQL customInsert
         0: .line 461
            aload 0 /* this */
            aload 1 /* customInsert */
            putfield org.hibernate.metamodel.binding.EntityBinding.customInsert:Lorg/hibernate/metamodel/binding/CustomSQL;
         1: .line 462
            return
        end local 1 // org.hibernate.metamodel.binding.CustomSQL customInsert
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  customInsert  Lorg/hibernate/metamodel/binding/CustomSQL;
    MethodParameters:
              Name  Flags
      customInsert  

  public org.hibernate.metamodel.binding.CustomSQL getCustomUpdate();
    descriptor: ()Lorg/hibernate/metamodel/binding/CustomSQL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 465
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.customUpdate:Lorg/hibernate/metamodel/binding/CustomSQL;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setCustomUpdate(org.hibernate.metamodel.binding.CustomSQL);
    descriptor: (Lorg/hibernate/metamodel/binding/CustomSQL;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.binding.CustomSQL customUpdate
         0: .line 469
            aload 0 /* this */
            aload 1 /* customUpdate */
            putfield org.hibernate.metamodel.binding.EntityBinding.customUpdate:Lorg/hibernate/metamodel/binding/CustomSQL;
         1: .line 470
            return
        end local 1 // org.hibernate.metamodel.binding.CustomSQL customUpdate
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  customUpdate  Lorg/hibernate/metamodel/binding/CustomSQL;
    MethodParameters:
              Name  Flags
      customUpdate  

  public org.hibernate.metamodel.binding.CustomSQL getCustomDelete();
    descriptor: ()Lorg/hibernate/metamodel/binding/CustomSQL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 473
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.customDelete:Lorg/hibernate/metamodel/binding/CustomSQL;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public void setCustomDelete(org.hibernate.metamodel.binding.CustomSQL);
    descriptor: (Lorg/hibernate/metamodel/binding/CustomSQL;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.binding.CustomSQL customDelete
         0: .line 477
            aload 0 /* this */
            aload 1 /* customDelete */
            putfield org.hibernate.metamodel.binding.EntityBinding.customDelete:Lorg/hibernate/metamodel/binding/CustomSQL;
         1: .line 478
            return
        end local 1 // org.hibernate.metamodel.binding.CustomSQL customDelete
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  customDelete  Lorg/hibernate/metamodel/binding/CustomSQL;
    MethodParameters:
              Name  Flags
      customDelete  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 482
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 483
            aload 1 /* sb */
            ldc "EntityBinding"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 484
            aload 1 /* sb */
            ldc "{entity="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.entity:Lorg/hibernate/metamodel/domain/Entity;
            ifnull 3
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.entity:Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
            goto 4
      StackMap locals: org.hibernate.metamodel.binding.EntityBinding java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder
         3: ldc "not set"
      StackMap locals: org.hibernate.metamodel.binding.EntityBinding java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder java.lang.String
         4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 485
            aload 1 /* sb */
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 486
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
            1    7     1    sb  Ljava/lang/StringBuilder;

  public org.hibernate.metamodel.binding.BasicAttributeBinding makeBasicAttributeBinding(org.hibernate.metamodel.domain.SingularAttribute);
    descriptor: (Lorg/hibernate/metamodel/domain/SingularAttribute;)Lorg/hibernate/metamodel/binding/BasicAttributeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.domain.SingularAttribute attribute
         0: .line 491
            aload 0 /* this */
            aload 1 /* attribute */
            iconst_0
            iconst_0
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.makeSimpleAttributeBinding:(Lorg/hibernate/metamodel/domain/SingularAttribute;ZZ)Lorg/hibernate/metamodel/binding/BasicAttributeBinding;
            areturn
        end local 1 // org.hibernate.metamodel.domain.SingularAttribute attribute
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    1     1  attribute  Lorg/hibernate/metamodel/domain/SingularAttribute;
    MethodParameters:
           Name  Flags
      attribute  

  private org.hibernate.metamodel.binding.BasicAttributeBinding makeSimpleAttributeBinding(org.hibernate.metamodel.domain.SingularAttribute, boolean, boolean);
    descriptor: (Lorg/hibernate/metamodel/domain/SingularAttribute;ZZ)Lorg/hibernate/metamodel/binding/BasicAttributeBinding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.domain.SingularAttribute attribute
        start local 2 // boolean forceNonNullable
        start local 3 // boolean forceUnique
         0: .line 495
            new org.hibernate.metamodel.binding.BasicAttributeBinding
            dup
         1: .line 496
            aload 0 /* this */
         2: .line 497
            aload 1 /* attribute */
         3: .line 498
            iload 2 /* forceNonNullable */
         4: .line 499
            iload 3 /* forceUnique */
         5: .line 495
            invokespecial org.hibernate.metamodel.binding.BasicAttributeBinding.<init>:(Lorg/hibernate/metamodel/binding/AttributeBindingContainer;Lorg/hibernate/metamodel/domain/SingularAttribute;ZZ)V
            astore 4 /* binding */
        start local 4 // org.hibernate.metamodel.binding.BasicAttributeBinding binding
         6: .line 501
            aload 0 /* this */
            aload 1 /* attribute */
            invokeinterface org.hibernate.metamodel.domain.SingularAttribute.getName:()Ljava/lang/String;
            aload 4 /* binding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.registerAttributeBinding:(Ljava/lang/String;Lorg/hibernate/metamodel/binding/AttributeBinding;)V
         7: .line 502
            aload 4 /* binding */
            areturn
        end local 4 // org.hibernate.metamodel.binding.BasicAttributeBinding binding
        end local 3 // boolean forceUnique
        end local 2 // boolean forceNonNullable
        end local 1 // org.hibernate.metamodel.domain.SingularAttribute attribute
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    8     1         attribute  Lorg/hibernate/metamodel/domain/SingularAttribute;
            0    8     2  forceNonNullable  Z
            0    8     3       forceUnique  Z
            6    8     4           binding  Lorg/hibernate/metamodel/binding/BasicAttributeBinding;
    MethodParameters:
                  Name  Flags
      attribute         
      forceNonNullable  
      forceUnique       

  public org.hibernate.metamodel.binding.ComponentAttributeBinding makeComponentAttributeBinding(org.hibernate.metamodel.domain.SingularAttribute);
    descriptor: (Lorg/hibernate/metamodel/domain/SingularAttribute;)Lorg/hibernate/metamodel/binding/ComponentAttributeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.domain.SingularAttribute attribute
         0: .line 507
            new org.hibernate.metamodel.binding.ComponentAttributeBinding
            dup
            aload 0 /* this */
            aload 1 /* attribute */
            invokespecial org.hibernate.metamodel.binding.ComponentAttributeBinding.<init>:(Lorg/hibernate/metamodel/binding/AttributeBindingContainer;Lorg/hibernate/metamodel/domain/SingularAttribute;)V
            astore 2 /* binding */
        start local 2 // org.hibernate.metamodel.binding.ComponentAttributeBinding binding
         1: .line 508
            aload 0 /* this */
            aload 1 /* attribute */
            invokeinterface org.hibernate.metamodel.domain.SingularAttribute.getName:()Ljava/lang/String;
            aload 2 /* binding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.registerAttributeBinding:(Ljava/lang/String;Lorg/hibernate/metamodel/binding/AttributeBinding;)V
         2: .line 509
            aload 2 /* binding */
            areturn
        end local 2 // org.hibernate.metamodel.binding.ComponentAttributeBinding binding
        end local 1 // org.hibernate.metamodel.domain.SingularAttribute attribute
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    3     1  attribute  Lorg/hibernate/metamodel/domain/SingularAttribute;
            1    3     2    binding  Lorg/hibernate/metamodel/binding/ComponentAttributeBinding;
    MethodParameters:
           Name  Flags
      attribute  

  public org.hibernate.metamodel.binding.ManyToOneAttributeBinding makeManyToOneAttributeBinding(org.hibernate.metamodel.domain.SingularAttribute);
    descriptor: (Lorg/hibernate/metamodel/domain/SingularAttribute;)Lorg/hibernate/metamodel/binding/ManyToOneAttributeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.domain.SingularAttribute attribute
         0: .line 514
            new org.hibernate.metamodel.binding.ManyToOneAttributeBinding
            dup
            aload 0 /* this */
            aload 1 /* attribute */
            invokespecial org.hibernate.metamodel.binding.ManyToOneAttributeBinding.<init>:(Lorg/hibernate/metamodel/binding/AttributeBindingContainer;Lorg/hibernate/metamodel/domain/SingularAttribute;)V
            astore 2 /* binding */
        start local 2 // org.hibernate.metamodel.binding.ManyToOneAttributeBinding binding
         1: .line 515
            aload 0 /* this */
            aload 1 /* attribute */
            invokeinterface org.hibernate.metamodel.domain.SingularAttribute.getName:()Ljava/lang/String;
            aload 2 /* binding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.registerAttributeBinding:(Ljava/lang/String;Lorg/hibernate/metamodel/binding/AttributeBinding;)V
         2: .line 516
            aload 2 /* binding */
            areturn
        end local 2 // org.hibernate.metamodel.binding.ManyToOneAttributeBinding binding
        end local 1 // org.hibernate.metamodel.domain.SingularAttribute attribute
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    3     1  attribute  Lorg/hibernate/metamodel/domain/SingularAttribute;
            1    3     2    binding  Lorg/hibernate/metamodel/binding/ManyToOneAttributeBinding;
    MethodParameters:
           Name  Flags
      attribute  

  public org.hibernate.metamodel.binding.BagBinding makeBagAttributeBinding(org.hibernate.metamodel.domain.PluralAttribute, org.hibernate.metamodel.binding.CollectionElementNature);
    descriptor: (Lorg/hibernate/metamodel/domain/PluralAttribute;Lorg/hibernate/metamodel/binding/CollectionElementNature;)Lorg/hibernate/metamodel/binding/BagBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.domain.PluralAttribute attribute
        start local 2 // org.hibernate.metamodel.binding.CollectionElementNature nature
         0: .line 521
            aload 1 /* attribute */
            getstatic org.hibernate.metamodel.domain.PluralAttributeNature.BAG:Lorg/hibernate/metamodel/domain/PluralAttributeNature;
            invokestatic org.hibernate.metamodel.binding.Helper.checkPluralAttributeNature:(Lorg/hibernate/metamodel/domain/PluralAttribute;Lorg/hibernate/metamodel/domain/PluralAttributeNature;)V
         1: .line 522
            new org.hibernate.metamodel.binding.BagBinding
            dup
            aload 0 /* this */
            aload 1 /* attribute */
            aload 2 /* nature */
            invokespecial org.hibernate.metamodel.binding.BagBinding.<init>:(Lorg/hibernate/metamodel/binding/AttributeBindingContainer;Lorg/hibernate/metamodel/domain/PluralAttribute;Lorg/hibernate/metamodel/binding/CollectionElementNature;)V
            astore 3 /* binding */
        start local 3 // org.hibernate.metamodel.binding.BagBinding binding
         2: .line 523
            aload 0 /* this */
            aload 1 /* attribute */
            invokeinterface org.hibernate.metamodel.domain.PluralAttribute.getName:()Ljava/lang/String;
            aload 3 /* binding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.registerAttributeBinding:(Ljava/lang/String;Lorg/hibernate/metamodel/binding/AttributeBinding;)V
         3: .line 524
            aload 3 /* binding */
            areturn
        end local 3 // org.hibernate.metamodel.binding.BagBinding binding
        end local 2 // org.hibernate.metamodel.binding.CollectionElementNature nature
        end local 1 // org.hibernate.metamodel.domain.PluralAttribute attribute
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    4     1  attribute  Lorg/hibernate/metamodel/domain/PluralAttribute;
            0    4     2     nature  Lorg/hibernate/metamodel/binding/CollectionElementNature;
            2    4     3    binding  Lorg/hibernate/metamodel/binding/BagBinding;
    MethodParameters:
           Name  Flags
      attribute  
      nature     

  public org.hibernate.metamodel.binding.SetBinding makeSetAttributeBinding(org.hibernate.metamodel.domain.PluralAttribute, org.hibernate.metamodel.binding.CollectionElementNature);
    descriptor: (Lorg/hibernate/metamodel/domain/PluralAttribute;Lorg/hibernate/metamodel/binding/CollectionElementNature;)Lorg/hibernate/metamodel/binding/SetBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // org.hibernate.metamodel.domain.PluralAttribute attribute
        start local 2 // org.hibernate.metamodel.binding.CollectionElementNature nature
         0: .line 529
            aload 1 /* attribute */
            getstatic org.hibernate.metamodel.domain.PluralAttributeNature.SET:Lorg/hibernate/metamodel/domain/PluralAttributeNature;
            invokestatic org.hibernate.metamodel.binding.Helper.checkPluralAttributeNature:(Lorg/hibernate/metamodel/domain/PluralAttribute;Lorg/hibernate/metamodel/domain/PluralAttributeNature;)V
         1: .line 530
            new org.hibernate.metamodel.binding.SetBinding
            dup
            aload 0 /* this */
            aload 1 /* attribute */
            aload 2 /* nature */
            invokespecial org.hibernate.metamodel.binding.SetBinding.<init>:(Lorg/hibernate/metamodel/binding/AttributeBindingContainer;Lorg/hibernate/metamodel/domain/PluralAttribute;Lorg/hibernate/metamodel/binding/CollectionElementNature;)V
            astore 3 /* binding */
        start local 3 // org.hibernate.metamodel.binding.SetBinding binding
         2: .line 531
            aload 0 /* this */
            aload 1 /* attribute */
            invokeinterface org.hibernate.metamodel.domain.PluralAttribute.getName:()Ljava/lang/String;
            aload 3 /* binding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.registerAttributeBinding:(Ljava/lang/String;Lorg/hibernate/metamodel/binding/AttributeBinding;)V
         3: .line 532
            aload 3 /* binding */
            areturn
        end local 3 // org.hibernate.metamodel.binding.SetBinding binding
        end local 2 // org.hibernate.metamodel.binding.CollectionElementNature nature
        end local 1 // org.hibernate.metamodel.domain.PluralAttribute attribute
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    4     1  attribute  Lorg/hibernate/metamodel/domain/PluralAttribute;
            0    4     2     nature  Lorg/hibernate/metamodel/binding/CollectionElementNature;
            2    4     3    binding  Lorg/hibernate/metamodel/binding/SetBinding;
    MethodParameters:
           Name  Flags
      attribute  
      nature     

  public org.hibernate.metamodel.binding.AttributeBinding locateAttributeBinding(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/metamodel/binding/AttributeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // java.lang.String name
         0: .line 537
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.attributeBindingMap:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.AttributeBinding
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.Iterable<org.hibernate.metamodel.binding.AttributeBinding> attributeBindings();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 542
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.attributeBindingMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/AttributeBinding;>;

  public int getAttributeBindingClosureSpan();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 554
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.superEntityBinding:Lorg/hibernate/metamodel/binding/EntityBinding;
            ifnull 2
         1: .line 555
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.superEntityBinding:Lorg/hibernate/metamodel/binding/EntityBinding;
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getAttributeBindingClosureSpan:()I
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.attributeBindingMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            iadd
            goto 3
         2: .line 556
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.attributeBindingMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
         3: .line 554
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;

  public java.lang.Iterable<org.hibernate.metamodel.binding.AttributeBinding> getAttributeBindingClosure();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 569
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.superEntityBinding:Lorg/hibernate/metamodel/binding/EntityBinding;
            ifnull 6
         1: .line 570
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* iterables */
        start local 2 // java.util.List iterables
         2: .line 571
            aload 2 /* iterables */
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.superEntityBinding:Lorg/hibernate/metamodel/binding/EntityBinding;
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getAttributeBindingClosure:()Ljava/lang/Iterable;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 572
            aload 2 /* iterables */
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.attributeBindings:()Ljava/lang/Iterable;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 573
            new org.hibernate.internal.util.collections.JoinedIterable
            dup
            aload 2 /* iterables */
            invokespecial org.hibernate.internal.util.collections.JoinedIterable.<init>:(Ljava/util/List;)V
            astore 1 /* iterable */
        end local 2 // java.util.List iterables
        start local 1 // java.lang.Iterable iterable
         5: .line 574
            goto 7
        end local 1 // java.lang.Iterable iterable
         6: .line 576
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.attributeBindings:()Ljava/lang/Iterable;
            astore 1 /* iterable */
        start local 1 // java.lang.Iterable iterable
         7: .line 578
      StackMap locals: java.lang.Iterable
      StackMap stack:
            aload 1 /* iterable */
            areturn
        end local 1 // java.lang.Iterable iterable
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/hibernate/metamodel/binding/EntityBinding;
            5    6     1   iterable  Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/AttributeBinding;>;
            7    8     1   iterable  Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/AttributeBinding;>;
            2    5     2  iterables  Ljava/util/List<Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/AttributeBinding;>;>;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/AttributeBinding;>;

  public java.lang.Iterable<org.hibernate.metamodel.binding.AttributeBinding> getSubEntityAttributeBindingClosure();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 588
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* iterables */
        start local 1 // java.util.List iterables
         1: .line 589
            aload 1 /* iterables */
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getAttributeBindingClosure:()Ljava/lang/Iterable;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 590
            aload 0 /* this */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getPreOrderSubEntityBindingClosure:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.hibernate.metamodel.binding.EntityBinding java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.EntityBinding
            astore 2 /* subEntityBinding */
        start local 2 // org.hibernate.metamodel.binding.EntityBinding subEntityBinding
         4: .line 592
            aload 1 /* iterables */
            aload 2 /* subEntityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.attributeBindings:()Ljava/lang/Iterable;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.hibernate.metamodel.binding.EntityBinding subEntityBinding
         5: .line 590
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 595
            new org.hibernate.internal.util.collections.JoinedIterable
            dup
            aload 1 /* iterables */
            invokespecial org.hibernate.internal.util.collections.JoinedIterable.<init>:(Ljava/util/List;)V
            areturn
        end local 1 // java.util.List iterables
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/hibernate/metamodel/binding/EntityBinding;
            1    7     1         iterables  Ljava/util/List<Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/AttributeBinding;>;>;
            4    5     2  subEntityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/binding/AttributeBinding;>;

  public void setJpaCallbackClasses(java.util.List<org.hibernate.metamodel.source.binder.JpaCallbackClass>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
        start local 1 // java.util.List jpaCallbackClasses
         0: .line 599
            aload 0 /* this */
            aload 1 /* jpaCallbackClasses */
            putfield org.hibernate.metamodel.binding.EntityBinding.jpaCallbackClasses:Ljava/util/List;
         1: .line 600
            return
        end local 1 // java.util.List jpaCallbackClasses
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/hibernate/metamodel/binding/EntityBinding;
            0    2     1  jpaCallbackClasses  Ljava/util/List<Lorg/hibernate/metamodel/source/binder/JpaCallbackClass;>;
    Signature: (Ljava/util/List<Lorg/hibernate/metamodel/source/binder/JpaCallbackClass;>;)V
    MethodParameters:
                    Name  Flags
      jpaCallbackClasses  

  public java.lang.Iterable<org.hibernate.metamodel.source.binder.JpaCallbackClass> getJpaCallbackClasses();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.metamodel.binding.EntityBinding this
         0: .line 603
            aload 0 /* this */
            getfield org.hibernate.metamodel.binding.EntityBinding.jpaCallbackClasses:Ljava/util/List;
            areturn
        end local 0 // org.hibernate.metamodel.binding.EntityBinding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/metamodel/binding/EntityBinding;
    Signature: ()Ljava/lang/Iterable<Lorg/hibernate/metamodel/source/binder/JpaCallbackClass;>;
}
SourceFile: "EntityBinding.java"