public class org.hibernate.persister.entity.UnionSubclassEntityPersister extends org.hibernate.persister.entity.AbstractEntityPersister
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.persister.entity.UnionSubclassEntityPersister
  super_class: org.hibernate.persister.entity.AbstractEntityPersister
{
  private final java.lang.String subquery;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String tableName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String[] subclassClosure;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String[] spaces;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String[] subclassSpaces;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object discriminatorValue;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String discriminatorSQLValue;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.lang.String[] constraintOrderedTableNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String[][] constraintOrderedKeyColumnNames;
    descriptor: [[Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.hibernate.mapping.PersistentClass, org.hibernate.cache.spi.access.EntityRegionAccessStrategy, org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.engine.spi.Mapping);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;Lorg/hibernate/cache/spi/access/NaturalIdRegionAccessStrategy;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/Mapping;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=21, args_size=6
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // org.hibernate.mapping.PersistentClass persistentClass
        start local 2 // org.hibernate.cache.spi.access.EntityRegionAccessStrategy cacheAccessStrategy
        start local 3 // org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy
        start local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        start local 5 // org.hibernate.engine.spi.Mapping mapping
         0: .line 93
            aload 0 /* this */
            aload 1 /* persistentClass */
            aload 2 /* cacheAccessStrategy */
            aload 3 /* naturalIdRegionAccessStrategy */
            aload 4 /* factory */
            invokespecial org.hibernate.persister.entity.AbstractEntityPersister.<init>:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;Lorg/hibernate/cache/spi/access/NaturalIdRegionAccessStrategy;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
         1: .line 79
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassByDiscriminatorValue:Ljava/util/Map;
         2: .line 95
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getIdentifierGenerator:()Lorg/hibernate/id/IdentifierGenerator;
            instanceof org.hibernate.id.IdentityGenerator
            ifeq 8
         3: .line 96
            new org.hibernate.MappingException
            dup
         4: .line 97
            new java.lang.StringBuilder
            dup
            ldc "Cannot use identity column key generation with <union-subclass> mapping for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 98
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 97
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 96
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 104
      StackMap locals: org.hibernate.persister.entity.UnionSubclassEntityPersister org.hibernate.mapping.PersistentClass org.hibernate.cache.spi.access.EntityRegionAccessStrategy org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.engine.spi.Mapping
      StackMap stack:
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
         9: .line 105
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
        10: .line 106
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
        11: .line 107
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
        12: .line 104
            invokevirtual org.hibernate.mapping.Table.getQualifiedName:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.tableName:Ljava/lang/String;
        13: .line 118
            iconst_0
            istore 7 /* callable */
        start local 7 // boolean callable
        14: .line 119
            aconst_null
            astore 8 /* checkStyle */
        start local 8 // org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle checkStyle
        15: .line 120
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLInsert:()Ljava/lang/String;
            astore 6 /* sql */
        start local 6 // java.lang.String sql
        16: .line 121
            aload 6 /* sql */
            ifnull 17
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isCustomInsertCallable:()Z
            ifeq 17
            iconst_1
            goto 18
      StackMap locals: java.lang.String int org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: istore 7 /* callable */
        19: .line 122
            aload 6 /* sql */
            ifnonnull 21
        20: .line 123
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.COUNT:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 24
        21: .line 124
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLInsertCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            ifnonnull 23
        22: .line 125
            aload 6 /* sql */
            iload 7 /* callable */
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.determineDefault:(Ljava/lang/String;Z)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 24
        23: .line 126
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLInsertCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        24: .line 122
      StackMap locals:
      StackMap stack: org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            astore 8 /* checkStyle */
        25: .line 127
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* sql */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.customSQLInsert:[Ljava/lang/String;
        26: .line 128
            aload 0 /* this */
            iconst_1
            newarray 4
            dup
            iconst_0
            iload 7 /* callable */
            bastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.insertCallable:[Z
        27: .line 129
            aload 0 /* this */
            iconst_1
            anewarray org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            dup
            iconst_0
            aload 8 /* checkStyle */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.insertResultCheckStyles:[Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        28: .line 131
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLUpdate:()Ljava/lang/String;
            astore 6 /* sql */
        29: .line 132
            aload 6 /* sql */
            ifnull 30
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isCustomUpdateCallable:()Z
            ifeq 30
            iconst_1
            goto 31
      StackMap locals:
      StackMap stack:
        30: iconst_0
      StackMap locals:
      StackMap stack: int
        31: istore 7 /* callable */
        32: .line 133
            aload 6 /* sql */
            ifnonnull 34
        33: .line 134
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.COUNT:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 37
        34: .line 135
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLUpdateCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            ifnonnull 36
        35: .line 136
            aload 6 /* sql */
            iload 7 /* callable */
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.determineDefault:(Ljava/lang/String;Z)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 37
        36: .line 137
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLUpdateCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        37: .line 133
      StackMap locals:
      StackMap stack: org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            astore 8 /* checkStyle */
        38: .line 138
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* sql */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.customSQLUpdate:[Ljava/lang/String;
        39: .line 139
            aload 0 /* this */
            iconst_1
            newarray 4
            dup
            iconst_0
            iload 7 /* callable */
            bastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.updateCallable:[Z
        40: .line 140
            aload 0 /* this */
            iconst_1
            anewarray org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            dup
            iconst_0
            aload 8 /* checkStyle */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.updateResultCheckStyles:[Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        41: .line 142
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLDelete:()Ljava/lang/String;
            astore 6 /* sql */
        42: .line 143
            aload 6 /* sql */
            ifnull 43
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isCustomDeleteCallable:()Z
            ifeq 43
            iconst_1
            goto 44
      StackMap locals:
      StackMap stack:
        43: iconst_0
      StackMap locals:
      StackMap stack: int
        44: istore 7 /* callable */
        45: .line 144
            aload 6 /* sql */
            ifnonnull 47
        46: .line 145
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.COUNT:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 50
        47: .line 146
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLDeleteCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            ifnonnull 49
        48: .line 147
            aload 6 /* sql */
            iload 7 /* callable */
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.determineDefault:(Ljava/lang/String;Z)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 50
        49: .line 148
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLDeleteCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        50: .line 144
      StackMap locals:
      StackMap stack: org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            astore 8 /* checkStyle */
        51: .line 149
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 6 /* sql */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.customSQLDelete:[Ljava/lang/String;
        52: .line 150
            aload 0 /* this */
            iconst_1
            newarray 4
            dup
            iconst_0
            iload 7 /* callable */
            bastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.deleteCallable:[Z
        53: .line 151
            aload 0 /* this */
            iconst_1
            anewarray org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            dup
            iconst_0
            aload 8 /* checkStyle */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.deleteResultCheckStyles:[Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        54: .line 153
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.discriminatorValue:Ljava/lang/Object;
        55: .line 154
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassId:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.discriminatorSQLValue:Ljava/lang/String;
        56: .line 158
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassSpan:()I
            iconst_1
            iadd
            istore 9 /* subclassSpan */
        start local 9 // int subclassSpan
        57: .line 159
            aload 0 /* this */
            iload 9 /* subclassSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassClosure:[Ljava/lang/String;
        58: .line 160
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassClosure:[Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getEntityName:()Ljava/lang/String;
            aastore
        59: .line 163
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassByDiscriminatorValue:Ljava/util/Map;
        60: .line 164
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        61: .line 165
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
        62: .line 163
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        63: .line 167
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isPolymorphic:()Z
            ifeq 71
        64: .line 168
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassIterator:()Ljava/util/Iterator;
            astore 10 /* iter */
        start local 10 // java.util.Iterator iter
        65: .line 169
            iconst_1
            istore 11 /* k */
        start local 11 // int k
        66: .line 170
            goto 70
        67: .line 171
      StackMap locals: int java.util.Iterator int
      StackMap stack:
            aload 10 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Subclass
            astore 12 /* sc */
        start local 12 // org.hibernate.mapping.Subclass sc
        68: .line 172
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassClosure:[Ljava/lang/String;
            iload 11 /* k */
            iinc 11 /* k */ 1
            aload 12 /* sc */
            invokevirtual org.hibernate.mapping.Subclass.getEntityName:()Ljava/lang/String;
            aastore
        69: .line 173
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassByDiscriminatorValue:Ljava/util/Map;
            aload 12 /* sc */
            invokevirtual org.hibernate.mapping.Subclass.getSubclassId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 12 /* sc */
            invokevirtual org.hibernate.mapping.Subclass.getEntityName:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // org.hibernate.mapping.Subclass sc
        70: .line 170
      StackMap locals:
      StackMap stack:
            aload 10 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 67
        end local 11 // int k
        end local 10 // java.util.Iterator iter
        71: .line 181
      StackMap locals:
      StackMap stack:
            iconst_1
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSynchronizedTables:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            iadd
            istore 10 /* spacesSize */
        start local 10 // int spacesSize
        72: .line 182
            aload 0 /* this */
            iload 10 /* spacesSize */
            anewarray java.lang.String
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.spaces:[Ljava/lang/String;
        73: .line 183
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.spaces:[Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.tableName:Ljava/lang/String;
            aastore
        74: .line 184
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSynchronizedTables:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11 /* iter */
        start local 11 // java.util.Iterator iter
        75: .line 185
            iconst_1
            istore 12 /* i */
        start local 12 // int i
        76: goto 79
        77: .line 186
      StackMap locals: int java.util.Iterator int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.spaces:[Ljava/lang/String;
            iload 12 /* i */
            aload 11 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        78: .line 185
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        79: iload 12 /* i */
            iload 10 /* spacesSize */
            if_icmplt 77
        end local 12 // int i
        80: .line 189
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 12 /* subclassTables */
        start local 12 // java.util.HashSet subclassTables
        81: .line 190
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassTableClosureIterator:()Ljava/util/Iterator;
            astore 11 /* iter */
        82: .line 191
            goto 89
        83: .line 192
      StackMap locals: org.hibernate.persister.entity.UnionSubclassEntityPersister org.hibernate.mapping.PersistentClass org.hibernate.cache.spi.access.EntityRegionAccessStrategy org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.engine.spi.Mapping java.lang.String int org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle int int java.util.Iterator java.util.HashSet
      StackMap stack:
            aload 11 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Table
            astore 13 /* table */
        start local 13 // org.hibernate.mapping.Table table
        84: .line 193
            aload 12 /* subclassTables */
            aload 13 /* table */
        85: .line 194
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
        86: .line 195
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
        87: .line 196
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
        88: .line 193
            invokevirtual org.hibernate.mapping.Table.getQualifiedName:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.hibernate.mapping.Table table
        89: .line 191
      StackMap locals:
      StackMap stack:
            aload 11 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 83
        90: .line 199
            aload 0 /* this */
            aload 12 /* subclassTables */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassSpaces:[Ljava/lang/String;
        91: .line 201
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* persistentClass */
            aload 5 /* mapping */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.generateSubquery:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/engine/spi/Mapping;)Ljava/lang/String;
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subquery:Ljava/lang/String;
        92: .line 203
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.isMultiTable:()Z
            ifeq 121
        93: .line 204
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getIdentifierColumnSpan:()I
            istore 13 /* idColumnSpan */
        start local 13 // int idColumnSpan
        94: .line 205
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 14 /* tableNames */
        start local 14 // java.util.ArrayList tableNames
        95: .line 206
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 15 /* keyColumns */
        start local 15 // java.util.ArrayList keyColumns
        96: .line 207
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.isAbstract:()Z
            ifne 99
        97: .line 208
            aload 14 /* tableNames */
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.tableName:Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        98: .line 209
            aload 15 /* keyColumns */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getIdentifierColumnNames:()[Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        99: .line 211
      StackMap locals: int java.util.ArrayList java.util.ArrayList
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassTableClosureIterator:()Ljava/util/Iterator;
            astore 11 /* iter */
       100: .line 212
            goto 117
       101: .line 213
      StackMap locals:
      StackMap stack:
            aload 11 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Table
            astore 16 /* tab */
        start local 16 // org.hibernate.mapping.Table tab
       102: .line 214
            aload 16 /* tab */
            invokevirtual org.hibernate.mapping.Table.isAbstractUnionTable:()Z
            ifne 117
       103: .line 215
            aload 16 /* tab */
       104: .line 216
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
       105: .line 217
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
       106: .line 218
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
       107: .line 215
            invokevirtual org.hibernate.mapping.Table.getQualifiedName:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 17 /* tableName */
        start local 17 // java.lang.String tableName
       108: .line 220
            aload 14 /* tableNames */
            aload 17 /* tableName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       109: .line 221
            iload 13 /* idColumnSpan */
            anewarray java.lang.String
            astore 18 /* key */
        start local 18 // java.lang.String[] key
       110: .line 222
            aload 16 /* tab */
            invokevirtual org.hibernate.mapping.Table.getPrimaryKey:()Lorg/hibernate/mapping/PrimaryKey;
            invokevirtual org.hibernate.mapping.PrimaryKey.getColumnIterator:()Ljava/util/Iterator;
            astore 19 /* citer */
        start local 19 // java.util.Iterator citer
       111: .line 223
            iconst_0
            istore 20 /* k */
        start local 20 // int k
       112: goto 115
       113: .line 224
      StackMap locals: org.hibernate.persister.entity.UnionSubclassEntityPersister org.hibernate.mapping.PersistentClass org.hibernate.cache.spi.access.EntityRegionAccessStrategy org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.engine.spi.Mapping java.lang.String int org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle int int java.util.Iterator java.util.HashSet int java.util.ArrayList java.util.ArrayList org.hibernate.mapping.Table java.lang.String java.lang.String[] java.util.Iterator int
      StackMap stack:
            aload 18 /* key */
            iload 20 /* k */
            aload 19 /* citer */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            aload 4 /* factory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.mapping.Column.getQuotedName:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            aastore
       114: .line 223
            iinc 20 /* k */ 1
      StackMap locals:
      StackMap stack:
       115: iload 20 /* k */
            iload 13 /* idColumnSpan */
            if_icmplt 113
        end local 20 // int k
       116: .line 226
            aload 15 /* keyColumns */
            aload 18 /* key */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 19 // java.util.Iterator citer
        end local 18 // java.lang.String[] key
        end local 17 // java.lang.String tableName
        end local 16 // org.hibernate.mapping.Table tab
       117: .line 212
      StackMap locals: org.hibernate.persister.entity.UnionSubclassEntityPersister org.hibernate.mapping.PersistentClass org.hibernate.cache.spi.access.EntityRegionAccessStrategy org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.engine.spi.Mapping java.lang.String int org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle int int java.util.Iterator java.util.HashSet int java.util.ArrayList java.util.ArrayList
      StackMap stack:
            aload 11 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 101
       118: .line 230
            aload 0 /* this */
            aload 14 /* tableNames */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.constraintOrderedTableNames:[Ljava/lang/String;
       119: .line 231
            aload 0 /* this */
            aload 15 /* keyColumns */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.to2DStringArray:(Ljava/util/Collection;)[[Ljava/lang/String;
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.constraintOrderedKeyColumnNames:[[Ljava/lang/String;
        end local 15 // java.util.ArrayList keyColumns
        end local 14 // java.util.ArrayList tableNames
        end local 13 // int idColumnSpan
       120: .line 232
            goto 123
       121: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.tableName:Ljava/lang/String;
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.constraintOrderedTableNames:[Ljava/lang/String;
       122: .line 235
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String[]
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getIdentifierColumnNames:()[Ljava/lang/String;
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.constraintOrderedKeyColumnNames:[[Ljava/lang/String;
       123: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.initLockers:()V
       124: .line 240
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.initSubclassPropertyAliasesMap:(Lorg/hibernate/mapping/PersistentClass;)V
       125: .line 242
            aload 0 /* this */
            aload 5 /* mapping */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.postConstruct:(Lorg/hibernate/engine/spi/Mapping;)V
       126: .line 244
            return
        end local 12 // java.util.HashSet subclassTables
        end local 11 // java.util.Iterator iter
        end local 10 // int spacesSize
        end local 9 // int subclassSpan
        end local 8 // org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle checkStyle
        end local 7 // boolean callable
        end local 6 // java.lang.String sql
        end local 5 // org.hibernate.engine.spi.Mapping mapping
        end local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 3 // org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy
        end local 2 // org.hibernate.cache.spi.access.EntityRegionAccessStrategy cacheAccessStrategy
        end local 1 // org.hibernate.mapping.PersistentClass persistentClass
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0  127     0                           this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0  127     1                persistentClass  Lorg/hibernate/mapping/PersistentClass;
            0  127     2            cacheAccessStrategy  Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;
            0  127     3  naturalIdRegionAccessStrategy  Lorg/hibernate/cache/spi/access/NaturalIdRegionAccessStrategy;
            0  127     4                        factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0  127     5                        mapping  Lorg/hibernate/engine/spi/Mapping;
           16  127     6                            sql  Ljava/lang/String;
           14  127     7                       callable  Z
           15  127     8                     checkStyle  Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
           57  127     9                   subclassSpan  I
           65   71    10                           iter  Ljava/util/Iterator;
           66   71    11                              k  I
           68   70    12                             sc  Lorg/hibernate/mapping/Subclass;
           72  127    10                     spacesSize  I
           75  127    11                           iter  Ljava/util/Iterator;
           76   80    12                              i  I
           81  127    12                 subclassTables  Ljava/util/HashSet;
           84   89    13                          table  Lorg/hibernate/mapping/Table;
           94  120    13                   idColumnSpan  I
           95  120    14                     tableNames  Ljava/util/ArrayList;
           96  120    15                     keyColumns  Ljava/util/ArrayList;
          102  117    16                            tab  Lorg/hibernate/mapping/Table;
          108  117    17                      tableName  Ljava/lang/String;
          110  117    18                            key  [Ljava/lang/String;
          111  117    19                          citer  Ljava/util/Iterator;
          112  116    20                              k  I
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                               Name  Flags
      persistentClass                final
      cacheAccessStrategy            final
      naturalIdRegionAccessStrategy  final
      factory                        final
      mapping                        final

  public void <init>(org.hibernate.metamodel.binding.EntityBinding, org.hibernate.cache.spi.access.EntityRegionAccessStrategy, org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.engine.spi.Mapping);
    descriptor: (Lorg/hibernate/metamodel/binding/EntityBinding;Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;Lorg/hibernate/cache/spi/access/NaturalIdRegionAccessStrategy;Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/engine/spi/Mapping;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // org.hibernate.metamodel.binding.EntityBinding entityBinding
        start local 2 // org.hibernate.cache.spi.access.EntityRegionAccessStrategy cacheAccessStrategy
        start local 3 // org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy
        start local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        start local 5 // org.hibernate.engine.spi.Mapping mapping
         0: .line 252
            aload 0 /* this */
            aload 1 /* entityBinding */
            aload 2 /* cacheAccessStrategy */
            aload 3 /* naturalIdRegionAccessStrategy */
            aload 4 /* factory */
            invokespecial org.hibernate.persister.entity.AbstractEntityPersister.<init>:(Lorg/hibernate/metamodel/binding/EntityBinding;Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;Lorg/hibernate/cache/spi/access/NaturalIdRegionAccessStrategy;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
         1: .line 79
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassByDiscriminatorValue:Ljava/util/Map;
         2: .line 254
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subquery:Ljava/lang/String;
         3: .line 255
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.tableName:Ljava/lang/String;
         4: .line 256
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassClosure:[Ljava/lang/String;
         5: .line 257
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.spaces:[Ljava/lang/String;
         6: .line 258
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassSpaces:[Ljava/lang/String;
         7: .line 259
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.discriminatorValue:Ljava/lang/Object;
         8: .line 260
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.discriminatorSQLValue:Ljava/lang/String;
         9: .line 261
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.constraintOrderedTableNames:[Ljava/lang/String;
        10: .line 262
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.constraintOrderedKeyColumnNames:[[Ljava/lang/String;
        11: .line 263
            return
        end local 5 // org.hibernate.engine.spi.Mapping mapping
        end local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 3 // org.hibernate.cache.spi.access.NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy
        end local 2 // org.hibernate.cache.spi.access.EntityRegionAccessStrategy cacheAccessStrategy
        end local 1 // org.hibernate.metamodel.binding.EntityBinding entityBinding
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   12     0                           this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0   12     1                  entityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
            0   12     2            cacheAccessStrategy  Lorg/hibernate/cache/spi/access/EntityRegionAccessStrategy;
            0   12     3  naturalIdRegionAccessStrategy  Lorg/hibernate/cache/spi/access/NaturalIdRegionAccessStrategy;
            0   12     4                        factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0   12     5                        mapping  Lorg/hibernate/engine/spi/Mapping;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                               Name  Flags
      entityBinding                  final
      cacheAccessStrategy            final
      naturalIdRegionAccessStrategy  final
      factory                        final
      mapping                        final

  public java.io.Serializable[] getQuerySpaces();
    descriptor: ()[Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 266
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassSpaces:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  public java.lang.String getTableName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 270
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subquery:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  public org.hibernate.type.Type getDiscriminatorType();
    descriptor: ()Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 274
            getstatic org.hibernate.type.StandardBasicTypes.INTEGER:Lorg/hibernate/type/IntegerType;
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

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

  public java.lang.String getDiscriminatorSQLValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 282
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.discriminatorSQLValue:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  public java.lang.String[] getSubclassClosure();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 286
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassClosure:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  public java.lang.String getSubclassForDiscriminatorValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // java.lang.Object value
         0: .line 290
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassByDiscriminatorValue:Ljava/util/Map;
            aload 1 /* value */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.Object value
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public java.io.Serializable[] getPropertySpaces();
    descriptor: ()[Ljava/io/Serializable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 294
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.spaces:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  protected boolean isDiscriminatorFormula();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 298
            iconst_0
            ireturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  protected java.lang.String generateSelectString(org.hibernate.LockMode);
    descriptor: (Lorg/hibernate/LockMode;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // org.hibernate.LockMode lockMode
         0: .line 305
            new org.hibernate.sql.SimpleSelect
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
            invokespecial org.hibernate.sql.SimpleSelect.<init>:(Lorg/hibernate/dialect/Dialect;)V
         1: .line 306
            aload 1 /* lockMode */
            invokevirtual org.hibernate.sql.SimpleSelect.setLockMode:(Lorg/hibernate/LockMode;)Lorg/hibernate/sql/SimpleSelect;
         2: .line 307
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getTableName:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.setTableName:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         3: .line 308
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getIdentifierColumnNames:()[Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.addColumns:([Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
         4: .line 310
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassColumnClosure:()[Ljava/lang/String;
         5: .line 311
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassColumnAliasClosure:()[Ljava/lang/String;
         6: .line 312
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassColumnLazyiness:()[Z
         7: .line 309
            invokevirtual org.hibernate.sql.SimpleSelect.addColumns:([Ljava/lang/String;[Ljava/lang/String;[Z)Lorg/hibernate/sql/SimpleSelect;
         8: .line 315
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassFormulaClosure:()[Ljava/lang/String;
         9: .line 316
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassFormulaAliasClosure:()[Ljava/lang/String;
        10: .line 317
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassFormulaLazyiness:()[Z
        11: .line 314
            invokevirtual org.hibernate.sql.SimpleSelect.addColumns:([Ljava/lang/String;[Ljava/lang/String;[Z)Lorg/hibernate/sql/SimpleSelect;
        12: .line 305
            astore 2 /* select */
        start local 2 // org.hibernate.sql.SimpleSelect select
        13: .line 320
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.hasSubclasses:()Z
            ifeq 18
        14: .line 321
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.isDiscriminatorFormula:()Z
            ifeq 17
        15: .line 322
            aload 2 /* select */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getDiscriminatorFormula:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getDiscriminatorAlias:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.addColumn:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
            pop
        16: .line 323
            goto 18
        17: .line 325
      StackMap locals: org.hibernate.sql.SimpleSelect
      StackMap stack:
            aload 2 /* select */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getDiscriminatorColumnName:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getDiscriminatorAlias:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.addColumn:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
            pop
        18: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.isCommentsEnabled:()Z
            ifeq 20
        19: .line 329
            aload 2 /* select */
            new java.lang.StringBuilder
            dup
            ldc "load "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.SimpleSelect.setComment:(Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
            pop
        20: .line 331
      StackMap locals:
      StackMap stack:
            aload 2 /* select */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getIdentifierColumnNames:()[Ljava/lang/String;
            ldc "=?"
            invokevirtual org.hibernate.sql.SimpleSelect.addCondition:([Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SimpleSelect;
            invokevirtual org.hibernate.sql.SimpleSelect.toStatementString:()Ljava/lang/String;
            areturn
        end local 2 // org.hibernate.sql.SimpleSelect select
        end local 1 // org.hibernate.LockMode lockMode
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0   21     1  lockMode  Lorg/hibernate/LockMode;
           13   21     2    select  Lorg/hibernate/sql/SimpleSelect;
    MethodParameters:
          Name  Flags
      lockMode  

  protected java.lang.String getDiscriminatorFormula();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 335
            aconst_null
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  protected java.lang.String getTableName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // int j
         0: .line 339
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.tableName:Ljava/lang/String;
            areturn
        end local 1 // int j
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1     j  I
    MethodParameters:
      Name  Flags
      j     

  protected java.lang.String[] getKeyColumns(int);
    descriptor: (I)[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // int j
         0: .line 343
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getIdentifierColumnNames:()[Ljava/lang/String;
            areturn
        end local 1 // int j
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1     j  I
    MethodParameters:
      Name  Flags
      j     

  protected boolean isTableCascadeDeleteEnabled(int);
    descriptor: (I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // int j
         0: .line 347
            iconst_0
            ireturn
        end local 1 // int j
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1     j  I
    MethodParameters:
      Name  Flags
      j     

  protected boolean isPropertyOfTable(int, int);
    descriptor: (II)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // int property
        start local 2 // int j
         0: .line 351
            iconst_1
            ireturn
        end local 2 // int j
        end local 1 // int property
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1  property  I
            0    1     2         j  I
    MethodParameters:
          Name  Flags
      property  
      j         

  public java.lang.String fromTableFragment(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // java.lang.String name
         0: .line 357
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getTableName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String filterFragment(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // java.lang.String name
         0: .line 362
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.hasWhere:()Z
            ifeq 2
         1: .line 363
            new java.lang.StringBuilder
            dup
            ldc " and "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSQLWhereString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 3
         2: .line 364
      StackMap locals:
      StackMap stack:
            ldc ""
         3: .line 362
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    4     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected java.lang.String filterFragment(java.lang.String, java.util.Set<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/Set;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // java.lang.String alias
        start local 2 // java.util.Set treatAsDeclarations
         0: .line 369
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.filterFragment:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.util.Set treatAsDeclarations
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1                alias  Ljava/lang/String;
            0    1     2  treatAsDeclarations  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      alias                
      treatAsDeclarations  

  public java.lang.String getSubclassPropertyTableName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // int i
         0: .line 373
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getTableName:()Ljava/lang/String;
            areturn
        end local 1 // int i
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  protected void addDiscriminatorToSelect(org.hibernate.sql.SelectFragment, java.lang.String, java.lang.String);
    descriptor: (Lorg/hibernate/sql/SelectFragment;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // org.hibernate.sql.SelectFragment select
        start local 2 // java.lang.String name
        start local 3 // java.lang.String suffix
         0: .line 377
            aload 1 /* select */
            aload 2 /* name */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getDiscriminatorColumnName:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getDiscriminatorAlias:()Ljava/lang/String;
            invokevirtual org.hibernate.sql.SelectFragment.addColumn:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/sql/SelectFragment;
            pop
         1: .line 378
            return
        end local 3 // java.lang.String suffix
        end local 2 // java.lang.String name
        end local 1 // org.hibernate.sql.SelectFragment select
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    2     1  select  Lorg/hibernate/sql/SelectFragment;
            0    2     2    name  Ljava/lang/String;
            0    2     3  suffix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      select  
      name    
      suffix  

  protected int[] getPropertyTableNumbersInSelect();
    descriptor: ()[I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 381
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getPropertySpan:()I
            newarray 10
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  protected int getSubclassPropertyTableNumber(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // int i
         0: .line 385
            iconst_0
            ireturn
        end local 1 // int i
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public int getSubclassPropertyTableNumber(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // java.lang.String propertyName
         0: .line 389
            iconst_0
            ireturn
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      propertyName  

  public boolean isMultiTable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 394
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.isAbstract:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.hasSubclasses:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  public int getTableSpan();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 398
            iconst_1
            ireturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  protected int[] getSubclassColumnTableNumberClosure();
    descriptor: ()[I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 402
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassColumnClosure:()[Ljava/lang/String;
            arraylength
            newarray 10
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  protected int[] getSubclassFormulaTableNumberClosure();
    descriptor: ()[I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 406
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassFormulaClosure:()[Ljava/lang/String;
            arraylength
            newarray 10
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  protected boolean[] getTableHasColumns();
    descriptor: ()[Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 410
            iconst_1
            newarray 4
            dup
            iconst_0
            iconst_1
            bastore
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  protected int[] getPropertyTableNumbers();
    descriptor: ()[I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 414
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getPropertySpan:()I
            newarray 10
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  protected java.lang.String generateSubquery(org.hibernate.mapping.PersistentClass, org.hibernate.engine.spi.Mapping);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/engine/spi/Mapping;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=14, args_size=3
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // org.hibernate.mapping.PersistentClass model
        start local 2 // org.hibernate.engine.spi.Mapping mapping
         0: .line 419
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
            astore 3 /* dialect */
        start local 3 // org.hibernate.dialect.Dialect dialect
         1: .line 420
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            astore 4 /* settings */
        start local 4 // org.hibernate.cfg.Settings settings
         2: .line 422
            aload 1 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.hasSubclasses:()Z
            ifne 8
         3: .line 423
            aload 1 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
         4: .line 424
            aload 3 /* dialect */
         5: .line 425
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
         6: .line 426
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
         7: .line 423
            invokevirtual org.hibernate.mapping.Table.getQualifiedName:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
         8: .line 430
      StackMap locals: org.hibernate.dialect.Dialect org.hibernate.cfg.Settings
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 5 /* columns */
        start local 5 // java.util.HashSet columns
         9: .line 431
            aload 1 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassTableClosureIterator:()Ljava/util/Iterator;
            astore 6 /* titer */
        start local 6 // java.util.Iterator titer
        10: .line 432
            goto 17
        11: .line 433
      StackMap locals: java.util.HashSet java.util.Iterator
      StackMap stack:
            aload 6 /* titer */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Table
            astore 7 /* table */
        start local 7 // org.hibernate.mapping.Table table
        12: .line 434
            aload 7 /* table */
            invokevirtual org.hibernate.mapping.Table.isAbstractUnionTable:()Z
            ifne 17
        13: .line 435
            aload 7 /* table */
            invokevirtual org.hibernate.mapping.Table.getColumnIterator:()Ljava/util/Iterator;
            astore 8 /* citer */
        start local 8 // java.util.Iterator citer
        14: .line 436
            goto 16
      StackMap locals: org.hibernate.mapping.Table java.util.Iterator
      StackMap stack:
        15: aload 5 /* columns */
            aload 8 /* citer */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
      StackMap locals:
      StackMap stack:
        16: aload 8 /* citer */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 8 // java.util.Iterator citer
        end local 7 // org.hibernate.mapping.Table table
        17: .line 432
      StackMap locals:
      StackMap stack:
            aload 6 /* titer */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        18: .line 440
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
        19: .line 441
            ldc "( "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 440
            astore 7 /* buf */
        start local 7 // java.lang.StringBuilder buf
        21: .line 443
            new org.hibernate.internal.util.collections.JoinedIterator
            dup
            iconst_2
            anewarray java.util.Iterator
            dup
            iconst_0
        22: .line 444
            new org.hibernate.internal.util.collections.SingletonIterator
            dup
            aload 1 /* model */
            invokespecial org.hibernate.internal.util.collections.SingletonIterator.<init>:(Ljava/lang/Object;)V
            aastore
            dup
            iconst_1
        23: .line 445
            aload 1 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassIterator:()Ljava/util/Iterator;
        24: .line 443
            aastore
            invokespecial org.hibernate.internal.util.collections.JoinedIterator.<init>:([Ljava/util/Iterator;)V
            astore 8 /* siter */
        start local 8 // java.util.Iterator siter
        25: .line 448
            goto 51
        26: .line 449
      StackMap locals: java.lang.StringBuilder java.util.Iterator
      StackMap stack:
            aload 8 /* siter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            astore 9 /* clazz */
        start local 9 // org.hibernate.mapping.PersistentClass clazz
        27: .line 450
            aload 9 /* clazz */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            astore 10 /* table */
        start local 10 // org.hibernate.mapping.Table table
        28: .line 451
            aload 10 /* table */
            invokevirtual org.hibernate.mapping.Table.isAbstractUnionTable:()Z
            ifne 51
        29: .line 453
            aload 7 /* buf */
            ldc "select "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 454
            aload 5 /* columns */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 11 /* citer */
        start local 11 // java.util.Iterator citer
        31: .line 455
            goto 39
        32: .line 456
      StackMap locals: org.hibernate.mapping.PersistentClass org.hibernate.mapping.Table java.util.Iterator
      StackMap stack:
            aload 11 /* citer */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            astore 12 /* col */
        start local 12 // org.hibernate.mapping.Column col
        33: .line 457
            aload 10 /* table */
            aload 12 /* col */
            invokevirtual org.hibernate.mapping.Table.containsColumn:(Lorg/hibernate/mapping/Column;)Z
            ifne 37
        34: .line 458
            aload 12 /* col */
            aload 2 /* mapping */
            invokevirtual org.hibernate.mapping.Column.getSqlTypeCode:(Lorg/hibernate/engine/spi/Mapping;)I
            istore 13 /* sqlType */
        start local 13 // int sqlType
        35: .line 459
            aload 7 /* buf */
            aload 3 /* dialect */
            iload 13 /* sqlType */
            invokevirtual org.hibernate.dialect.Dialect.getSelectClauseNullString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 460
            ldc " as "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 13 // int sqlType
        37: .line 462
      StackMap locals: org.hibernate.mapping.Column
      StackMap stack:
            aload 7 /* buf */
            aload 12 /* col */
            aload 3 /* dialect */
            invokevirtual org.hibernate.mapping.Column.getQuotedName:(Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 463
            aload 7 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 12 // org.hibernate.mapping.Column col
        39: .line 455
      StackMap locals:
      StackMap stack:
            aload 11 /* citer */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        40: .line 465
            aload 7 /* buf */
            aload 9 /* clazz */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        41: .line 466
            ldc " as clazz_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        42: .line 467
            aload 7 /* buf */
            ldc " from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        43: .line 468
            aload 10 /* table */
        44: .line 469
            aload 3 /* dialect */
        45: .line 470
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
        46: .line 471
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
        47: .line 468
            invokevirtual org.hibernate.mapping.Table.getQualifiedName:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        48: .line 473
            aload 7 /* buf */
            ldc " union "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        49: .line 474
            aload 3 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.supportsUnionAll:()Z
            ifeq 51
        50: .line 475
            aload 7 /* buf */
            ldc "all "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 11 // java.util.Iterator citer
        end local 10 // org.hibernate.mapping.Table table
        end local 9 // org.hibernate.mapping.PersistentClass clazz
        51: .line 448
      StackMap locals:
      StackMap stack:
            aload 8 /* siter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        52: .line 480
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_2
            if_icmple 56
        53: .line 482
            aload 7 /* buf */
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            aload 3 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.supportsUnionAll:()Z
            ifeq 54
            bipush 11
            goto 55
      StackMap locals: org.hibernate.persister.entity.UnionSubclassEntityPersister org.hibernate.mapping.PersistentClass org.hibernate.engine.spi.Mapping org.hibernate.dialect.Dialect org.hibernate.cfg.Settings java.util.HashSet java.util.Iterator java.lang.StringBuilder java.util.Iterator
      StackMap stack: java.lang.StringBuilder int
        54: bipush 7
      StackMap locals: org.hibernate.persister.entity.UnionSubclassEntityPersister org.hibernate.mapping.PersistentClass org.hibernate.engine.spi.Mapping org.hibernate.dialect.Dialect org.hibernate.cfg.Settings java.util.HashSet java.util.Iterator java.lang.StringBuilder java.util.Iterator
      StackMap stack: java.lang.StringBuilder int int
        55: isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        56: .line 485
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            ldc " )"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 8 // java.util.Iterator siter
        end local 7 // java.lang.StringBuilder buf
        end local 6 // java.util.Iterator titer
        end local 5 // java.util.HashSet columns
        end local 4 // org.hibernate.cfg.Settings settings
        end local 3 // org.hibernate.dialect.Dialect dialect
        end local 2 // org.hibernate.engine.spi.Mapping mapping
        end local 1 // org.hibernate.mapping.PersistentClass model
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   57     0      this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0   57     1     model  Lorg/hibernate/mapping/PersistentClass;
            0   57     2   mapping  Lorg/hibernate/engine/spi/Mapping;
            1   57     3   dialect  Lorg/hibernate/dialect/Dialect;
            2   57     4  settings  Lorg/hibernate/cfg/Settings;
            9   57     5   columns  Ljava/util/HashSet;
           10   57     6     titer  Ljava/util/Iterator;
           12   17     7     table  Lorg/hibernate/mapping/Table;
           14   17     8     citer  Ljava/util/Iterator;
           21   57     7       buf  Ljava/lang/StringBuilder;
           25   57     8     siter  Ljava/util/Iterator;
           27   51     9     clazz  Lorg/hibernate/mapping/PersistentClass;
           28   51    10     table  Lorg/hibernate/mapping/Table;
           31   51    11     citer  Ljava/util/Iterator;
           33   39    12       col  Lorg/hibernate/mapping/Column;
           35   37    13   sqlType  I
    MethodParameters:
         Name  Flags
      model    
      mapping  

  protected java.lang.String[] getSubclassTableKeyColumns(int);
    descriptor: (I)[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // int j
         0: .line 489
            iload 1 /* j */
            ifeq 1
            new org.hibernate.AssertionFailure
            dup
            ldc "only one table"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getIdentifierColumnNames:()[Ljava/lang/String;
            areturn
        end local 1 // int j
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    2     1     j  I
    MethodParameters:
      Name  Flags
      j     

  public java.lang.String getSubclassTableName(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // int j
         0: .line 494
            iload 1 /* j */
            ifeq 1
            new org.hibernate.AssertionFailure
            dup
            ldc "only one table"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.tableName:Ljava/lang/String;
            areturn
        end local 1 // int j
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    2     1     j  I
    MethodParameters:
      Name  Flags
      j     

  public int getSubclassTableSpan();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 499
            iconst_1
            ireturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  protected boolean isClassOrSuperclassTable(int);
    descriptor: (I)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // int j
         0: .line 503
            iload 1 /* j */
            ifeq 1
            new org.hibernate.AssertionFailure
            dup
            ldc "only one table"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 504
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // int j
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    2     1     j  I
    MethodParameters:
      Name  Flags
      j     

  public java.lang.String getPropertyTableName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // java.lang.String propertyName
         0: .line 509
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getTableName:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      propertyName  

  public java.lang.String[] getConstraintOrderedTableNameClosure();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 513
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.constraintOrderedTableNames:[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  public java.lang.String[][] getContraintOrderedTableKeyColumnClosure();
    descriptor: ()[[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
         0: .line 517
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.constraintOrderedKeyColumnNames:[[Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;

  public org.hibernate.internal.FilterAliasGenerator getFilterAliasGenerator(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/internal/FilterAliasGenerator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
        start local 1 // java.lang.String rootAlias
         0: .line 522
            new org.hibernate.internal.StaticFilterAliasGenerator
            dup
            aload 1 /* rootAlias */
            invokespecial org.hibernate.internal.StaticFilterAliasGenerator.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String rootAlias
        end local 0 // org.hibernate.persister.entity.UnionSubclassEntityPersister this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    1     1  rootAlias  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      rootAlias  
}
SourceFile: "UnionSubclassEntityPersister.java"