public abstract class org.hibernate.mapping.PersistentClass implements java.io.Serializable, org.hibernate.mapping.Filterable, org.hibernate.mapping.MetaAttributable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.mapping.PersistentClass
  super_class: java.lang.Object
{
  private static final org.hibernate.sql.Alias PK_ALIAS;
    descriptor: Lorg/hibernate/sql/Alias;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String NULL_DISCRIMINATOR_MAPPING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "null"

  public static final java.lang.String NOT_NULL_DISCRIMINATOR_MAPPING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "not null"

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

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

  private transient java.lang.Class mappedClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

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

  private transient java.lang.Class proxyInterface;
    descriptor: Ljava/lang/Class;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

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

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

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

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

  private java.util.ArrayList properties;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayList declaredProperties;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private boolean dynamicUpdate;
    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 java.util.Map metaAttributes;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayList joins;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE

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

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

  protected final java.util.Set synchronizedTables;
    descriptor: Ljava/util/Set;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

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

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

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

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

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

  private org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle insertCheckStyle;
    descriptor: Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0002) ACC_PRIVATE

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

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

  private org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle updateCheckStyle;
    descriptor: Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0002) ACC_PRIVATE

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

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

  private org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle deleteCheckStyle;
    descriptor: Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0002) ACC_PRIVATE

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

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

  private java.util.Map tuplizerImpls;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

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

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

  private org.hibernate.engine.OptimisticLockStyle optimisticLockStyle;
    descriptor: Lorg/hibernate/engine/OptimisticLockStyle;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 54
            new org.hibernate.sql.Alias
            dup
            bipush 15
            ldc "PK"
            invokespecial org.hibernate.sql.Alias.<init>:(ILjava/lang/String;)V
            putstatic org.hibernate.mapping.PersistentClass.PK_ALIAS:Lorg/hibernate/sql/Alias;
         1: .line 57
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.mapping.PersistentClass.properties:Ljava/util/ArrayList;
         2: .line 73
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.mapping.PersistentClass.declaredProperties:Ljava/util/ArrayList;
         3: .line 74
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.mapping.PersistentClass.subclasses:Ljava/util/ArrayList;
         4: .line 75
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.mapping.PersistentClass.subclassProperties:Ljava/util/ArrayList;
         5: .line 76
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.mapping.PersistentClass.subclassTables:Ljava/util/ArrayList;
         6: .line 79
            aload 0 /* this */
            iconst_m1
            putfield org.hibernate.mapping.PersistentClass.batchSize:I
         7: .line 82
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
         8: .line 83
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.mapping.PersistentClass.subclassJoins:Ljava/util/ArrayList;
         9: .line 84
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.mapping.PersistentClass.filters:Ljava/util/List;
        10: .line 85
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.mapping.PersistentClass.synchronizedTables:Ljava/util/Set;
        11: .line 52
            return
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/hibernate/mapping/PersistentClass;

  public java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 112
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.className:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setClassName(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.mapping.PersistentClass this
        start local 1 // java.lang.String className
         0: .line 116
            aload 0 /* this */
            aload 1 /* className */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack: org.hibernate.mapping.PersistentClass
         1: aload 1 /* className */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
      StackMap locals: org.hibernate.mapping.PersistentClass java.lang.String
      StackMap stack: org.hibernate.mapping.PersistentClass java.lang.String
         2: putfield org.hibernate.mapping.PersistentClass.className:Ljava/lang/String;
         3: .line 117
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.mapping.PersistentClass.mappedClass:Ljava/lang/Class;
         4: .line 118
            return
        end local 1 // java.lang.String className
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/hibernate/mapping/PersistentClass;
            0    5     1  className  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      className  

  public java.lang.String getProxyInterfaceName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 121
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.proxyInterfaceName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setProxyInterfaceName(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.mapping.PersistentClass this
        start local 1 // java.lang.String proxyInterfaceName
         0: .line 125
            aload 0 /* this */
            aload 1 /* proxyInterfaceName */
            putfield org.hibernate.mapping.PersistentClass.proxyInterfaceName:Ljava/lang/String;
         1: .line 126
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.mapping.PersistentClass.proxyInterface:Ljava/lang/Class;
         2: .line 127
            return
        end local 1 // java.lang.String proxyInterfaceName
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lorg/hibernate/mapping/PersistentClass;
            0    3     1  proxyInterfaceName  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      proxyInterfaceName  

  public java.lang.Class getMappedClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 130
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.className:Ljava/lang/String;
            ifnonnull 1
            aconst_null
            areturn
         1: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.mappedClass:Ljava/lang/Class;
            ifnonnull 3
         2: .line 133
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.className:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.ReflectHelper.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            putfield org.hibernate.mapping.PersistentClass.mappedClass:Ljava/lang/Class;
         3: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.mappedClass:Ljava/lang/Class;
         4: areturn
         5: .line 137
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 1 /* cnfe */
        start local 1 // java.lang.ClassNotFoundException cnfe
         6: .line 138
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "entity class not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.className:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* cnfe */
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassNotFoundException cnfe
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/mapping/PersistentClass;
            6    7     1  cnfe  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.ClassNotFoundException
    Exceptions:
      throws org.hibernate.MappingException

  public java.lang.Class getProxyInterface();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 143
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.proxyInterfaceName:Ljava/lang/String;
            ifnonnull 1
            aconst_null
            areturn
         1: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.proxyInterface:Ljava/lang/Class;
            ifnonnull 3
         2: .line 146
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.proxyInterfaceName:Ljava/lang/String;
            invokestatic org.hibernate.internal.util.ReflectHelper.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            putfield org.hibernate.mapping.PersistentClass.proxyInterface:Ljava/lang/Class;
         3: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.proxyInterface:Ljava/lang/Class;
         4: areturn
         5: .line 150
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 1 /* cnfe */
        start local 1 // java.lang.ClassNotFoundException cnfe
         6: .line 151
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "proxy class not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.proxyInterfaceName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* cnfe */
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassNotFoundException cnfe
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/mapping/PersistentClass;
            6    7     1  cnfe  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.ClassNotFoundException

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

  abstract int nextSubclassId();
    descriptor: ()I
    flags: (0x0400) ACC_ABSTRACT

  public abstract int getSubclassId();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

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

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

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

  public java.lang.String getDiscriminatorValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 175
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.discriminatorValue:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void addSubclass(org.hibernate.mapping.Subclass);
    descriptor: (Lorg/hibernate/mapping/Subclass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Subclass subclass
         0: .line 180
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getSuperclass:()Lorg/hibernate/mapping/PersistentClass;
            astore 2 /* superclass */
        start local 2 // org.hibernate.mapping.PersistentClass superclass
         1: .line 181
            goto 11
         2: .line 182
      StackMap locals: org.hibernate.mapping.PersistentClass
      StackMap stack:
            aload 1 /* subclass */
            invokevirtual org.hibernate.mapping.Subclass.getEntityName:()Ljava/lang/String;
            aload 2 /* superclass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         3: .line 183
            new org.hibernate.MappingException
            dup
         4: .line 184
            new java.lang.StringBuilder
            dup
            ldc "Circular inheritance mapping detected: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 185
            aload 1 /* subclass */
            invokevirtual org.hibernate.mapping.Subclass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 186
            ldc " will have it self as superclass when extending "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 187
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 184
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 183
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 190
      StackMap locals:
      StackMap stack:
            aload 2 /* superclass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSuperclass:()Lorg/hibernate/mapping/PersistentClass;
            astore 2 /* superclass */
        11: .line 181
      StackMap locals:
      StackMap stack:
            aload 2 /* superclass */
            ifnonnull 2
        12: .line 192
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclasses:Ljava/util/ArrayList;
            aload 1 /* subclass */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 193
            return
        end local 2 // org.hibernate.mapping.PersistentClass superclass
        end local 1 // org.hibernate.mapping.Subclass subclass
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/hibernate/mapping/PersistentClass;
            0   14     1    subclass  Lorg/hibernate/mapping/Subclass;
            1   14     2  superclass  Lorg/hibernate/mapping/PersistentClass;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
          Name  Flags
      subclass  

  public boolean hasSubclasses();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 196
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclasses:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/PersistentClass;

  public int getSubclassSpan();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 200
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclasses:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 201
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclasses:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         2: .line 202
            goto 4
         3: .line 203
      StackMap locals: int java.util.Iterator
      StackMap stack:
            iload 1 /* n */
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Subclass
            invokevirtual org.hibernate.mapping.Subclass.getSubclassSpan:()I
            iadd
            istore 1 /* n */
         4: .line 202
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         5: .line 205
            iload 1 /* n */
            ireturn
        end local 2 // java.util.Iterator iter
        end local 1 // int n
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/mapping/PersistentClass;
            1    6     1     n  I
            2    6     2  iter  Ljava/util/Iterator;

  public java.util.Iterator getSubclassIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 212
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclasses:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            iadd
            anewarray java.util.Iterator
            astore 1 /* iters */
        start local 1 // java.util.Iterator[] iters
         1: .line 213
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclasses:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         2: .line 214
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: .line 215
            goto 5
         4: .line 216
      StackMap locals: java.util.Iterator[] java.util.Iterator int
      StackMap stack:
            aload 1 /* iters */
            iload 3 /* i */
            iinc 3 /* i */ 1
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Subclass
            invokevirtual org.hibernate.mapping.Subclass.getSubclassIterator:()Ljava/util/Iterator;
            aastore
         5: .line 215
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         6: .line 218
            aload 1 /* iters */
            iload 3 /* i */
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclasses:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            aastore
         7: .line 219
            new org.hibernate.internal.util.collections.JoinedIterator
            dup
            aload 1 /* iters */
            invokespecial org.hibernate.internal.util.collections.JoinedIterator.<init>:([Ljava/util/Iterator;)V
            areturn
        end local 3 // int i
        end local 2 // java.util.Iterator iter
        end local 1 // java.util.Iterator[] iters
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/hibernate/mapping/PersistentClass;
            1    8     1  iters  [Ljava/util/Iterator;
            2    8     2   iter  Ljava/util/Iterator;
            3    8     3      i  I

  public java.util.Iterator getSubclassClosureIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 223
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* iters */
        start local 1 // java.util.ArrayList iters
         1: .line 224
            aload 1 /* iters */
            new org.hibernate.internal.util.collections.SingletonIterator
            dup
            aload 0 /* this */
            invokespecial org.hibernate.internal.util.collections.SingletonIterator.<init>:(Ljava/lang/Object;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 225
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassIterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         3: .line 226
            goto 6
         4: .line 227
      StackMap locals: java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            astore 3 /* clazz */
        start local 3 // org.hibernate.mapping.PersistentClass clazz
         5: .line 228
            aload 1 /* iters */
            aload 3 /* clazz */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassClosureIterator:()Ljava/util/Iterator;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.hibernate.mapping.PersistentClass clazz
         6: .line 226
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 230
            new org.hibernate.internal.util.collections.JoinedIterator
            dup
            aload 1 /* iters */
            invokespecial org.hibernate.internal.util.collections.JoinedIterator.<init>:(Ljava/util/List;)V
            areturn
        end local 2 // java.util.Iterator iter
        end local 1 // java.util.ArrayList iters
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/hibernate/mapping/PersistentClass;
            1    8     1  iters  Ljava/util/ArrayList;
            3    8     2   iter  Ljava/util/Iterator;
            5    6     3  clazz  Lorg/hibernate/mapping/PersistentClass;

  public org.hibernate.mapping.Table getIdentityTable();
    descriptor: ()Lorg/hibernate/mapping/Table;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 234
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getRootTable:()Lorg/hibernate/mapping/Table;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public java.util.Iterator getDirectSubclasses();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 238
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclasses:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void addProperty(org.hibernate.mapping.Property);
    descriptor: (Lorg/hibernate/mapping/Property;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Property p
         0: .line 242
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.properties:Ljava/util/ArrayList;
            aload 1 /* p */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 243
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.declaredProperties:Ljava/util/ArrayList;
            aload 1 /* p */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 244
            aload 1 /* p */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Property.setPersistentClass:(Lorg/hibernate/mapping/PersistentClass;)V
         3: .line 245
            return
        end local 1 // org.hibernate.mapping.Property p
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/mapping/PersistentClass;
            0    4     1     p  Lorg/hibernate/mapping/Property;
    MethodParameters:
      Name  Flags
      p     

  public abstract org.hibernate.mapping.Table getTable();
    descriptor: ()Lorg/hibernate/mapping/Table;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.String getEntityName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 250
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.entityName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public abstract boolean isMutable();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean hasIdentifierProperty();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.hibernate.mapping.Property getIdentifierProperty();
    descriptor: ()Lorg/hibernate/mapping/Property;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.hibernate.mapping.Property getDeclaredIdentifierProperty();
    descriptor: ()Lorg/hibernate/mapping/Property;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.hibernate.mapping.KeyValue getIdentifier();
    descriptor: ()Lorg/hibernate/mapping/KeyValue;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.hibernate.mapping.Property getVersion();
    descriptor: ()Lorg/hibernate/mapping/Property;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.hibernate.mapping.Property getDeclaredVersion();
    descriptor: ()Lorg/hibernate/mapping/Property;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.hibernate.mapping.Value getDiscriminator();
    descriptor: ()Lorg/hibernate/mapping/Value;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isInherited();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isPolymorphic();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isVersioned();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getNaturalIdCacheRegionName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String getCacheConcurrencyStrategy();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.hibernate.mapping.PersistentClass getSuperclass();
    descriptor: ()Lorg/hibernate/mapping/PersistentClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isExplicitPolymorphism();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isDiscriminatorInsertable();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.Iterator getPropertyClosureIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.Iterator getTableClosureIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.Iterator getKeyClosureIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  protected void addSubclassProperty(org.hibernate.mapping.Property);
    descriptor: (Lorg/hibernate/mapping/Property;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Property prop
         0: .line 275
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclassProperties:Ljava/util/ArrayList;
            aload 1 /* prop */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 276
            return
        end local 1 // org.hibernate.mapping.Property prop
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  prop  Lorg/hibernate/mapping/Property;
    MethodParameters:
      Name  Flags
      prop  

  protected void addSubclassJoin(org.hibernate.mapping.Join);
    descriptor: (Lorg/hibernate/mapping/Join;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Join join
         0: .line 278
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclassJoins:Ljava/util/ArrayList;
            aload 1 /* join */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 279
            return
        end local 1 // org.hibernate.mapping.Join join
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  join  Lorg/hibernate/mapping/Join;
    MethodParameters:
      Name  Flags
      join  

  protected void addSubclassTable(org.hibernate.mapping.Table);
    descriptor: (Lorg/hibernate/mapping/Table;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Table subclassTable
         0: .line 281
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclassTables:Ljava/util/ArrayList;
            aload 1 /* subclassTable */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 282
            return
        end local 1 // org.hibernate.mapping.Table subclassTable
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  subclassTable  Lorg/hibernate/mapping/Table;
    MethodParameters:
               Name  Flags
      subclassTable  

  public java.util.Iterator getSubclassPropertyClosureIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 284
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* iters */
        start local 1 // java.util.ArrayList iters
         1: .line 285
            aload 1 /* iters */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getPropertyClosureIterator:()Ljava/util/Iterator;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 286
            aload 1 /* iters */
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclassProperties:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 287
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 8
         5: .line 288
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclassJoins:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.mapping.Join
            astore 3 /* join */
        start local 3 // org.hibernate.mapping.Join join
         6: .line 289
            aload 1 /* iters */
            aload 3 /* join */
            invokevirtual org.hibernate.mapping.Join.getPropertyIterator:()Ljava/util/Iterator;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.hibernate.mapping.Join join
         7: .line 287
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclassJoins:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 5
        end local 2 // int i
         9: .line 291
            new org.hibernate.internal.util.collections.JoinedIterator
            dup
            aload 1 /* iters */
            invokespecial org.hibernate.internal.util.collections.JoinedIterator.<init>:(Ljava/util/List;)V
            areturn
        end local 1 // java.util.ArrayList iters
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/hibernate/mapping/PersistentClass;
            1   10     1  iters  Ljava/util/ArrayList;
            4    9     2      i  I
            6    7     3   join  Lorg/hibernate/mapping/Join;

  public java.util.Iterator getSubclassJoinClosureIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 294
            new org.hibernate.internal.util.collections.JoinedIterator
            dup
            iconst_2
            anewarray java.util.Iterator
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getJoinClosureIterator:()Ljava/util/Iterator;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclassJoins:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            aastore
            invokespecial org.hibernate.internal.util.collections.JoinedIterator.<init>:([Ljava/util/Iterator;)V
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public java.util.Iterator getSubclassTableClosureIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 297
            new org.hibernate.internal.util.collections.JoinedIterator
            dup
            iconst_2
            anewarray java.util.Iterator
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getTableClosureIterator:()Ljava/util/Iterator;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.subclassTables:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            aastore
            invokespecial org.hibernate.internal.util.collections.JoinedIterator.<init>:([Ljava/util/Iterator;)V
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public boolean isClassOrSuperclassJoin(org.hibernate.mapping.Join);
    descriptor: (Lorg/hibernate/mapping/Join;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Join join
         0: .line 301
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
            aload 1 /* join */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.hibernate.mapping.Join join
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;
            0    1     1  join  Lorg/hibernate/mapping/Join;
    MethodParameters:
      Name  Flags
      join  

  public boolean isClassOrSuperclassTable(org.hibernate.mapping.Table);
    descriptor: (Lorg/hibernate/mapping/Table;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Table closureTable
         0: .line 305
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            aload 1 /* closureTable */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.hibernate.mapping.Table closureTable
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  closureTable  Lorg/hibernate/mapping/Table;
    MethodParameters:
              Name  Flags
      closureTable  

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

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

  public abstract boolean hasEmbeddedIdentifier();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Class getEntityPersisterClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setEntityPersisterClass(java.lang.Class);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                     Name  Flags
      classPersisterClass  

  public abstract org.hibernate.mapping.Table getRootTable();
    descriptor: ()Lorg/hibernate/mapping/Table;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.hibernate.mapping.RootClass getRootClass();
    descriptor: ()Lorg/hibernate/mapping/RootClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.hibernate.mapping.KeyValue getKey();
    descriptor: ()Lorg/hibernate/mapping/KeyValue;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

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

  public void setEntityName(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.mapping.PersistentClass this
        start local 1 // java.lang.String entityName
         0: .line 328
            aload 0 /* this */
            aload 1 /* entityName */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack: org.hibernate.mapping.PersistentClass
         1: aload 1 /* entityName */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
      StackMap locals: org.hibernate.mapping.PersistentClass java.lang.String
      StackMap stack: org.hibernate.mapping.PersistentClass java.lang.String
         2: putfield org.hibernate.mapping.PersistentClass.entityName:Ljava/lang/String;
         3: .line 329
            return
        end local 1 // java.lang.String entityName
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/hibernate/mapping/PersistentClass;
            0    4     1  entityName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      entityName  

  public void createPrimaryKey();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 333
            new org.hibernate.mapping.PrimaryKey
            dup
            invokespecial org.hibernate.mapping.PrimaryKey.<init>:()V
            astore 1 /* pk */
        start local 1 // org.hibernate.mapping.PrimaryKey pk
         1: .line 334
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            astore 2 /* table */
        start local 2 // org.hibernate.mapping.Table table
         2: .line 335
            aload 1 /* pk */
            aload 2 /* table */
            invokevirtual org.hibernate.mapping.PrimaryKey.setTable:(Lorg/hibernate/mapping/Table;)V
         3: .line 336
            aload 1 /* pk */
            getstatic org.hibernate.mapping.PersistentClass.PK_ALIAS:Lorg/hibernate/sql/Alias;
            aload 2 /* table */
            invokevirtual org.hibernate.mapping.Table.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.Alias.toAliasString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.hibernate.mapping.PrimaryKey.setName:(Ljava/lang/String;)V
         4: .line 337
            aload 2 /* table */
            aload 1 /* pk */
            invokevirtual org.hibernate.mapping.Table.setPrimaryKey:(Lorg/hibernate/mapping/PrimaryKey;)V
         5: .line 339
            aload 1 /* pk */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getKey:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnIterator:()Ljava/util/Iterator;
            invokevirtual org.hibernate.mapping.PrimaryKey.addColumns:(Ljava/util/Iterator;)V
         6: .line 340
            return
        end local 2 // org.hibernate.mapping.Table table
        end local 1 // org.hibernate.mapping.PrimaryKey pk
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/hibernate/mapping/PersistentClass;
            1    7     1     pk  Lorg/hibernate/mapping/PrimaryKey;
            2    7     2  table  Lorg/hibernate/mapping/Table;

  public abstract java.lang.String getWhere();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

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

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

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

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

  public java.util.Iterator getReferenceablePropertyIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 367
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getPropertyClosureIterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public org.hibernate.mapping.Property getReferencedProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/mapping/Property;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.lang.String propertyPath
         0: .line 382
            aload 0 /* this */
            aload 1 /* propertyPath */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getReferenceablePropertyIterator:()Ljava/util/Iterator;
            invokevirtual org.hibernate.mapping.PersistentClass.getRecursiveProperty:(Ljava/lang/String;Ljava/util/Iterator;)Lorg/hibernate/mapping/Property;
         1: areturn
         2: .line 384
      StackMap locals:
      StackMap stack: org.hibernate.MappingException
            astore 2 /* e */
        start local 2 // org.hibernate.MappingException e
         3: .line 385
            new org.hibernate.MappingException
            dup
         4: .line 386
            new java.lang.StringBuilder
            dup
            ldc "property-ref ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* propertyPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] not found on entity ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
         5: .line 385
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // org.hibernate.MappingException e
        end local 1 // java.lang.String propertyPath
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/hibernate/mapping/PersistentClass;
            0    6     1  propertyPath  Ljava/lang/String;
            3    6     2             e  Lorg/hibernate/MappingException;
      Exception table:
        from    to  target  type
           0     1       2  Class org.hibernate.MappingException
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
              Name  Flags
      propertyPath  

  public org.hibernate.mapping.Property getRecursiveProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/mapping/Property;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.lang.String propertyPath
         0: .line 393
            aload 0 /* this */
            aload 1 /* propertyPath */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getPropertyIterator:()Ljava/util/Iterator;
            invokevirtual org.hibernate.mapping.PersistentClass.getRecursiveProperty:(Ljava/lang/String;Ljava/util/Iterator;)Lorg/hibernate/mapping/Property;
         1: areturn
         2: .line 395
      StackMap locals:
      StackMap stack: org.hibernate.MappingException
            astore 2 /* e */
        start local 2 // org.hibernate.MappingException e
         3: .line 396
            new org.hibernate.MappingException
            dup
         4: .line 397
            new java.lang.StringBuilder
            dup
            ldc "property ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* propertyPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] not found on entity ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
         5: .line 396
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // org.hibernate.MappingException e
        end local 1 // java.lang.String propertyPath
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/hibernate/mapping/PersistentClass;
            0    6     1  propertyPath  Ljava/lang/String;
            3    6     2             e  Lorg/hibernate/MappingException;
      Exception table:
        from    to  target  type
           0     1       2  Class org.hibernate.MappingException
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
              Name  Flags
      propertyPath  

  private org.hibernate.mapping.Property getRecursiveProperty(java.lang.String, java.util.Iterator);
    descriptor: (Ljava/lang/String;Ljava/util/Iterator;)Lorg/hibernate/mapping/Property;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.lang.String propertyPath
        start local 2 // java.util.Iterator iter
         0: .line 403
            aconst_null
            astore 3 /* property */
        start local 3 // org.hibernate.mapping.Property property
         1: .line 404
            new java.util.StringTokenizer
            dup
            aload 1 /* propertyPath */
            ldc "."
            iconst_0
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 4 /* st */
        start local 4 // java.util.StringTokenizer st
         2: .line 406
            goto 19
         3: .line 407
      StackMap locals: org.hibernate.mapping.Property java.util.StringTokenizer
      StackMap stack:
            aload 4 /* st */
            invokevirtual java.util.StringTokenizer.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* element */
        start local 5 // java.lang.String element
         4: .line 408
            aload 3 /* property */
            ifnonnull 18
         5: .line 409
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierProperty:()Lorg/hibernate/mapping/Property;
            astore 6 /* identifierProperty */
        start local 6 // org.hibernate.mapping.Property identifierProperty
         6: .line 410
            aload 6 /* identifierProperty */
            ifnull 9
            aload 6 /* identifierProperty */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            aload 5 /* element */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 414
            aload 6 /* identifierProperty */
            astore 3 /* property */
         8: .line 415
            goto 15
         9: .line 416
      StackMap locals: java.lang.String org.hibernate.mapping.Property
      StackMap stack:
            aload 6 /* identifierProperty */
            ifnonnull 15
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            ifnull 15
        10: .line 419
            aload 0 /* this */
            aload 5 /* element */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
            invokevirtual org.hibernate.mapping.PersistentClass.getProperty:(Ljava/lang/String;Ljava/util/Iterator;)Lorg/hibernate/mapping/Property;
            astore 6 /* identifierProperty */
        11: .line 420
            aload 6 /* identifierProperty */
            ifnull 15
        12: .line 423
            aload 6 /* identifierProperty */
            astore 3 /* property */
        13: .line 425
            goto 15
        14: .line 426
      StackMap locals:
      StackMap stack: org.hibernate.MappingException
            pop
        15: .line 431
      StackMap locals:
      StackMap stack:
            aload 3 /* property */
            ifnonnull 19
        16: .line 432
            aload 0 /* this */
            aload 5 /* element */
            aload 2 /* iter */
            invokevirtual org.hibernate.mapping.PersistentClass.getProperty:(Ljava/lang/String;Ljava/util/Iterator;)Lorg/hibernate/mapping/Property;
            astore 3 /* property */
        end local 6 // org.hibernate.mapping.Property identifierProperty
        17: .line 434
            goto 19
        18: .line 437
      StackMap locals:
      StackMap stack:
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            aload 5 /* element */
            invokevirtual org.hibernate.mapping.Component.getProperty:(Ljava/lang/String;)Lorg/hibernate/mapping/Property;
            astore 3 /* property */
        end local 5 // java.lang.String element
        19: .line 406
      StackMap locals:
      StackMap stack:
            aload 4 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
            ifne 3
        20: .line 440
            goto 23
        21: .line 441
      StackMap locals:
      StackMap stack: org.hibernate.MappingException
            pop
        22: .line 442
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "property ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* propertyPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] not found on entity ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 445
      StackMap locals:
      StackMap stack:
            aload 3 /* property */
            areturn
        end local 4 // java.util.StringTokenizer st
        end local 3 // org.hibernate.mapping.Property property
        end local 2 // java.util.Iterator iter
        end local 1 // java.lang.String propertyPath
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   24     0                this  Lorg/hibernate/mapping/PersistentClass;
            0   24     1        propertyPath  Ljava/lang/String;
            0   24     2                iter  Ljava/util/Iterator;
            1   24     3            property  Lorg/hibernate/mapping/Property;
            2   24     4                  st  Ljava/util/StringTokenizer;
            4   19     5             element  Ljava/lang/String;
            6   17     6  identifierProperty  Lorg/hibernate/mapping/Property;
      Exception table:
        from    to  target  type
          10    13      14  Class org.hibernate.MappingException
           2    20      21  Class org.hibernate.MappingException
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
              Name  Flags
      propertyPath  
      iter          

  private org.hibernate.mapping.Property getProperty(java.lang.String, java.util.Iterator);
    descriptor: (Ljava/lang/String;Ljava/util/Iterator;)Lorg/hibernate/mapping/Property;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.lang.String propertyName
        start local 2 // java.util.Iterator iterator
         0: .line 449
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 7
         1: .line 450
            aload 1 /* propertyName */
            invokestatic org.hibernate.internal.util.StringHelper.root:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* root */
        start local 3 // java.lang.String root
         2: .line 451
            goto 6
         3: .line 452
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 4 /* prop */
        start local 4 // org.hibernate.mapping.Property prop
         4: .line 453
            aload 4 /* prop */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            aload 3 /* root */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 454
            aload 4 /* prop */
            areturn
        end local 4 // org.hibernate.mapping.Property prop
         6: .line 451
      StackMap locals:
      StackMap stack:
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.lang.String root
         7: .line 458
      StackMap locals:
      StackMap stack:
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "property ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* propertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] not found on entity ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.util.Iterator iterator
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/hibernate/mapping/PersistentClass;
            0    8     1  propertyName  Ljava/lang/String;
            0    8     2      iterator  Ljava/util/Iterator;
            2    7     3          root  Ljava/lang/String;
            4    6     4          prop  Lorg/hibernate/mapping/Property;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
              Name  Flags
      propertyName  
      iterator      

  public org.hibernate.mapping.Property getProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/mapping/Property;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.lang.String propertyName
         0: .line 462
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getPropertyClosureIterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: .line 463
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierProperty:()Lorg/hibernate/mapping/Property;
            astore 3 /* identifierProperty */
        start local 3 // org.hibernate.mapping.Property identifierProperty
         2: .line 464
            aload 3 /* identifierProperty */
            ifnull 5
         3: .line 465
            aload 3 /* identifierProperty */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            aload 1 /* propertyName */
            invokestatic org.hibernate.internal.util.StringHelper.root:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 467
            aload 3 /* identifierProperty */
            areturn
         5: .line 470
      StackMap locals: java.util.Iterator org.hibernate.mapping.Property
      StackMap stack:
            aload 0 /* this */
            aload 1 /* propertyName */
            aload 2 /* iter */
            invokevirtual org.hibernate.mapping.PersistentClass.getProperty:(Ljava/lang/String;Ljava/util/Iterator;)Lorg/hibernate/mapping/Property;
            areturn
        end local 3 // org.hibernate.mapping.Property identifierProperty
        end local 2 // java.util.Iterator iter
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/hibernate/mapping/PersistentClass;
            0    6     1        propertyName  Ljava/lang/String;
            1    6     2                iter  Ljava/util/Iterator;
            2    6     3  identifierProperty  Lorg/hibernate/mapping/Property;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
              Name  Flags
      propertyName  

  public int getOptimisticLockMode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 476
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getOptimisticLockStyle:()Lorg/hibernate/engine/OptimisticLockStyle;
            invokevirtual org.hibernate.engine.OptimisticLockStyle.getOldCode:()I
            ireturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void setOptimisticLockMode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // int optimisticLockMode
         0: .line 481
            aload 0 /* this */
            iload 1 /* optimisticLockMode */
            invokestatic org.hibernate.engine.OptimisticLockStyle.interpretOldCode:(I)Lorg/hibernate/engine/OptimisticLockStyle;
            invokevirtual org.hibernate.mapping.PersistentClass.setOptimisticLockStyle:(Lorg/hibernate/engine/OptimisticLockStyle;)V
         1: .line 482
            return
        end local 1 // int optimisticLockMode
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  optimisticLockMode  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                    Name  Flags
      optimisticLockMode  

  public org.hibernate.engine.OptimisticLockStyle getOptimisticLockStyle();
    descriptor: ()Lorg/hibernate/engine/OptimisticLockStyle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 485
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.optimisticLockStyle:Lorg/hibernate/engine/OptimisticLockStyle;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setOptimisticLockStyle(org.hibernate.engine.OptimisticLockStyle);
    descriptor: (Lorg/hibernate/engine/OptimisticLockStyle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.engine.OptimisticLockStyle optimisticLockStyle
         0: .line 489
            aload 0 /* this */
            aload 1 /* optimisticLockStyle */
            putfield org.hibernate.mapping.PersistentClass.optimisticLockStyle:Lorg/hibernate/engine/OptimisticLockStyle;
         1: .line 490
            return
        end local 1 // org.hibernate.engine.OptimisticLockStyle optimisticLockStyle
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  optimisticLockStyle  Lorg/hibernate/engine/OptimisticLockStyle;
    MethodParameters:
                     Name  Flags
      optimisticLockStyle  

  public void validate(org.hibernate.engine.spi.Mapping);
    descriptor: (Lorg/hibernate/engine/spi/Mapping;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.engine.spi.Mapping mapping
         0: .line 493
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getPropertyIterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: .line 494
            goto 11
         2: .line 495
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 3 /* prop */
        start local 3 // org.hibernate.mapping.Property prop
         3: .line 496
            aload 3 /* prop */
            aload 1 /* mapping */
            invokevirtual org.hibernate.mapping.Property.isValid:(Lorg/hibernate/engine/spi/Mapping;)Z
            ifne 11
         4: .line 497
            new org.hibernate.MappingException
            dup
         5: .line 498
            new java.lang.StringBuilder
            dup
            ldc "property mapping has wrong number of columns: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 499
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 500
            ldc " type: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 501
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.getType:()Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 498
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 497
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // org.hibernate.mapping.Property prop
        11: .line 494
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        12: .line 505
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.checkPropertyDuplication:()V
        13: .line 506
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.checkColumnDuplication:()V
        14: .line 507
            return
        end local 2 // java.util.Iterator iter
        end local 1 // org.hibernate.engine.spi.Mapping mapping
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/hibernate/mapping/PersistentClass;
            0   15     1  mapping  Lorg/hibernate/engine/spi/Mapping;
            1   15     2     iter  Ljava/util/Iterator;
            3   11     3     prop  Lorg/hibernate/mapping/Property;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
         Name  Flags
      mapping  

  private void checkPropertyDuplication();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 510
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* names */
        start local 1 // java.util.HashSet names
         1: .line 511
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getPropertyIterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         2: .line 512
            goto 6
         3: .line 513
      StackMap locals: java.util.HashSet java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 3 /* prop */
        start local 3 // org.hibernate.mapping.Property prop
         4: .line 514
            aload 1 /* names */
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 515
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Duplicate property mapping of "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " found in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // org.hibernate.mapping.Property prop
         6: .line 512
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 518
            return
        end local 2 // java.util.Iterator iter
        end local 1 // java.util.HashSet names
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/hibernate/mapping/PersistentClass;
            1    8     1  names  Ljava/util/HashSet;
            2    8     2   iter  Ljava/util/Iterator;
            4    6     3   prop  Lorg/hibernate/mapping/Property;
    Exceptions:
      throws org.hibernate.MappingException

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

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

  public java.util.Map getMetaAttributes();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 528
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.metaAttributes:Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setMetaAttributes(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.util.Map metas
         0: .line 532
            aload 0 /* this */
            aload 1 /* metas */
            putfield org.hibernate.mapping.PersistentClass.metaAttributes:Ljava/util/Map;
         1: .line 533
            return
        end local 1 // java.util.Map metas
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  metas  Ljava/util/Map;
    MethodParameters:
       Name  Flags
      metas  

  public org.hibernate.mapping.MetaAttribute getMetaAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/mapping/MetaAttribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.lang.String name
         0: .line 536
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.metaAttributes:Ljava/util/Map;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.metaAttributes:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.mapping.MetaAttribute
      StackMap locals:
      StackMap stack: org.hibernate.mapping.MetaAttribute
         2: areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/mapping/PersistentClass;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 541
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public java.util.Iterator getJoinIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 545
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public java.util.Iterator getJoinClosureIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 549
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void addJoin(org.hibernate.mapping.Join);
    descriptor: (Lorg/hibernate/mapping/Join;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Join join
         0: .line 553
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
            aload 1 /* join */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 554
            aload 1 /* join */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Join.setPersistentClass:(Lorg/hibernate/mapping/PersistentClass;)V
         2: .line 555
            return
        end local 1 // org.hibernate.mapping.Join join
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/mapping/PersistentClass;
            0    3     1  join  Lorg/hibernate/mapping/Join;
    MethodParameters:
      Name  Flags
      join  

  public int getJoinClosureSpan();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 558
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            ireturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public int getPropertyClosureSpan();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 562
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.properties:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 1 /* span */
        start local 1 // int span
         1: .line 563
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 564
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.mapping.Join
            astore 3 /* join */
        start local 3 // org.hibernate.mapping.Join join
         4: .line 565
            iload 1 /* span */
            aload 3 /* join */
            invokevirtual org.hibernate.mapping.Join.getPropertySpan:()I
            iadd
            istore 1 /* span */
        end local 3 // org.hibernate.mapping.Join join
         5: .line 563
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 3
        end local 2 // int i
         7: .line 567
            iload 1 /* span */
            ireturn
        end local 1 // int span
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hibernate/mapping/PersistentClass;
            1    8     1  span  I
            2    7     2     i  I
            4    5     3  join  Lorg/hibernate/mapping/Join;

  public int getJoinNumber(org.hibernate.mapping.Property);
    descriptor: (Lorg/hibernate/mapping/Property;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Property prop
         0: .line 571
            iconst_1
            istore 2 /* result */
        start local 2 // int result
         1: .line 572
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassJoinClosureIterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         2: .line 573
            goto 6
         3: .line 574
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Join
            astore 4 /* join */
        start local 4 // org.hibernate.mapping.Join join
         4: .line 575
            aload 4 /* join */
            aload 1 /* prop */
            invokevirtual org.hibernate.mapping.Join.containsProperty:(Lorg/hibernate/mapping/Property;)Z
            ifeq 5
            iload 2 /* result */
            ireturn
         5: .line 576
      StackMap locals: org.hibernate.mapping.Join
      StackMap stack:
            iinc 2 /* result */ 1
        end local 4 // org.hibernate.mapping.Join join
         6: .line 573
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 578
            iconst_0
            ireturn
        end local 3 // java.util.Iterator iter
        end local 2 // int result
        end local 1 // org.hibernate.mapping.Property prop
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/hibernate/mapping/PersistentClass;
            0    8     1    prop  Lorg/hibernate/mapping/Property;
            1    8     2  result  I
            2    8     3    iter  Ljava/util/Iterator;
            4    6     4    join  Lorg/hibernate/mapping/Join;
    MethodParameters:
      Name  Flags
      prop  

  public java.util.Iterator getPropertyIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 592
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* iterators */
        start local 1 // java.util.ArrayList iterators
         1: .line 593
            aload 1 /* iterators */
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.properties:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 594
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 595
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.mapping.Join
            astore 3 /* join */
        start local 3 // org.hibernate.mapping.Join join
         5: .line 596
            aload 1 /* iterators */
            aload 3 /* join */
            invokevirtual org.hibernate.mapping.Join.getPropertyIterator:()Ljava/util/Iterator;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.hibernate.mapping.Join join
         6: .line 594
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 4
        end local 2 // int i
         8: .line 598
            new org.hibernate.internal.util.collections.JoinedIterator
            dup
            aload 1 /* iterators */
            invokespecial org.hibernate.internal.util.collections.JoinedIterator.<init>:(Ljava/util/List;)V
            areturn
        end local 1 // java.util.ArrayList iterators
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/hibernate/mapping/PersistentClass;
            1    9     1  iterators  Ljava/util/ArrayList;
            3    8     2          i  I
            5    6     3       join  Lorg/hibernate/mapping/Join;

  public java.util.Iterator getUnjoinedPropertyIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 609
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.properties:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setCustomSQLInsert(java.lang.String, boolean, org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle);
    descriptor: (Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.lang.String customSQLInsert
        start local 2 // boolean callable
        start local 3 // org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle checkStyle
         0: .line 613
            aload 0 /* this */
            aload 1 /* customSQLInsert */
            putfield org.hibernate.mapping.PersistentClass.customSQLInsert:Ljava/lang/String;
         1: .line 614
            aload 0 /* this */
            iload 2 /* callable */
            putfield org.hibernate.mapping.PersistentClass.customInsertCallable:Z
         2: .line 615
            aload 0 /* this */
            aload 3 /* checkStyle */
            putfield org.hibernate.mapping.PersistentClass.insertCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
         3: .line 616
            return
        end local 3 // org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle checkStyle
        end local 2 // boolean callable
        end local 1 // java.lang.String customSQLInsert
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/hibernate/mapping/PersistentClass;
            0    4     1  customSQLInsert  Ljava/lang/String;
            0    4     2         callable  Z
            0    4     3       checkStyle  Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    MethodParameters:
                 Name  Flags
      customSQLInsert  
      callable         
      checkStyle       

  public java.lang.String getCustomSQLInsert();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 619
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.customSQLInsert:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public boolean isCustomInsertCallable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 623
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.customInsertCallable:Z
            ireturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle getCustomSQLInsertCheckStyle();
    descriptor: ()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 627
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.insertCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setCustomSQLUpdate(java.lang.String, boolean, org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle);
    descriptor: (Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.lang.String customSQLUpdate
        start local 2 // boolean callable
        start local 3 // org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle checkStyle
         0: .line 631
            aload 0 /* this */
            aload 1 /* customSQLUpdate */
            putfield org.hibernate.mapping.PersistentClass.customSQLUpdate:Ljava/lang/String;
         1: .line 632
            aload 0 /* this */
            iload 2 /* callable */
            putfield org.hibernate.mapping.PersistentClass.customUpdateCallable:Z
         2: .line 633
            aload 0 /* this */
            aload 3 /* checkStyle */
            putfield org.hibernate.mapping.PersistentClass.updateCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
         3: .line 634
            return
        end local 3 // org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle checkStyle
        end local 2 // boolean callable
        end local 1 // java.lang.String customSQLUpdate
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/hibernate/mapping/PersistentClass;
            0    4     1  customSQLUpdate  Ljava/lang/String;
            0    4     2         callable  Z
            0    4     3       checkStyle  Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    MethodParameters:
                 Name  Flags
      customSQLUpdate  
      callable         
      checkStyle       

  public java.lang.String getCustomSQLUpdate();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 637
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.customSQLUpdate:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public boolean isCustomUpdateCallable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 641
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.customUpdateCallable:Z
            ireturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle getCustomSQLUpdateCheckStyle();
    descriptor: ()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 645
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.updateCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setCustomSQLDelete(java.lang.String, boolean, org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle);
    descriptor: (Ljava/lang/String;ZLorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.lang.String customSQLDelete
        start local 2 // boolean callable
        start local 3 // org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle checkStyle
         0: .line 649
            aload 0 /* this */
            aload 1 /* customSQLDelete */
            putfield org.hibernate.mapping.PersistentClass.customSQLDelete:Ljava/lang/String;
         1: .line 650
            aload 0 /* this */
            iload 2 /* callable */
            putfield org.hibernate.mapping.PersistentClass.customDeleteCallable:Z
         2: .line 651
            aload 0 /* this */
            aload 3 /* checkStyle */
            putfield org.hibernate.mapping.PersistentClass.deleteCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
         3: .line 652
            return
        end local 3 // org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle checkStyle
        end local 2 // boolean callable
        end local 1 // java.lang.String customSQLDelete
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/hibernate/mapping/PersistentClass;
            0    4     1  customSQLDelete  Ljava/lang/String;
            0    4     2         callable  Z
            0    4     3       checkStyle  Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    MethodParameters:
                 Name  Flags
      customSQLDelete  
      callable         
      checkStyle       

  public java.lang.String getCustomSQLDelete();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 655
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.customSQLDelete:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public boolean isCustomDeleteCallable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 659
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.customDeleteCallable:Z
            ireturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle getCustomSQLDeleteCheckStyle();
    descriptor: ()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 663
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.deleteCheckStyle:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void addFilter(java.lang.String, java.lang.String, boolean, java.util.Map<java.lang.String, java.lang.String>, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZLjava/util/Map;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String condition
        start local 3 // boolean autoAliasInjection
        start local 4 // java.util.Map aliasTableMap
        start local 5 // java.util.Map aliasEntityMap
         0: .line 667
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.filters:Ljava/util/List;
            new org.hibernate.internal.FilterConfiguration
            dup
            aload 1 /* name */
            aload 2 /* condition */
            iload 3 /* autoAliasInjection */
            aload 4 /* aliasTableMap */
            aload 5 /* aliasEntityMap */
            aload 0 /* this */
            invokespecial org.hibernate.internal.FilterConfiguration.<init>:(Ljava/lang/String;Ljava/lang/String;ZLjava/util/Map;Ljava/util/Map;Lorg/hibernate/mapping/PersistentClass;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 668
            return
        end local 5 // java.util.Map aliasEntityMap
        end local 4 // java.util.Map aliasTableMap
        end local 3 // boolean autoAliasInjection
        end local 2 // java.lang.String condition
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1                name  Ljava/lang/String;
            0    2     2           condition  Ljava/lang/String;
            0    2     3  autoAliasInjection  Z
            0    2     4       aliasTableMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    2     5      aliasEntityMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;ZLjava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
                    Name  Flags
      name                
      condition           
      autoAliasInjection  
      aliasTableMap       
      aliasEntityMap      

  public java.util.List getFilters();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 671
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.filters:Ljava/util/List;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

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

  public abstract boolean isJoinedSubclass();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.String getLoaderName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 681
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.loaderName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setLoaderName(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.mapping.PersistentClass this
        start local 1 // java.lang.String loaderName
         0: .line 685
            aload 0 /* this */
            aload 1 /* loaderName */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack: org.hibernate.mapping.PersistentClass
         1: aload 1 /* loaderName */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
      StackMap locals: org.hibernate.mapping.PersistentClass java.lang.String
      StackMap stack: org.hibernate.mapping.PersistentClass java.lang.String
         2: putfield org.hibernate.mapping.PersistentClass.loaderName:Ljava/lang/String;
         3: .line 686
            return
        end local 1 // java.lang.String loaderName
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/hibernate/mapping/PersistentClass;
            0    4     1  loaderName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      loaderName  

  public abstract java.util.Set getSynchronizedTables();
    descriptor: ()Ljava/util/Set;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public void addSynchronizedTable(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.mapping.PersistentClass this
        start local 1 // java.lang.String table
         0: .line 691
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.synchronizedTables:Ljava/util/Set;
            aload 1 /* table */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 692
            return
        end local 1 // java.lang.String table
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  table  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      table  

  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.mapping.PersistentClass this
         0: .line 695
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.isAbstract:Ljava/lang/Boolean;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  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.mapping.PersistentClass this
        start local 1 // java.lang.Boolean isAbstract
         0: .line 699
            aload 0 /* this */
            aload 1 /* isAbstract */
            putfield org.hibernate.mapping.PersistentClass.isAbstract:Ljava/lang/Boolean;
         1: .line 700
            return
        end local 1 // java.lang.Boolean isAbstract
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  isAbstract  Ljava/lang/Boolean;
    MethodParameters:
            Name  Flags
      isAbstract  

  protected void checkColumnDuplication(java.util.Set, java.util.Iterator);
    descriptor: (Ljava/util/Set;Ljava/util/Iterator;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.util.Set distinctColumns
        start local 2 // java.util.Iterator columns
         0: .line 704
            goto 13
         1: .line 705
      StackMap locals:
      StackMap stack:
            aload 2 /* columns */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Selectable
            astore 3 /* columnOrFormula */
        start local 3 // org.hibernate.mapping.Selectable columnOrFormula
         2: .line 706
            aload 3 /* columnOrFormula */
            invokeinterface org.hibernate.mapping.Selectable.isFormula:()Z
            ifne 13
         3: .line 707
            aload 3 /* columnOrFormula */
            checkcast org.hibernate.mapping.Column
            astore 4 /* col */
        start local 4 // org.hibernate.mapping.Column col
         4: .line 708
            aload 1 /* distinctColumns */
            aload 4 /* col */
            invokevirtual org.hibernate.mapping.Column.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 13
         5: .line 709
            new org.hibernate.MappingException
            dup
         6: .line 710
            new java.lang.StringBuilder
            dup
            ldc "Repeated column in mapping for entity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 711
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 712
            ldc " column: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 713
            aload 4 /* col */
            invokevirtual org.hibernate.mapping.Column.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 714
            ldc " (should be mapped with insert=\"false\" update=\"false\")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 710
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 709
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.hibernate.mapping.Column col
        end local 3 // org.hibernate.mapping.Selectable columnOrFormula
        13: .line 704
      StackMap locals:
      StackMap stack:
            aload 2 /* columns */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        14: .line 719
            return
        end local 2 // java.util.Iterator columns
        end local 1 // java.util.Set distinctColumns
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lorg/hibernate/mapping/PersistentClass;
            0   15     1  distinctColumns  Ljava/util/Set;
            0   15     2          columns  Ljava/util/Iterator;
            2   13     3  columnOrFormula  Lorg/hibernate/mapping/Selectable;
            4   13     4              col  Lorg/hibernate/mapping/Column;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                 Name  Flags
      distinctColumns  
      columns          

  protected void checkPropertyColumnDuplication(java.util.Set, java.util.Iterator);
    descriptor: (Ljava/util/Set;Ljava/util/Iterator;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // java.util.Set distinctColumns
        start local 2 // java.util.Iterator properties
         0: .line 723
            goto 8
         1: .line 724
      StackMap locals:
      StackMap stack:
            aload 2 /* properties */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 3 /* prop */
        start local 3 // org.hibernate.mapping.Property prop
         2: .line 725
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.Component
            ifeq 6
         3: .line 726
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            astore 4 /* component */
        start local 4 // org.hibernate.mapping.Component component
         4: .line 727
            aload 0 /* this */
            aload 1 /* distinctColumns */
            aload 4 /* component */
            invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
            invokevirtual org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication:(Ljava/util/Set;Ljava/util/Iterator;)V
        end local 4 // org.hibernate.mapping.Component component
         5: .line 728
            goto 8
         6: .line 730
      StackMap locals: org.hibernate.mapping.Property
      StackMap stack:
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            ifne 7
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.isInsertable:()Z
            ifeq 8
         7: .line 731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* distinctColumns */
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.getColumnIterator:()Ljava/util/Iterator;
            invokevirtual org.hibernate.mapping.PersistentClass.checkColumnDuplication:(Ljava/util/Set;Ljava/util/Iterator;)V
        end local 3 // org.hibernate.mapping.Property prop
         8: .line 723
      StackMap locals:
      StackMap stack:
            aload 2 /* properties */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 735
            return
        end local 2 // java.util.Iterator properties
        end local 1 // java.util.Set distinctColumns
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/hibernate/mapping/PersistentClass;
            0   10     1  distinctColumns  Ljava/util/Set;
            0   10     2       properties  Ljava/util/Iterator;
            2    8     3             prop  Lorg/hibernate/mapping/Property;
            4    5     4        component  Lorg/hibernate/mapping/Component;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                 Name  Flags
      distinctColumns  
      properties       

  protected java.util.Iterator getNonDuplicatedPropertyIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 738
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getUnjoinedPropertyIterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  protected java.util.Iterator getDiscriminatorColumnIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 742
            getstatic org.hibernate.internal.util.collections.EmptyIterator.INSTANCE:Ljava/util/Iterator;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  protected void checkColumnDuplication();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 746
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* cols */
        start local 1 // java.util.HashSet cols
         1: .line 747
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierMapper:()Lorg/hibernate/mapping/Component;
            ifnonnull 3
         2: .line 750
            aload 0 /* this */
            aload 1 /* cols */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getKey:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnIterator:()Ljava/util/Iterator;
            invokevirtual org.hibernate.mapping.PersistentClass.checkColumnDuplication:(Ljava/util/Set;Ljava/util/Iterator;)V
         3: .line 752
      StackMap locals: java.util.HashSet
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cols */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getDiscriminatorColumnIterator:()Ljava/util/Iterator;
            invokevirtual org.hibernate.mapping.PersistentClass.checkColumnDuplication:(Ljava/util/Set;Ljava/util/Iterator;)V
         4: .line 753
            aload 0 /* this */
            aload 1 /* cols */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getNonDuplicatedPropertyIterator:()Ljava/util/Iterator;
            invokevirtual org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication:(Ljava/util/Set;Ljava/util/Iterator;)V
         5: .line 754
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getJoinIterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         6: .line 755
            goto 11
         7: .line 756
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* cols */
            invokevirtual java.util.HashSet.clear:()V
         8: .line 757
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Join
            astore 3 /* join */
        start local 3 // org.hibernate.mapping.Join join
         9: .line 758
            aload 0 /* this */
            aload 1 /* cols */
            aload 3 /* join */
            invokevirtual org.hibernate.mapping.Join.getKey:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getColumnIterator:()Ljava/util/Iterator;
            invokevirtual org.hibernate.mapping.PersistentClass.checkColumnDuplication:(Ljava/util/Set;Ljava/util/Iterator;)V
        10: .line 759
            aload 0 /* this */
            aload 1 /* cols */
            aload 3 /* join */
            invokevirtual org.hibernate.mapping.Join.getPropertyIterator:()Ljava/util/Iterator;
            invokevirtual org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication:(Ljava/util/Set;Ljava/util/Iterator;)V
        end local 3 // org.hibernate.mapping.Join join
        11: .line 755
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 761
            return
        end local 2 // java.util.Iterator iter
        end local 1 // java.util.HashSet cols
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/hibernate/mapping/PersistentClass;
            1   13     1  cols  Ljava/util/HashSet;
            6   13     2  iter  Ljava/util/Iterator;
            9   11     3  join  Lorg/hibernate/mapping/Join;

  public abstract java.lang.Object accept(org.hibernate.mapping.PersistentClassVisitor);
    descriptor: (Lorg/hibernate/mapping/PersistentClassVisitor;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      mv    

  public java.lang.String getNodeName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 766
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.nodeName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setNodeName(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.mapping.PersistentClass this
        start local 1 // java.lang.String nodeName
         0: .line 770
            aload 0 /* this */
            aload 1 /* nodeName */
            putfield org.hibernate.mapping.PersistentClass.nodeName:Ljava/lang/String;
         1: .line 771
            return
        end local 1 // java.lang.String nodeName
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  nodeName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      nodeName  

  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.mapping.PersistentClass this
         0: .line 774
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.jpaEntityName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  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.mapping.PersistentClass this
        start local 1 // java.lang.String jpaEntityName
         0: .line 778
            aload 0 /* this */
            aload 1 /* jpaEntityName */
            putfield org.hibernate.mapping.PersistentClass.jpaEntityName:Ljava/lang/String;
         1: .line 779
            return
        end local 1 // java.lang.String jpaEntityName
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  jpaEntityName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      jpaEntityName  

  public boolean hasPojoRepresentation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 782
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getClassName:()Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/PersistentClass;

  public boolean hasDom4jRepresentation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 786
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getNodeName:()Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/PersistentClass;

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

  public void setSubselectLoadableCollections(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // boolean hasSubselectCollections
         0: .line 794
            aload 0 /* this */
            iload 1 /* hasSubselectCollections */
            putfield org.hibernate.mapping.PersistentClass.hasSubselectLoadableCollections:Z
         1: .line 795
            return
        end local 1 // boolean hasSubselectCollections
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  hasSubselectCollections  Z
    MethodParameters:
                         Name  Flags
      hasSubselectCollections  

  public void prepareTemporaryTables(org.hibernate.engine.spi.Mapping, org.hibernate.dialect.Dialect);
    descriptor: (Lorg/hibernate/engine/spi/Mapping;Lorg/hibernate/dialect/Dialect;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.engine.spi.Mapping mapping
        start local 2 // org.hibernate.dialect.Dialect dialect
         0: .line 798
            aload 0 /* this */
            aload 2 /* dialect */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.getName:()Ljava/lang/String;
            invokevirtual org.hibernate.dialect.Dialect.generateTemporaryTableName:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.hibernate.mapping.PersistentClass.temporaryIdTableName:Ljava/lang/String;
         1: .line 799
            aload 2 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.supportsTemporaryTables:()Z
            ifeq 10
         2: .line 800
            new org.hibernate.mapping.Table
            dup
            invokespecial org.hibernate.mapping.Table.<init>:()V
            astore 3 /* table */
        start local 3 // org.hibernate.mapping.Table table
         3: .line 801
            aload 3 /* table */
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.temporaryIdTableName:Ljava/lang/String;
            invokevirtual org.hibernate.mapping.Table.setName:(Ljava/lang/String;)V
         4: .line 802
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            invokevirtual org.hibernate.mapping.Table.getPrimaryKey:()Lorg/hibernate/mapping/PrimaryKey;
            invokevirtual org.hibernate.mapping.PrimaryKey.getColumnIterator:()Ljava/util/Iterator;
            astore 4 /* itr */
        start local 4 // java.util.Iterator itr
         5: .line 803
            goto 8
         6: .line 804
      StackMap locals: org.hibernate.mapping.Table java.util.Iterator
      StackMap stack:
            aload 4 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 5 /* column */
        start local 5 // org.hibernate.mapping.Column column
         7: .line 805
            aload 3 /* table */
            aload 5 /* column */
            invokevirtual org.hibernate.mapping.Column.clone:()Lorg/hibernate/mapping/Column;
            invokevirtual org.hibernate.mapping.Table.addColumn:(Lorg/hibernate/mapping/Column;)V
        end local 5 // org.hibernate.mapping.Column column
         8: .line 803
      StackMap locals:
      StackMap stack:
            aload 4 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 807
            aload 0 /* this */
            aload 3 /* table */
            aload 2 /* dialect */
            aload 1 /* mapping */
            invokevirtual org.hibernate.mapping.Table.sqlTemporaryTableCreateString:(Lorg/hibernate/dialect/Dialect;Lorg/hibernate/engine/spi/Mapping;)Ljava/lang/String;
            putfield org.hibernate.mapping.PersistentClass.temporaryIdTableDDL:Ljava/lang/String;
        end local 4 // java.util.Iterator itr
        end local 3 // org.hibernate.mapping.Table table
        10: .line 809
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hibernate.dialect.Dialect dialect
        end local 1 // org.hibernate.engine.spi.Mapping mapping
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/hibernate/mapping/PersistentClass;
            0   11     1  mapping  Lorg/hibernate/engine/spi/Mapping;
            0   11     2  dialect  Lorg/hibernate/dialect/Dialect;
            3   10     3    table  Lorg/hibernate/mapping/Table;
            5   10     4      itr  Ljava/util/Iterator;
            7    8     5   column  Lorg/hibernate/mapping/Column;
    MethodParameters:
         Name  Flags
      mapping  
      dialect  

  public java.lang.String getTemporaryIdTableName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 812
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.temporaryIdTableName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public java.lang.String getTemporaryIdTableDDL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 816
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.temporaryIdTableDDL:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public org.hibernate.mapping.Component getIdentifierMapper();
    descriptor: ()Lorg/hibernate/mapping/Component;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 820
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.identifierMapper:Lorg/hibernate/mapping/Component;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public org.hibernate.mapping.Component getDeclaredIdentifierMapper();
    descriptor: ()Lorg/hibernate/mapping/Component;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 824
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.declaredIdentifierMapper:Lorg/hibernate/mapping/Component;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setDeclaredIdentifierMapper(org.hibernate.mapping.Component);
    descriptor: (Lorg/hibernate/mapping/Component;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Component declaredIdentifierMapper
         0: .line 828
            aload 0 /* this */
            aload 1 /* declaredIdentifierMapper */
            putfield org.hibernate.mapping.PersistentClass.declaredIdentifierMapper:Lorg/hibernate/mapping/Component;
         1: .line 829
            return
        end local 1 // org.hibernate.mapping.Component declaredIdentifierMapper
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  declaredIdentifierMapper  Lorg/hibernate/mapping/Component;
    MethodParameters:
                          Name  Flags
      declaredIdentifierMapper  

  public boolean hasIdentifierMapper();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 832
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.identifierMapper:Lorg/hibernate/mapping/Component;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setIdentifierMapper(org.hibernate.mapping.Component);
    descriptor: (Lorg/hibernate/mapping/Component;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Component handle
         0: .line 836
            aload 0 /* this */
            aload 1 /* handle */
            putfield org.hibernate.mapping.PersistentClass.identifierMapper:Lorg/hibernate/mapping/Component;
         1: .line 837
            return
        end local 1 // org.hibernate.mapping.Component handle
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  handle  Lorg/hibernate/mapping/Component;
    MethodParameters:
        Name  Flags
      handle  

  public void addTuplizer(org.hibernate.EntityMode, java.lang.String);
    descriptor: (Lorg/hibernate/EntityMode;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.EntityMode entityMode
        start local 2 // java.lang.String implClassName
         0: .line 840
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.tuplizerImpls:Ljava/util/Map;
            ifnonnull 2
         1: .line 841
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.mapping.PersistentClass.tuplizerImpls:Ljava/util/Map;
         2: .line 843
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.tuplizerImpls:Ljava/util/Map;
            aload 1 /* entityMode */
            aload 2 /* implClassName */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 844
            return
        end local 2 // java.lang.String implClassName
        end local 1 // org.hibernate.EntityMode entityMode
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/hibernate/mapping/PersistentClass;
            0    4     1     entityMode  Lorg/hibernate/EntityMode;
            0    4     2  implClassName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      entityMode     
      implClassName  

  public java.lang.String getTuplizerImplClassName(org.hibernate.EntityMode);
    descriptor: (Lorg/hibernate/EntityMode;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.EntityMode mode
         0: .line 847
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.tuplizerImpls:Ljava/util/Map;
            ifnonnull 1
            aconst_null
            areturn
         1: .line 848
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.tuplizerImpls:Ljava/util/Map;
            aload 1 /* mode */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // org.hibernate.EntityMode mode
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  mode  Lorg/hibernate/EntityMode;
    MethodParameters:
      Name  Flags
      mode  

  public java.util.Map getTuplizerMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 852
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.tuplizerImpls:Ljava/util/Map;
            ifnonnull 2
         1: .line 853
            aconst_null
            areturn
         2: .line 855
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.tuplizerImpls:Ljava/util/Map;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/mapping/PersistentClass;

  public boolean hasNaturalId();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 859
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.PersistentClass.getRootClass:()Lorg/hibernate/mapping/RootClass;
            invokevirtual org.hibernate.mapping.RootClass.getPropertyIterator:()Ljava/util/Iterator;
            astore 1 /* props */
        start local 1 // java.util.Iterator props
         1: .line 860
            goto 4
         2: .line 861
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* props */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            invokevirtual org.hibernate.mapping.Property.isNaturalIdentifier:()Z
            ifeq 4
         3: .line 862
            iconst_1
            ireturn
         4: .line 860
      StackMap locals:
      StackMap stack:
            aload 1 /* props */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 865
            iconst_0
            ireturn
        end local 1 // java.util.Iterator props
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/hibernate/mapping/PersistentClass;
            1    6     1  props  Ljava/util/Iterator;

  public abstract boolean isLazyPropertiesCacheable();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.util.Iterator getDeclaredPropertyIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 872
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* iterators */
        start local 1 // java.util.ArrayList iterators
         1: .line 873
            aload 1 /* iterators */
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.declaredProperties:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 874
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 875
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hibernate.mapping.Join
            astore 3 /* join */
        start local 3 // org.hibernate.mapping.Join join
         5: .line 876
            aload 1 /* iterators */
            aload 3 /* join */
            invokevirtual org.hibernate.mapping.Join.getDeclaredPropertyIterator:()Ljava/util/Iterator;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.hibernate.mapping.Join join
         6: .line 874
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.joins:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 4
        end local 2 // int i
         8: .line 878
            new org.hibernate.internal.util.collections.JoinedIterator
            dup
            aload 1 /* iterators */
            invokespecial org.hibernate.internal.util.collections.JoinedIterator.<init>:(Ljava/util/List;)V
            areturn
        end local 1 // java.util.ArrayList iterators
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/hibernate/mapping/PersistentClass;
            1    9     1  iterators  Ljava/util/ArrayList;
            3    8     2          i  I
            5    6     3       join  Lorg/hibernate/mapping/Join;

  public void addMappedsuperclassProperty(org.hibernate.mapping.Property);
    descriptor: (Lorg/hibernate/mapping/Property;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.Property p
         0: .line 882
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.properties:Ljava/util/ArrayList;
            aload 1 /* p */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 883
            aload 1 /* p */
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Property.setPersistentClass:(Lorg/hibernate/mapping/PersistentClass;)V
         2: .line 884
            return
        end local 1 // org.hibernate.mapping.Property p
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/mapping/PersistentClass;
            0    3     1     p  Lorg/hibernate/mapping/Property;
    MethodParameters:
      Name  Flags
      p     

  public org.hibernate.mapping.MappedSuperclass getSuperMappedSuperclass();
    descriptor: ()Lorg/hibernate/mapping/MappedSuperclass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass this
         0: .line 887
            aload 0 /* this */
            getfield org.hibernate.mapping.PersistentClass.superMappedSuperclass:Lorg/hibernate/mapping/MappedSuperclass;
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/PersistentClass;

  public void setSuperMappedSuperclass(org.hibernate.mapping.MappedSuperclass);
    descriptor: (Lorg/hibernate/mapping/MappedSuperclass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass this
        start local 1 // org.hibernate.mapping.MappedSuperclass superMappedSuperclass
         0: .line 891
            aload 0 /* this */
            aload 1 /* superMappedSuperclass */
            putfield org.hibernate.mapping.PersistentClass.superMappedSuperclass:Lorg/hibernate/mapping/MappedSuperclass;
         1: .line 892
            return
        end local 1 // org.hibernate.mapping.MappedSuperclass superMappedSuperclass
        end local 0 // org.hibernate.mapping.PersistentClass this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/hibernate/mapping/PersistentClass;
            0    2     1  superMappedSuperclass  Lorg/hibernate/mapping/MappedSuperclass;
    MethodParameters:
                       Name  Flags
      superMappedSuperclass  
}
SourceFile: "PersistentClass.java"