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.EntityDataAccess, org.hibernate.cache.spi.access.NaturalIdDataAccess, org.hibernate.persister.spi.PersisterCreationContext);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/cache/spi/access/EntityDataAccess;Lorg/hibernate/cache/spi/access/NaturalIdDataAccess;Lorg/hibernate/persister/spi/PersisterCreationContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=23, args_size=5
        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.EntityDataAccess cacheAccessStrategy
        start local 3 // org.hibernate.cache.spi.access.NaturalIdDataAccess naturalIdRegionAccessStrategy
        start local 4 // org.hibernate.persister.spi.PersisterCreationContext creationContext
         0: .line 77
            aload 0 /* this */
            aload 1 /* persistentClass */
            aload 2 /* cacheAccessStrategy */
            aload 3 /* naturalIdRegionAccessStrategy */
            aload 4 /* creationContext */
            invokespecial org.hibernate.persister.entity.AbstractEntityPersister.<init>:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/cache/spi/access/EntityDataAccess;Lorg/hibernate/cache/spi/access/NaturalIdDataAccess;Lorg/hibernate/persister/spi/PersisterCreationContext;)V
         1: .line 64
            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 79
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getIdentifierGenerator:()Lorg/hibernate/id/IdentifierGenerator;
            instanceof org.hibernate.id.IdentityGenerator
            ifeq 8
         3: .line 80
            new org.hibernate.MappingException
            dup
         4: .line 81
            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 82
            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 81
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 80
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 86
      StackMap locals: org.hibernate.persister.entity.UnionSubclassEntityPersister org.hibernate.mapping.PersistentClass org.hibernate.cache.spi.access.EntityDataAccess org.hibernate.cache.spi.access.NaturalIdDataAccess org.hibernate.persister.spi.PersisterCreationContext
      StackMap stack:
            aload 4 /* creationContext */
            invokeinterface org.hibernate.persister.spi.PersisterCreationContext.getSessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            astore 5 /* factory */
        start local 5 // org.hibernate.engine.spi.SessionFactoryImplementor factory
         9: .line 87
            aload 4 /* creationContext */
            invokeinterface org.hibernate.persister.spi.PersisterCreationContext.getMetadata:()Lorg/hibernate/boot/spi/MetadataImplementor;
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getDatabase:()Lorg/hibernate/boot/model/relational/Database;
            astore 6 /* database */
        start local 6 // org.hibernate.boot.model.relational.Database database
        10: .line 88
            aload 6 /* database */
            invokevirtual org.hibernate.boot.model.relational.Database.getJdbcEnvironment:()Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
            astore 7 /* jdbcEnvironment */
        start local 7 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        11: .line 92
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
            aload 7 /* jdbcEnvironment */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.determineTableName:(Lorg/hibernate/mapping/Table;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;)Ljava/lang/String;
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.tableName:Ljava/lang/String;
        12: .line 97
            iconst_0
            istore 9 /* callable */
        start local 9 // boolean callable
        13: .line 98
            aconst_null
            astore 10 /* checkStyle */
        start local 10 // org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle checkStyle
        14: .line 99
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLInsert:()Ljava/lang/String;
            astore 8 /* sql */
        start local 8 // java.lang.String sql
        15: .line 100
            aload 8 /* sql */
            ifnull 16
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isCustomInsertCallable:()Z
            ifeq 16
            iconst_1
            goto 17
      StackMap locals: org.hibernate.persister.entity.UnionSubclassEntityPersister org.hibernate.mapping.PersistentClass org.hibernate.cache.spi.access.EntityDataAccess org.hibernate.cache.spi.access.NaturalIdDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment java.lang.String int org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 9 /* callable */
        18: .line 101
            aload 8 /* sql */
            ifnonnull 20
        19: .line 102
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.COUNT:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 23
        20: .line 103
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLInsertCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            ifnonnull 22
        21: .line 104
            aload 8 /* sql */
            iload 9 /* callable */
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.determineDefault:(Ljava/lang/String;Z)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 23
        22: .line 105
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLInsertCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        23: .line 101
      StackMap locals:
      StackMap stack: org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            astore 10 /* checkStyle */
        24: .line 106
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 8 /* sql */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.customSQLInsert:[Ljava/lang/String;
        25: .line 107
            aload 0 /* this */
            iconst_1
            newarray 4
            dup
            iconst_0
            iload 9 /* callable */
            bastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.insertCallable:[Z
        26: .line 108
            aload 0 /* this */
            iconst_1
            anewarray org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            dup
            iconst_0
            aload 10 /* checkStyle */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.insertResultCheckStyles:[Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        27: .line 110
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLUpdate:()Ljava/lang/String;
            astore 8 /* sql */
        28: .line 111
            aload 8 /* sql */
            ifnull 29
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isCustomUpdateCallable:()Z
            ifeq 29
            iconst_1
            goto 30
      StackMap locals:
      StackMap stack:
        29: iconst_0
      StackMap locals:
      StackMap stack: int
        30: istore 9 /* callable */
        31: .line 112
            aload 8 /* sql */
            ifnonnull 33
        32: .line 113
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.COUNT:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 36
        33: .line 114
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLUpdateCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            ifnonnull 35
        34: .line 115
            aload 8 /* sql */
            iload 9 /* callable */
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.determineDefault:(Ljava/lang/String;Z)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 36
        35: .line 116
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLUpdateCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        36: .line 112
      StackMap locals:
      StackMap stack: org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            astore 10 /* checkStyle */
        37: .line 117
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 8 /* sql */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.customSQLUpdate:[Ljava/lang/String;
        38: .line 118
            aload 0 /* this */
            iconst_1
            newarray 4
            dup
            iconst_0
            iload 9 /* callable */
            bastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.updateCallable:[Z
        39: .line 119
            aload 0 /* this */
            iconst_1
            anewarray org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            dup
            iconst_0
            aload 10 /* checkStyle */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.updateResultCheckStyles:[Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        40: .line 121
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLDelete:()Ljava/lang/String;
            astore 8 /* sql */
        41: .line 122
            aload 8 /* sql */
            ifnull 42
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isCustomDeleteCallable:()Z
            ifeq 42
            iconst_1
            goto 43
      StackMap locals:
      StackMap stack:
        42: iconst_0
      StackMap locals:
      StackMap stack: int
        43: istore 9 /* callable */
        44: .line 123
            aload 8 /* sql */
            ifnonnull 46
        45: .line 124
            getstatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.COUNT:Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 49
        46: .line 125
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLDeleteCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            ifnonnull 48
        47: .line 126
            aload 8 /* sql */
            iload 9 /* callable */
            invokestatic org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle.determineDefault:(Ljava/lang/String;Z)Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
            goto 49
        48: .line 127
      StackMap locals:
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getCustomSQLDeleteCheckStyle:()Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        49: .line 123
      StackMap locals:
      StackMap stack: org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            astore 10 /* checkStyle */
        50: .line 128
            aload 0 /* this */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 8 /* sql */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.customSQLDelete:[Ljava/lang/String;
        51: .line 129
            aload 0 /* this */
            iconst_1
            newarray 4
            dup
            iconst_0
            iload 9 /* callable */
            bastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.deleteCallable:[Z
        52: .line 130
            aload 0 /* this */
            iconst_1
            anewarray org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle
            dup
            iconst_0
            aload 10 /* checkStyle */
            aastore
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.deleteResultCheckStyles:[Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
        53: .line 132
            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;
        54: .line 133
            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;
        55: .line 137
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassSpan:()I
            iconst_1
            iadd
            istore 11 /* subclassSpan */
        start local 11 // int subclassSpan
        56: .line 138
            aload 0 /* this */
            iload 11 /* subclassSpan */
            anewarray java.lang.String
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassClosure:[Ljava/lang/String;
        57: .line 139
            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
        58: .line 142
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassByDiscriminatorValue:Ljava/util/Map;
        59: .line 143
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        60: .line 144
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
        61: .line 142
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        62: .line 146
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isPolymorphic:()Z
            ifeq 70
        63: .line 147
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassIterator:()Ljava/util/Iterator;
            astore 12 /* iter */
        start local 12 // java.util.Iterator iter
        64: .line 148
            iconst_1
            istore 13 /* k */
        start local 13 // int k
        65: .line 149
            goto 69
        66: .line 150
      StackMap locals: int java.util.Iterator int
      StackMap stack:
            aload 12 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Subclass
            astore 14 /* sc */
        start local 14 // org.hibernate.mapping.Subclass sc
        67: .line 151
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassClosure:[Ljava/lang/String;
            iload 13 /* k */
            iinc 13 /* k */ 1
            aload 14 /* sc */
            invokevirtual org.hibernate.mapping.Subclass.getEntityName:()Ljava/lang/String;
            aastore
        68: .line 152
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.subclassByDiscriminatorValue:Ljava/util/Map;
            aload 14 /* sc */
            invokevirtual org.hibernate.mapping.Subclass.getSubclassId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 14 /* 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 14 // org.hibernate.mapping.Subclass sc
        69: .line 149
      StackMap locals:
      StackMap stack:
            aload 12 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 66
        end local 13 // int k
        end local 12 // java.util.Iterator iter
        70: .line 160
      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 12 /* spacesSize */
        start local 12 // int spacesSize
        71: .line 161
            aload 0 /* this */
            iload 12 /* spacesSize */
            anewarray java.lang.String
            putfield org.hibernate.persister.entity.UnionSubclassEntityPersister.spaces:[Ljava/lang/String;
        72: .line 162
            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
        73: .line 163
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSynchronizedTables:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 13 /* iter */
        start local 13 // java.util.Iterator iter
        74: .line 164
            iconst_1
            istore 14 /* i */
        start local 14 // int i
        75: goto 78
        76: .line 165
      StackMap locals: int java.util.Iterator int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.spaces:[Ljava/lang/String;
            iload 14 /* i */
            aload 13 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        77: .line 164
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        78: iload 14 /* i */
            iload 12 /* spacesSize */
            if_icmplt 76
        end local 14 // int i
        79: .line 168
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 14 /* subclassTables */
        start local 14 // java.util.HashSet subclassTables
        80: .line 169
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassTableClosureIterator:()Ljava/util/Iterator;
            astore 13 /* iter */
        81: .line 170
            goto 84
        82: .line 171
      StackMap locals: org.hibernate.persister.entity.UnionSubclassEntityPersister org.hibernate.mapping.PersistentClass org.hibernate.cache.spi.access.EntityDataAccess org.hibernate.cache.spi.access.NaturalIdDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment java.lang.String int org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle int int java.util.Iterator java.util.HashSet
      StackMap stack:
            aload 13 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Table
            astore 15 /* table */
        start local 15 // org.hibernate.mapping.Table table
        83: .line 172
            aload 14 /* subclassTables */
            aload 0 /* this */
            aload 15 /* table */
            aload 7 /* jdbcEnvironment */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.determineTableName:(Lorg/hibernate/mapping/Table;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;)Ljava/lang/String;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // org.hibernate.mapping.Table table
        84: .line 170
      StackMap locals:
      StackMap stack:
            aload 13 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 82
        85: .line 174
            aload 0 /* this */
            aload 14 /* 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;
        86: .line 176
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* persistentClass */
            aload 4 /* creationContext */
            invokeinterface org.hibernate.persister.spi.PersisterCreationContext.getMetadata:()Lorg/hibernate/boot/spi/MetadataImplementor;
            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;
        87: .line 178
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.isMultiTable:()Z
            ifeq 112
        88: .line 179
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getIdentifierColumnSpan:()I
            istore 15 /* idColumnSpan */
        start local 15 // int idColumnSpan
        89: .line 180
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 16 /* tableNames */
        start local 16 // java.util.ArrayList tableNames
        90: .line 181
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 17 /* keyColumns */
        start local 17 // java.util.ArrayList keyColumns
        91: .line 182
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.isAbstract:()Z
            ifne 94
        92: .line 183
            aload 16 /* tableNames */
            aload 0 /* this */
            getfield org.hibernate.persister.entity.UnionSubclassEntityPersister.tableName:Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        93: .line 184
            aload 17 /* keyColumns */
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getIdentifierColumnNames:()[Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        94: .line 186
      StackMap locals: int java.util.ArrayList java.util.ArrayList
      StackMap stack:
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassTableClosureIterator:()Ljava/util/Iterator;
            astore 13 /* iter */
        95: .line 187
            goto 108
        96: .line 188
      StackMap locals:
      StackMap stack:
            aload 13 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Table
            astore 18 /* tab */
        start local 18 // org.hibernate.mapping.Table tab
        97: .line 189
            aload 18 /* tab */
            invokevirtual org.hibernate.mapping.Table.isAbstractUnionTable:()Z
            ifne 108
        98: .line 190
            aload 0 /* this */
            aload 18 /* tab */
            aload 7 /* jdbcEnvironment */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.determineTableName:(Lorg/hibernate/mapping/Table;Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;)Ljava/lang/String;
            astore 19 /* tableName */
        start local 19 // java.lang.String tableName
        99: .line 191
            aload 16 /* tableNames */
            aload 19 /* tableName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       100: .line 192
            iload 15 /* idColumnSpan */
            anewarray java.lang.String
            astore 20 /* key */
        start local 20 // java.lang.String[] key
       101: .line 193
            aload 18 /* tab */
            invokevirtual org.hibernate.mapping.Table.getPrimaryKey:()Lorg/hibernate/mapping/PrimaryKey;
            invokevirtual org.hibernate.mapping.PrimaryKey.getColumnIterator:()Ljava/util/Iterator;
            astore 21 /* citer */
        start local 21 // java.util.Iterator citer
       102: .line 194
            iconst_0
            istore 22 /* k */
        start local 22 // int k
       103: goto 106
       104: .line 195
      StackMap locals: org.hibernate.persister.entity.UnionSubclassEntityPersister org.hibernate.mapping.PersistentClass org.hibernate.cache.spi.access.EntityDataAccess org.hibernate.cache.spi.access.NaturalIdDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment 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 20 /* key */
            iload 22 /* k */
            aload 21 /* citer */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Column
            aload 5 /* 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
       105: .line 194
            iinc 22 /* k */ 1
      StackMap locals:
      StackMap stack:
       106: iload 22 /* k */
            iload 15 /* idColumnSpan */
            if_icmplt 104
        end local 22 // int k
       107: .line 197
            aload 17 /* keyColumns */
            aload 20 /* key */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 21 // java.util.Iterator citer
        end local 20 // java.lang.String[] key
        end local 19 // java.lang.String tableName
        end local 18 // org.hibernate.mapping.Table tab
       108: .line 187
      StackMap locals: org.hibernate.persister.entity.UnionSubclassEntityPersister org.hibernate.mapping.PersistentClass org.hibernate.cache.spi.access.EntityDataAccess org.hibernate.cache.spi.access.NaturalIdDataAccess org.hibernate.persister.spi.PersisterCreationContext org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.boot.model.relational.Database org.hibernate.engine.jdbc.env.spi.JdbcEnvironment 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 13 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 96
       109: .line 201
            aload 0 /* this */
            aload 16 /* 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;
       110: .line 202
            aload 0 /* this */
            aload 17 /* 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 17 // java.util.ArrayList keyColumns
        end local 16 // java.util.ArrayList tableNames
        end local 15 // int idColumnSpan
       111: .line 203
            goto 114
       112: .line 205
      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;
       113: .line 206
            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;
       114: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.initLockers:()V
       115: .line 211
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.initSubclassPropertyAliasesMap:(Lorg/hibernate/mapping/PersistentClass;)V
       116: .line 213
            aload 0 /* this */
            aload 4 /* creationContext */
            invokeinterface org.hibernate.persister.spi.PersisterCreationContext.getMetadata:()Lorg/hibernate/boot/spi/MetadataImplementor;
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.postConstruct:(Lorg/hibernate/engine/spi/Mapping;)V
       117: .line 215
            return
        end local 14 // java.util.HashSet subclassTables
        end local 13 // java.util.Iterator iter
        end local 12 // int spacesSize
        end local 11 // int subclassSpan
        end local 10 // org.hibernate.engine.spi.ExecuteUpdateResultCheckStyle checkStyle
        end local 9 // boolean callable
        end local 8 // java.lang.String sql
        end local 7 // org.hibernate.engine.jdbc.env.spi.JdbcEnvironment jdbcEnvironment
        end local 6 // org.hibernate.boot.model.relational.Database database
        end local 5 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 4 // org.hibernate.persister.spi.PersisterCreationContext creationContext
        end local 3 // org.hibernate.cache.spi.access.NaturalIdDataAccess naturalIdRegionAccessStrategy
        end local 2 // org.hibernate.cache.spi.access.EntityDataAccess 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  118     0                           this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0  118     1                persistentClass  Lorg/hibernate/mapping/PersistentClass;
            0  118     2            cacheAccessStrategy  Lorg/hibernate/cache/spi/access/EntityDataAccess;
            0  118     3  naturalIdRegionAccessStrategy  Lorg/hibernate/cache/spi/access/NaturalIdDataAccess;
            0  118     4                creationContext  Lorg/hibernate/persister/spi/PersisterCreationContext;
            9  118     5                        factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
           10  118     6                       database  Lorg/hibernate/boot/model/relational/Database;
           11  118     7                jdbcEnvironment  Lorg/hibernate/engine/jdbc/env/spi/JdbcEnvironment;
           15  118     8                            sql  Ljava/lang/String;
           13  118     9                       callable  Z
           14  118    10                     checkStyle  Lorg/hibernate/engine/spi/ExecuteUpdateResultCheckStyle;
           56  118    11                   subclassSpan  I
           64   70    12                           iter  Ljava/util/Iterator;
           65   70    13                              k  I
           67   69    14                             sc  Lorg/hibernate/mapping/Subclass;
           71  118    12                     spacesSize  I
           74  118    13                           iter  Ljava/util/Iterator;
           75   79    14                              i  I
           80  118    14                 subclassTables  Ljava/util/HashSet;
           83   84    15                          table  Lorg/hibernate/mapping/Table;
           89  111    15                   idColumnSpan  I
           90  111    16                     tableNames  Ljava/util/ArrayList;
           91  111    17                     keyColumns  Ljava/util/ArrayList;
           97  108    18                            tab  Lorg/hibernate/mapping/Table;
           99  108    19                      tableName  Ljava/lang/String;
          101  108    20                            key  [Ljava/lang/String;
          102  108    21                          citer  Ljava/util/Iterator;
          103  107    22                              k  I
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                               Name  Flags
      persistentClass                final
      cacheAccessStrategy            final
      naturalIdRegionAccessStrategy  final
      creationContext                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 218
            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 222
            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 226
            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 230
            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 234
            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 238
            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 242
            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 246
            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 250
            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 257
            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 258
            aload 1 /* lockMode */
            invokevirtual org.hibernate.sql.SimpleSelect.setLockMode:(Lorg/hibernate/LockMode;)Lorg/hibernate/sql/SimpleSelect;
         2: .line 259
            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 260
            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 262
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassColumnClosure:()[Ljava/lang/String;
         5: .line 263
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassColumnAliasClosure:()[Ljava/lang/String;
         6: .line 264
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassColumnLazyiness:()[Z
         7: .line 261
            invokevirtual org.hibernate.sql.SimpleSelect.addColumns:([Ljava/lang/String;[Ljava/lang/String;[Z)Lorg/hibernate/sql/SimpleSelect;
         8: .line 267
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassFormulaClosure:()[Ljava/lang/String;
         9: .line 268
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassFormulaAliasClosure:()[Ljava/lang/String;
        10: .line 269
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.getSubclassFormulaLazyiness:()[Z
        11: .line 266
            invokevirtual org.hibernate.sql.SimpleSelect.addColumns:([Ljava/lang/String;[Ljava/lang/String;[Z)Lorg/hibernate/sql/SimpleSelect;
        12: .line 257
            astore 2 /* select */
        start local 2 // org.hibernate.sql.SimpleSelect select
        13: .line 272
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.hasSubclasses:()Z
            ifeq 18
        14: .line 273
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.isDiscriminatorFormula:()Z
            ifeq 17
        15: .line 274
            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 275
            goto 18
        17: .line 277
      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 280
      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 281
            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 283
      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 287
            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 291
            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 295
            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 299
            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 303
            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 309
            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 314
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.UnionSubclassEntityPersister.hasWhere:()Z
            ifeq 2
         1: .line 315
            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 316
      StackMap locals:
      StackMap stack:
            ldc ""
         3: .line 314
      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 321
            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 325
            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 329
            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 330
            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 333
            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 337
            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 341
            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 346
            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 350
            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 354
            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 358
            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 362
            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 366
            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 371
            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 372
            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 374
            aload 1 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.hasSubclasses:()Z
            ifne 8
         3: .line 375
            aload 1 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getTable:()Lorg/hibernate/mapping/Table;
         4: .line 376
            aload 3 /* dialect */
         5: .line 377
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
         6: .line 378
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
         7: .line 375
            invokevirtual org.hibernate.mapping.Table.getQualifiedName:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
         8: .line 382
      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 383
            aload 1 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassTableClosureIterator:()Ljava/util/Iterator;
            astore 6 /* titer */
        start local 6 // java.util.Iterator titer
        10: .line 384
            goto 17
        11: .line 385
      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 386
            aload 7 /* table */
            invokevirtual org.hibernate.mapping.Table.isAbstractUnionTable:()Z
            ifne 17
        13: .line 387
            aload 7 /* table */
            invokevirtual org.hibernate.mapping.Table.getColumnIterator:()Ljava/util/Iterator;
            astore 8 /* citer */
        start local 8 // java.util.Iterator citer
        14: .line 388
            goto 16
        15: .line 389
      StackMap locals: org.hibernate.mapping.Table java.util.Iterator
      StackMap stack:
            aload 5 /* columns */
            aload 8 /* citer */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        16: .line 388
      StackMap locals:
      StackMap stack:
            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 384
      StackMap locals:
      StackMap stack:
            aload 6 /* titer */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        18: .line 394
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
        19: .line 395
            ldc "( "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 394
            astore 7 /* buf */
        start local 7 // java.lang.StringBuilder buf
        21: .line 397
            new org.hibernate.internal.util.collections.JoinedIterator
            dup
            iconst_2
            anewarray java.util.Iterator
            dup
            iconst_0
        22: .line 398
            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 399
            aload 1 /* model */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassIterator:()Ljava/util/Iterator;
        24: .line 397
            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 402
            goto 52
        26: .line 403
      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 404
            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 405
            aload 10 /* table */
            invokevirtual org.hibernate.mapping.Table.isAbstractUnionTable:()Z
            ifne 52
        29: .line 407
            aload 7 /* buf */
            ldc "select "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 408
            aload 5 /* columns */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 11 /* citer */
        start local 11 // java.util.Iterator citer
        31: .line 409
            goto 39
        32: .line 410
      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 411
            aload 10 /* table */
            aload 12 /* col */
            invokevirtual org.hibernate.mapping.Table.containsColumn:(Lorg/hibernate/mapping/Column;)Z
            ifne 37
        34: .line 412
            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 413
            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 414
            ldc " as "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 13 // int sqlType
        37: .line 416
      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 417
            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 409
      StackMap locals:
      StackMap stack:
            aload 11 /* citer */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        40: .line 419
            aload 7 /* buf */
            aload 9 /* clazz */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        41: .line 420
            ldc " as clazz_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        42: .line 421
            aload 7 /* buf */
            ldc " from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        43: .line 423
            aload 10 /* table */
        44: .line 424
            aload 3 /* dialect */
        45: .line 425
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getDefaultCatalogName:()Ljava/lang/String;
        46: .line 426
            aload 4 /* settings */
            invokevirtual org.hibernate.cfg.Settings.getDefaultSchemaName:()Ljava/lang/String;
        47: .line 423
            invokevirtual org.hibernate.mapping.Table.getQualifiedName:(Lorg/hibernate/dialect/Dialect;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        48: .line 422
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        49: .line 429
            aload 7 /* buf */
            ldc " union "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        50: .line 430
            aload 3 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.supportsUnionAll:()Z
            ifeq 52
        51: .line 431
            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
        52: .line 402
      StackMap locals:
      StackMap stack:
            aload 8 /* siter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        53: .line 436
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_2
            if_icmple 57
        54: .line 438
            aload 7 /* buf */
            aload 7 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            aload 3 /* dialect */
            invokevirtual org.hibernate.dialect.Dialect.supportsUnionAll:()Z
            ifeq 55
            bipush 11
            goto 56
      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
        55: 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
        56: isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        57: .line 441
      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   58     0      this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0   58     1     model  Lorg/hibernate/mapping/PersistentClass;
            0   58     2   mapping  Lorg/hibernate/engine/spi/Mapping;
            1   58     3   dialect  Lorg/hibernate/dialect/Dialect;
            2   58     4  settings  Lorg/hibernate/cfg/Settings;
            9   58     5   columns  Ljava/util/HashSet;
           10   58     6     titer  Ljava/util/Iterator;
           12   17     7     table  Lorg/hibernate/mapping/Table;
           14   17     8     citer  Ljava/util/Iterator;
           21   58     7       buf  Ljava/lang/StringBuilder;
           25   58     8     siter  Ljava/util/Iterator;
           27   52     9     clazz  Lorg/hibernate/mapping/PersistentClass;
           28   52    10     table  Lorg/hibernate/mapping/Table;
           31   52    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 445
            iload 1 /* j */
            ifeq 2
         1: .line 446
            new org.hibernate.AssertionFailure
            dup
            ldc "only one table"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 448
      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    3     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    3     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 452
            iload 1 /* j */
            ifeq 2
         1: .line 453
            new org.hibernate.AssertionFailure
            dup
            ldc "only one table"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 455
      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    3     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    3     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 459
            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 463
            iload 1 /* j */
            ifeq 2
         1: .line 464
            new org.hibernate.AssertionFailure
            dup
            ldc "only one table"
            invokespecial org.hibernate.AssertionFailure.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 466
      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    3     0  this  Lorg/hibernate/persister/entity/UnionSubclassEntityPersister;
            0    3     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 471
            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 475
            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 479
            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 484
            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"