public class org.hibernate.tuple.entity.EntityMetamodel implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.tuple.entity.EntityMetamodel
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int NO_VERSION_INDX;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -66

  private final org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory;
    descriptor: Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private org.hibernate.type.EntityType entityType;
    descriptor: Lorg/hibernate/type/EntityType;
    flags: (0x0002) ACC_PRIVATE

  private final org.hibernate.tuple.IdentifierProperty identifierAttribute;
    descriptor: Lorg/hibernate/tuple/IdentifierProperty;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean versioned;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int propertySpan;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int versionPropertyIndex;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.tuple.NonIdentifierAttribute[] properties;
    descriptor: [Lorg/hibernate/tuple/NonIdentifierAttribute;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final org.hibernate.type.Type[] propertyTypes;
    descriptor: [Lorg/hibernate/type/Type;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean[] propertyLaziness;
    descriptor: [Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean[] propertyUpdateability;
    descriptor: [Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean[] nonlazyPropertyUpdateability;
    descriptor: [Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean[] propertyCheckability;
    descriptor: [Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean[] propertyInsertability;
    descriptor: [Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean[] propertyNullability;
    descriptor: [Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean[] propertyVersionability;
    descriptor: [Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.engine.spi.CascadeStyle[] cascadeStyles;
    descriptor: [Lorg/hibernate/engine/spi/CascadeStyle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasPreInsertGeneratedValues;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasPreUpdateGeneratedValues;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasInsertGeneratedValues;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasUpdateGeneratedValues;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.tuple.InMemoryValueGenerationStrategy[] inMemoryValueGenerationStrategies;
    descriptor: [Lorg/hibernate/tuple/InMemoryValueGenerationStrategy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.tuple.InDatabaseValueGenerationStrategy[] inDatabaseValueGenerationStrategies;
    descriptor: [Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, java.lang.Integer> propertyIndexes;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;

  private final boolean hasCollections;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasMutableProperties;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasLazyProperties;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasNonIdentifierPropertyNamedId;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] naturalIdPropertyNumbers;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasImmutableNaturalId;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasCacheableNaturalId;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final boolean hasCascades;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean mutable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean isAbstract;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean selectBeforeUpdate;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean dynamicUpdate;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean dynamicInsert;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.engine.OptimisticLockStyle optimisticLockStyle;
    descriptor: Lorg/hibernate/engine/OptimisticLockStyle;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean polymorphic;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final boolean explicitPolymorphism;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean inherited;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasSubclasses;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final org.hibernate.EntityMode entityMode;
    descriptor: Lorg/hibernate/EntityMode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.tuple.entity.EntityTuplizer entityTuplizer;
    descriptor: Lorg/hibernate/tuple/entity/EntityTuplizer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.bytecode.spi.BytecodeEnhancementMetadata bytecodeEnhancementMetadata;
    descriptor: Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair NO_GEN_PAIR;
    descriptor: Lorg/hibernate/tuple/entity/EntityMetamodel$GenerationStrategyPair;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 55
            ldc Lorg/hibernate/tuple/entity/EntityMetamodel;
            invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
            putstatic org.hibernate.tuple.entity.EntityMetamodel.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 421
            new org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair
            dup
            invokespecial org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.<init>:()V
            putstatic org.hibernate.tuple.entity.EntityMetamodel.NO_GEN_PAIR:Lorg/hibernate/tuple/entity/EntityMetamodel$GenerationStrategyPair;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.mapping.PersistentClass, org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.SessionFactoryImplementor);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=23, args_size=4
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.mapping.PersistentClass persistentClass
        start local 2 // org.hibernate.persister.entity.EntityPersister persister
        start local 3 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
         0: .line 125
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 94
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyIndexes:Ljava/util/Map;
         2: .line 118
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.tuple.entity.EntityMetamodel.subclassEntityNames:Ljava/util/Set;
         3: .line 119
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.tuple.entity.EntityMetamodel.entityNameByInheritenceClassMap:Ljava/util/Map;
         4: .line 129
            aload 0 /* this */
            aload 3 /* sessionFactory */
            putfield org.hibernate.tuple.entity.EntityMetamodel.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         5: .line 131
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            putfield org.hibernate.tuple.entity.EntityMetamodel.name:Ljava/lang/String;
         6: .line 132
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getRootClass:()Lorg/hibernate/mapping/RootClass;
            invokevirtual org.hibernate.mapping.RootClass.getEntityName:()Ljava/lang/String;
            putfield org.hibernate.tuple.entity.EntityMetamodel.rootName:Ljava/lang/String;
         7: .line 134
            aload 0 /* this */
         8: .line 135
            aload 1 /* persistentClass */
         9: .line 136
            aload 3 /* sessionFactory */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.rootName:Ljava/lang/String;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getIdentifierGenerator:(Ljava/lang/String;)Lorg/hibernate/id/IdentifierGenerator;
        10: .line 134
            invokestatic org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/id/IdentifierGenerator;)Lorg/hibernate/tuple/IdentifierProperty;
            putfield org.hibernate.tuple.entity.EntityMetamodel.identifierAttribute:Lorg/hibernate/tuple/IdentifierProperty;
        11: .line 139
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isVersioned:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.versioned:Z
        12: .line 141
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifeq 15
        13: .line 142
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokestatic org.hibernate.tuple.entity.BytecodeEnhancementMetadataPojoImpl.from:(Lorg/hibernate/mapping/PersistentClass;)Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
            putfield org.hibernate.tuple.entity.EntityMetamodel.bytecodeEnhancementMetadata:Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
        14: .line 143
            goto 16
        15: .line 145
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor
      StackMap stack:
            aload 0 /* this */
            new org.hibernate.tuple.entity.BytecodeEnhancementMetadataNonPojoImpl
            dup
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokespecial org.hibernate.tuple.entity.BytecodeEnhancementMetadataNonPojoImpl.<init>:(Ljava/lang/String;)V
            putfield org.hibernate.tuple.entity.EntityMetamodel.bytecodeEnhancementMetadata:Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
        16: .line 148
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* hasLazy */
        start local 4 // boolean hasLazy
        17: .line 150
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getPropertyClosureSpan:()I
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
        18: .line 151
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            anewarray org.hibernate.tuple.NonIdentifierAttribute
            putfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
        19: .line 152
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* naturalIdNumbers */
        start local 5 // java.util.List naturalIdNumbers
        20: .line 154
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            anewarray java.lang.String
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyNames:[Ljava/lang/String;
        21: .line 155
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            anewarray org.hibernate.type.Type
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyTypes:[Lorg/hibernate/type/Type;
        22: .line 156
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyUpdateability:[Z
        23: .line 157
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyInsertability:[Z
        24: .line 158
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.nonlazyPropertyUpdateability:[Z
        25: .line 159
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyCheckability:[Z
        26: .line 160
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyNullability:[Z
        27: .line 161
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyVersionability:[Z
        28: .line 162
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyLaziness:[Z
        29: .line 163
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            anewarray org.hibernate.engine.spi.CascadeStyle
            putfield org.hibernate.tuple.entity.EntityMetamodel.cascadeStyles:[Lorg/hibernate/engine/spi/CascadeStyle;
        30: .line 167
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            anewarray org.hibernate.tuple.InMemoryValueGenerationStrategy
            putfield org.hibernate.tuple.entity.EntityMetamodel.inMemoryValueGenerationStrategies:[Lorg/hibernate/tuple/InMemoryValueGenerationStrategy;
        31: .line 168
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            anewarray org.hibernate.tuple.InDatabaseValueGenerationStrategy
            putfield org.hibernate.tuple.entity.EntityMetamodel.inDatabaseValueGenerationStrategies:[Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
        32: .line 170
            iconst_0
            istore 6 /* foundPreInsertGeneratedValues */
        start local 6 // boolean foundPreInsertGeneratedValues
        33: .line 171
            iconst_0
            istore 7 /* foundPreUpdateGeneratedValues */
        start local 7 // boolean foundPreUpdateGeneratedValues
        34: .line 172
            iconst_0
            istore 8 /* foundPostInsertGeneratedValues */
        start local 8 // boolean foundPostInsertGeneratedValues
        35: .line 173
            iconst_0
            istore 9 /* foundPostUpdateGeneratedValues */
        start local 9 // boolean foundPostUpdateGeneratedValues
        36: .line 176
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getPropertyClosureIterator:()Ljava/util/Iterator;
            astore 10 /* iter */
        start local 10 // java.util.Iterator iter
        37: .line 177
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        38: .line 178
            bipush -66
            istore 12 /* tempVersionProperty */
        start local 12 // int tempVersionProperty
        39: .line 179
            iconst_0
            istore 13 /* foundCascade */
        start local 13 // boolean foundCascade
        40: .line 180
            iconst_0
            istore 14 /* foundCollection */
        start local 14 // boolean foundCollection
        41: .line 181
            iconst_0
            istore 15 /* foundMutable */
        start local 15 // boolean foundMutable
        42: .line 182
            iconst_0
            istore 16 /* foundNonIdentifierPropertyNamedId */
        start local 16 // boolean foundNonIdentifierPropertyNamedId
        43: .line 183
            iconst_0
            istore 17 /* foundUpdateableNaturalIdProperty */
        start local 17 // boolean foundUpdateableNaturalIdProperty
        44: .line 185
            goto 122
        45: .line 186
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int
      StackMap stack:
            aload 10 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 18 /* prop */
        start local 18 // org.hibernate.mapping.Property prop
        46: .line 188
            aload 18 /* prop */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getVersion:()Lorg/hibernate/mapping/Property;
            if_acmpne 56
        47: .line 189
            iload 11 /* i */
            istore 12 /* tempVersionProperty */
        48: .line 190
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
        49: .line 191
            aload 2 /* persister */
        50: .line 192
            aload 3 /* sessionFactory */
        51: .line 193
            iload 11 /* i */
        52: .line 194
            aload 18 /* prop */
        53: .line 195
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.bytecodeEnhancementMetadata:Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
            invokeinterface org.hibernate.bytecode.spi.BytecodeEnhancementMetadata.isEnhancedForLazyLoading:()Z
        54: .line 190
            invokestatic org.hibernate.tuple.PropertyFactory.buildVersionProperty:(Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;ILorg/hibernate/mapping/Property;Z)Lorg/hibernate/tuple/entity/VersionProperty;
            aastore
        55: .line 197
            goto 63
        56: .line 199
      StackMap locals: org.hibernate.mapping.Property
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
        57: .line 200
            aload 2 /* persister */
        58: .line 201
            aload 3 /* sessionFactory */
        59: .line 202
            iload 11 /* i */
        60: .line 203
            aload 18 /* prop */
        61: .line 204
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.bytecodeEnhancementMetadata:Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
            invokeinterface org.hibernate.bytecode.spi.BytecodeEnhancementMetadata.isEnhancedForLazyLoading:()Z
        62: .line 199
            invokestatic org.hibernate.tuple.PropertyFactory.buildEntityBasedAttribute:(Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;ILorg/hibernate/mapping/Property;Z)Lorg/hibernate/tuple/NonIdentifierAttribute;
            aastore
        63: .line 208
      StackMap locals:
      StackMap stack:
            aload 18 /* prop */
            invokevirtual org.hibernate.mapping.Property.isNaturalIdentifier:()Z
            ifeq 67
        64: .line 209
            aload 5 /* naturalIdNumbers */
            iload 11 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        65: .line 210
            aload 18 /* prop */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            ifeq 67
        66: .line 211
            iconst_1
            istore 17 /* foundUpdateableNaturalIdProperty */
        67: .line 215
      StackMap locals:
      StackMap stack:
            ldc "id"
            aload 18 /* prop */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 69
        68: .line 216
            iconst_1
            istore 16 /* foundNonIdentifierPropertyNamedId */
        69: .line 220
      StackMap locals:
      StackMap stack:
            aload 18 /* prop */
            invokevirtual org.hibernate.mapping.Property.isLazy:()Z
            ifeq 70
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.bytecodeEnhancementMetadata:Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
            invokeinterface org.hibernate.bytecode.spi.BytecodeEnhancementMetadata.isEnhancedForLazyLoading:()Z
            ifeq 70
            iconst_1
            goto 71
      StackMap locals:
      StackMap stack:
        70: iconst_0
      StackMap locals:
      StackMap stack: int
        71: istore 19 /* lazy */
        start local 19 // boolean lazy
        72: .line 221
            iload 19 /* lazy */
            ifeq 74
        73: .line 222
            iconst_1
            istore 4 /* hasLazy */
        74: .line 224
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyLaziness:[Z
            iload 11 /* i */
            iload 19 /* lazy */
            bastore
        75: .line 226
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyNames:[Ljava/lang/String;
            iload 11 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getName:()Ljava/lang/String;
            aastore
        76: .line 227
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyTypes:[Lorg/hibernate/type/Type;
            iload 11 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getType:()Lorg/hibernate/type/Type;
            aastore
        77: .line 228
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyNullability:[Z
            iload 11 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isNullable:()Z
            bastore
        78: .line 229
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyUpdateability:[Z
            iload 11 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isUpdateable:()Z
            bastore
        79: .line 230
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyInsertability:[Z
            iload 11 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isInsertable:()Z
            bastore
        80: .line 231
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyVersionability:[Z
            iload 11 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isVersionable:()Z
            bastore
        81: .line 232
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.nonlazyPropertyUpdateability:[Z
            iload 11 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isUpdateable:()Z
            ifeq 82
            iload 19 /* lazy */
            ifne 82
            iconst_1
            goto 83
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int org.hibernate.mapping.Property int
      StackMap stack: boolean[] int
        82: iconst_0
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int org.hibernate.mapping.Property int
      StackMap stack: boolean[] int int
        83: bastore
        84: .line 233
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyCheckability:[Z
            iload 11 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyUpdateability:[Z
            iload 11 /* i */
            baload
            ifne 87
        85: .line 234
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyTypes:[Lorg/hibernate/type/Type;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifeq 86
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyTypes:[Lorg/hibernate/type/Type;
            iload 11 /* i */
            aaload
            checkcast org.hibernate.type.AssociationType
            invokeinterface org.hibernate.type.AssociationType.isAlwaysDirtyChecked:()Z
            ifne 87
        86: .line 233
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int org.hibernate.mapping.Property int
      StackMap stack: boolean[] int
            iconst_0
            goto 88
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int org.hibernate.mapping.Property int
      StackMap stack: boolean[] int
        87: iconst_1
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int org.hibernate.mapping.Property int
      StackMap stack: boolean[] int int
        88: bastore
        89: .line 236
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.cascadeStyles:[Lorg/hibernate/engine/spi/CascadeStyle;
            iload 11 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getCascadeStyle:()Lorg/hibernate/engine/spi/CascadeStyle;
            aastore
        90: .line 240
            aload 3 /* sessionFactory */
            aload 18 /* prop */
            invokestatic org.hibernate.tuple.entity.EntityMetamodel.buildGenerationStrategyPair:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/mapping/Property;)Lorg/hibernate/tuple/entity/EntityMetamodel$GenerationStrategyPair;
            astore 20 /* pair */
        start local 20 // org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair pair
        91: .line 241
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inMemoryValueGenerationStrategies:[Lorg/hibernate/tuple/InMemoryValueGenerationStrategy;
            iload 11 /* i */
            aload 20 /* pair */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.getInMemoryStrategy:()Lorg/hibernate/tuple/InMemoryValueGenerationStrategy;
            aastore
        92: .line 242
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inDatabaseValueGenerationStrategies:[Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
            iload 11 /* i */
            aload 20 /* pair */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.getInDatabaseStrategy:()Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
            aastore
        93: .line 244
            aload 20 /* pair */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.getInMemoryStrategy:()Lorg/hibernate/tuple/InMemoryValueGenerationStrategy;
            ifnull 104
        94: .line 245
            aload 20 /* pair */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.getInMemoryStrategy:()Lorg/hibernate/tuple/InMemoryValueGenerationStrategy;
            invokeinterface org.hibernate.tuple.InMemoryValueGenerationStrategy.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
            astore 21 /* timing */
        start local 21 // org.hibernate.tuple.GenerationTiming timing
        95: .line 246
            aload 21 /* timing */
            getstatic org.hibernate.tuple.GenerationTiming.NEVER:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpeq 104
        96: .line 247
            aload 20 /* pair */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.getInMemoryStrategy:()Lorg/hibernate/tuple/InMemoryValueGenerationStrategy;
            invokeinterface org.hibernate.tuple.InMemoryValueGenerationStrategy.getValueGenerator:()Lorg/hibernate/tuple/ValueGenerator;
            astore 22 /* generator */
        start local 22 // org.hibernate.tuple.ValueGenerator generator
        97: .line 248
            aload 22 /* generator */
            ifnull 104
        98: .line 250
            aload 21 /* timing */
            getstatic org.hibernate.tuple.GenerationTiming.INSERT:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpne 101
        99: .line 251
            iconst_1
            istore 6 /* foundPreInsertGeneratedValues */
       100: .line 252
            goto 104
       101: .line 253
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair org.hibernate.tuple.GenerationTiming org.hibernate.tuple.ValueGenerator
      StackMap stack:
            aload 21 /* timing */
            getstatic org.hibernate.tuple.GenerationTiming.ALWAYS:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpne 104
       102: .line 254
            iconst_1
            istore 6 /* foundPreInsertGeneratedValues */
       103: .line 255
            iconst_1
            istore 7 /* foundPreUpdateGeneratedValues */
        end local 22 // org.hibernate.tuple.ValueGenerator generator
        end local 21 // org.hibernate.tuple.GenerationTiming timing
       104: .line 260
      StackMap locals:
      StackMap stack:
            aload 20 /* pair */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.getInDatabaseStrategy:()Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
            ifnull 112
       105: .line 261
            aload 20 /* pair */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.getInDatabaseStrategy:()Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
            invokeinterface org.hibernate.tuple.InDatabaseValueGenerationStrategy.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
            astore 21 /* timing */
        start local 21 // org.hibernate.tuple.GenerationTiming timing
       106: .line 262
            aload 21 /* timing */
            getstatic org.hibernate.tuple.GenerationTiming.INSERT:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpne 109
       107: .line 263
            iconst_1
            istore 8 /* foundPostInsertGeneratedValues */
       108: .line 264
            goto 112
       109: .line 265
      StackMap locals: org.hibernate.tuple.GenerationTiming
      StackMap stack:
            aload 21 /* timing */
            getstatic org.hibernate.tuple.GenerationTiming.ALWAYS:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpne 112
       110: .line 266
            iconst_1
            istore 8 /* foundPostInsertGeneratedValues */
       111: .line 267
            iconst_1
            istore 9 /* foundPostUpdateGeneratedValues */
        end local 21 // org.hibernate.tuple.GenerationTiming timing
       112: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isLazy:()Z
            ifeq 114
       113: .line 273
            iconst_1
            istore 4 /* hasLazy */
       114: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getCascadeStyle:()Lorg/hibernate/engine/spi/CascadeStyle;
            getstatic org.hibernate.engine.spi.CascadeStyles.NONE:Lorg/hibernate/engine/spi/CascadeStyle;
            if_acmpeq 116
       115: .line 277
            iconst_1
            istore 13 /* foundCascade */
       116: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getType:()Lorg/hibernate/type/Type;
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.indicatesCollection:(Lorg/hibernate/type/Type;)Z
            ifeq 118
       117: .line 281
            iconst_1
            istore 14 /* foundCollection */
       118: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyTypes:[Lorg/hibernate/type/Type;
            iload 11 /* i */
            aaload
            invokeinterface org.hibernate.type.Type.isMutable:()Z
            ifeq 120
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyCheckability:[Z
            iload 11 /* i */
            baload
            ifeq 120
       119: .line 285
            iconst_1
            istore 15 /* foundMutable */
       120: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 18 /* prop */
            iload 11 /* i */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.mapPropertyToIndex:(Lorg/hibernate/mapping/Property;I)V
       121: .line 289
            iinc 11 /* i */ 1
        end local 20 // org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair pair
        end local 19 // boolean lazy
        end local 18 // org.hibernate.mapping.Property prop
       122: .line 185
      StackMap locals:
      StackMap stack:
            aload 10 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 45
       123: .line 292
            aload 5 /* naturalIdNumbers */
            invokeinterface java.util.List.size:()I
            ifne 128
       124: .line 293
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.tuple.entity.EntityMetamodel.naturalIdPropertyNumbers:[I
       125: .line 294
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasImmutableNaturalId:Z
       126: .line 295
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasCacheableNaturalId:Z
       127: .line 296
            goto 135
       128: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* naturalIdNumbers */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.toIntArray:(Ljava/util/Collection;)[I
            putfield org.hibernate.tuple.entity.EntityMetamodel.naturalIdPropertyNumbers:[I
       129: .line 299
            aload 0 /* this */
            iload 17 /* foundUpdateableNaturalIdProperty */
            ifeq 130
            iconst_0
            goto 131
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       130: iconst_1
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel int
       131: putfield org.hibernate.tuple.entity.EntityMetamodel.hasImmutableNaturalId:Z
       132: .line 300
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getNaturalIdCacheRegionName:()Ljava/lang/String;
            ifnull 133
            iconst_1
            goto 134
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       133: iconst_0
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel int
       134: putfield org.hibernate.tuple.entity.EntityMetamodel.hasCacheableNaturalId:Z
       135: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* foundPreInsertGeneratedValues */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasPreInsertGeneratedValues:Z
       136: .line 304
            aload 0 /* this */
            iload 7 /* foundPreUpdateGeneratedValues */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasPreUpdateGeneratedValues:Z
       137: .line 305
            aload 0 /* this */
            iload 8 /* foundPostInsertGeneratedValues */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasInsertGeneratedValues:Z
       138: .line 306
            aload 0 /* this */
            iload 9 /* foundPostUpdateGeneratedValues */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasUpdateGeneratedValues:Z
       139: .line 308
            aload 0 /* this */
            iload 13 /* foundCascade */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasCascades:Z
       140: .line 309
            aload 0 /* this */
            iload 16 /* foundNonIdentifierPropertyNamedId */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasNonIdentifierPropertyNamedId:Z
       141: .line 310
            aload 0 /* this */
            iload 12 /* tempVersionProperty */
            putfield org.hibernate.tuple.entity.EntityMetamodel.versionPropertyIndex:I
       142: .line 311
            aload 0 /* this */
            iload 4 /* hasLazy */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasLazyProperties:Z
       143: .line 312
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.hasLazyProperties:Z
            ifeq 145
       144: .line 313
            getstatic org.hibernate.tuple.entity.EntityMetamodel.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.name:Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.lazyPropertyFetchingAvailable:(Ljava/lang/String;)V
       145: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isLazy:()Z
            ifeq 149
       146: .line 318
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifeq 148
       147: .line 319
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getProxyInterface:()Ljava/lang/Class;
            invokestatic org.hibernate.internal.util.ReflectHelper.isFinalClass:(Ljava/lang/Class;)Z
            ifne 149
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       148: iconst_1
            goto 150
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       149: iconst_0
       150: .line 316
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel int
            putfield org.hibernate.tuple.entity.EntityMetamodel.lazy:Z
       151: .line 321
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isMutable:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.mutable:Z
       152: .line 322
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isAbstract:()Ljava/lang/Boolean;
            ifnonnull 158
       153: .line 324
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifeq 155
       154: .line 325
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
            invokestatic org.hibernate.internal.util.ReflectHelper.isAbstractClass:(Ljava/lang/Class;)Z
            ifeq 155
            iconst_1
            goto 156
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       155: iconst_0
       156: .line 324
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel int
            putfield org.hibernate.tuple.entity.EntityMetamodel.isAbstract:Z
       157: .line 326
            goto 162
       158: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isAbstract:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.isAbstract:Z
       159: .line 329
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.isAbstract:Z
            ifne 162
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifeq 162
       160: .line 330
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
            invokestatic org.hibernate.internal.util.ReflectHelper.isAbstractClass:(Ljava/lang/Class;)Z
            ifeq 162
       161: .line 331
            getstatic org.hibernate.tuple.entity.EntityMetamodel.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.name:Ljava/lang/String;
            invokeinterface org.hibernate.internal.CoreMessageLogger.entityMappedAsNonAbstract:(Ljava/lang/String;)V
       162: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasSelectBeforeUpdate:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.selectBeforeUpdate:Z
       163: .line 337
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.useDynamicUpdate:()Z
            ifne 166
       164: .line 338
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.getBytecodeEnhancementMetadata:()Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
            invokeinterface org.hibernate.bytecode.spi.BytecodeEnhancementMetadata.isEnhancedForLazyLoading:()Z
            ifeq 165
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.getBytecodeEnhancementMetadata:()Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
            invokeinterface org.hibernate.bytecode.spi.BytecodeEnhancementMetadata.getLazyAttributesMetadata:()Lorg/hibernate/bytecode/enhance/spi/interceptor/LazyAttributesMetadata;
            invokevirtual org.hibernate.bytecode.enhance.spi.interceptor.LazyAttributesMetadata.getFetchGroupNames:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmpgt 166
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       165: iconst_0
            goto 167
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       166: iconst_1
       167: .line 337
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel int
            putfield org.hibernate.tuple.entity.EntityMetamodel.dynamicUpdate:Z
       168: .line 339
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.useDynamicInsert:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.dynamicInsert:Z
       169: .line 341
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isPolymorphic:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.polymorphic:Z
       170: .line 342
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isExplicitPolymorphism:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.explicitPolymorphism:Z
       171: .line 343
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isInherited:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.inherited:Z
       172: .line 344
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inherited:Z
            ifeq 174
       173: .line 345
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSuperclass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            goto 175
       174: .line 346
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
            aconst_null
       175: .line 344
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel java.lang.String
            putfield org.hibernate.tuple.entity.EntityMetamodel.superclass:Ljava/lang/String;
       176: .line 347
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasSubclasses:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasSubclasses:Z
       177: .line 349
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getOptimisticLockStyle:()Lorg/hibernate/engine/OptimisticLockStyle;
            putfield org.hibernate.tuple.entity.EntityMetamodel.optimisticLockStyle:Lorg/hibernate/engine/OptimisticLockStyle;
       178: .line 351
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.optimisticLockStyle:Lorg/hibernate/engine/OptimisticLockStyle;
            getstatic org.hibernate.engine.OptimisticLockStyle.ALL:Lorg/hibernate/engine/OptimisticLockStyle;
            if_acmpeq 181
       179: .line 352
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.optimisticLockStyle:Lorg/hibernate/engine/OptimisticLockStyle;
            getstatic org.hibernate.engine.OptimisticLockStyle.DIRTY:Lorg/hibernate/engine/OptimisticLockStyle;
            if_acmpeq 181
       180: .line 350
            iconst_0
            goto 182
      StackMap locals:
      StackMap stack:
       181: iconst_1
      StackMap locals:
      StackMap stack: int
       182: istore 18 /* isAllOrDirty */
        start local 18 // boolean isAllOrDirty
       183: .line 353
            iload 18 /* isAllOrDirty */
            ifeq 185
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.dynamicUpdate:Z
            ifne 185
       184: .line 354
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "optimistic-lock=all|dirty requires dynamic-update=\"true\": "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
       185: .line 356
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.versionPropertyIndex:I
            bipush -66
            if_icmpeq 187
            iload 18 /* isAllOrDirty */
            ifeq 187
       186: .line 357
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "version and optimistic-lock=all|dirty are not a valid combination : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
       187: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 14 /* foundCollection */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasCollections:Z
       188: .line 361
            aload 0 /* this */
            iload 15 /* foundMutable */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasMutableProperties:Z
       189: .line 363
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassIterator:()Ljava/util/Iterator;
            astore 10 /* iter */
       190: .line 364
            goto 192
       191: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.subclassEntityNames:Ljava/util/Set;
            aload 10 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       192: .line 364
      StackMap locals:
      StackMap stack:
            aload 10 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 191
       193: .line 367
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.subclassEntityNames:Ljava/util/Set;
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.name:Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       194: .line 369
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifeq 201
       195: .line 370
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityNameByInheritenceClassMap:Ljava/util/Map;
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       196: .line 371
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassIterator:()Ljava/util/Iterator;
            astore 10 /* iter */
       197: .line 372
            goto 200
       198: .line 373
      StackMap locals:
      StackMap stack:
            aload 10 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.PersistentClass
            astore 19 /* pc */
        start local 19 // org.hibernate.mapping.PersistentClass pc
       199: .line 374
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityNameByInheritenceClassMap:Ljava/util/Map;
            aload 19 /* pc */
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
            aload 19 /* pc */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 19 // org.hibernate.mapping.PersistentClass pc
       200: .line 372
      StackMap locals:
      StackMap stack:
            aload 10 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 198
       201: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifeq 202
            getstatic org.hibernate.EntityMode.POJO:Lorg/hibernate/EntityMode;
            goto 203
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       202: getstatic org.hibernate.EntityMode.MAP:Lorg/hibernate/EntityMode;
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.util.List int int int int java.util.Iterator int int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.EntityMode
       203: putfield org.hibernate.tuple.entity.EntityMetamodel.entityMode:Lorg/hibernate/EntityMode;
       204: .line 379
            aload 3 /* sessionFactory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSessionFactoryOptions:()Lorg/hibernate/boot/spi/SessionFactoryOptions;
            invokeinterface org.hibernate.boot.spi.SessionFactoryOptions.getEntityTuplizerFactory:()Lorg/hibernate/tuple/entity/EntityTuplizerFactory;
            astore 19 /* entityTuplizerFactory */
        start local 19 // org.hibernate.tuple.entity.EntityTuplizerFactory entityTuplizerFactory
       205: .line 380
            aload 1 /* persistentClass */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityMode:Lorg/hibernate/EntityMode;
            invokevirtual org.hibernate.mapping.PersistentClass.getTuplizerImplClassName:(Lorg/hibernate/EntityMode;)Ljava/lang/String;
            astore 20 /* tuplizerClassName */
        start local 20 // java.lang.String tuplizerClassName
       206: .line 381
            aload 20 /* tuplizerClassName */
            ifnonnull 209
       207: .line 382
            aload 0 /* this */
            aload 19 /* entityTuplizerFactory */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityMode:Lorg/hibernate/EntityMode;
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer:(Lorg/hibernate/EntityMode;Lorg/hibernate/tuple/entity/EntityMetamodel;Lorg/hibernate/mapping/PersistentClass;)Lorg/hibernate/tuple/entity/EntityTuplizer;
            putfield org.hibernate.tuple.entity.EntityMetamodel.entityTuplizer:Lorg/hibernate/tuple/entity/EntityTuplizer;
       208: .line 383
            goto 210
       209: .line 385
      StackMap locals: org.hibernate.tuple.entity.EntityTuplizerFactory java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 19 /* entityTuplizerFactory */
            aload 20 /* tuplizerClassName */
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer:(Ljava/lang/String;Lorg/hibernate/tuple/entity/EntityMetamodel;Lorg/hibernate/mapping/PersistentClass;)Lorg/hibernate/tuple/entity/EntityTuplizer;
            putfield org.hibernate.tuple.entity.EntityMetamodel.entityTuplizer:Lorg/hibernate/tuple/entity/EntityTuplizer;
       210: .line 387
      StackMap locals:
      StackMap stack:
            return
        end local 20 // java.lang.String tuplizerClassName
        end local 19 // org.hibernate.tuple.entity.EntityTuplizerFactory entityTuplizerFactory
        end local 18 // boolean isAllOrDirty
        end local 17 // boolean foundUpdateableNaturalIdProperty
        end local 16 // boolean foundNonIdentifierPropertyNamedId
        end local 15 // boolean foundMutable
        end local 14 // boolean foundCollection
        end local 13 // boolean foundCascade
        end local 12 // int tempVersionProperty
        end local 11 // int i
        end local 10 // java.util.Iterator iter
        end local 9 // boolean foundPostUpdateGeneratedValues
        end local 8 // boolean foundPostInsertGeneratedValues
        end local 7 // boolean foundPreUpdateGeneratedValues
        end local 6 // boolean foundPreInsertGeneratedValues
        end local 5 // java.util.List naturalIdNumbers
        end local 4 // boolean hasLazy
        end local 3 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        end local 2 // org.hibernate.persister.entity.EntityPersister persister
        end local 1 // org.hibernate.mapping.PersistentClass persistentClass
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot                               Name  Signature
            0  211     0                               this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0  211     1                    persistentClass  Lorg/hibernate/mapping/PersistentClass;
            0  211     2                          persister  Lorg/hibernate/persister/entity/EntityPersister;
            0  211     3                     sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
           17  211     4                            hasLazy  Z
           20  211     5                   naturalIdNumbers  Ljava/util/List<Ljava/lang/Integer;>;
           33  211     6      foundPreInsertGeneratedValues  Z
           34  211     7      foundPreUpdateGeneratedValues  Z
           35  211     8     foundPostInsertGeneratedValues  Z
           36  211     9     foundPostUpdateGeneratedValues  Z
           37  211    10                               iter  Ljava/util/Iterator;
           38  211    11                                  i  I
           39  211    12                tempVersionProperty  I
           40  211    13                       foundCascade  Z
           41  211    14                    foundCollection  Z
           42  211    15                       foundMutable  Z
           43  211    16  foundNonIdentifierPropertyNamedId  Z
           44  211    17   foundUpdateableNaturalIdProperty  Z
           46  122    18                               prop  Lorg/hibernate/mapping/Property;
           72  122    19                               lazy  Z
           91  122    20                               pair  Lorg/hibernate/tuple/entity/EntityMetamodel$GenerationStrategyPair;
           95  104    21                             timing  Lorg/hibernate/tuple/GenerationTiming;
           97  104    22                          generator  Lorg/hibernate/tuple/ValueGenerator;
          106  112    21                             timing  Lorg/hibernate/tuple/GenerationTiming;
          183  211    18                       isAllOrDirty  Z
          199  200    19                                 pc  Lorg/hibernate/mapping/PersistentClass;
          205  211    19              entityTuplizerFactory  Lorg/hibernate/tuple/entity/EntityTuplizerFactory;
          206  211    20                  tuplizerClassName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      persistentClass  
      persister        
      sessionFactory   

  private static org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair buildGenerationStrategyPair(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.mapping.Property);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/mapping/Property;)Lorg/hibernate/tuple/entity/EntityMetamodel$GenerationStrategyPair;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        start local 1 // org.hibernate.mapping.Property mappingProperty
         0: .line 392
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            astore 2 /* valueGeneration */
        start local 2 // org.hibernate.tuple.ValueGeneration valueGeneration
         1: .line 393
            aload 2 /* valueGeneration */
            ifnull 12
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
            getstatic org.hibernate.tuple.GenerationTiming.NEVER:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpeq 12
         2: .line 395
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.getValueGenerator:()Lorg/hibernate/tuple/ValueGenerator;
            ifnull 6
         3: .line 397
            new org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair
            dup
         4: .line 398
            aload 2 /* valueGeneration */
            invokestatic org.hibernate.tuple.entity.EntityMetamodel$FullInMemoryValueGenerationStrategy.create:(Lorg/hibernate/tuple/ValueGeneration;)Lorg/hibernate/tuple/entity/EntityMetamodel$FullInMemoryValueGenerationStrategy;
         5: .line 397
            invokespecial org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.<init>:(Lorg/hibernate/tuple/entity/EntityMetamodel$FullInMemoryValueGenerationStrategy;)V
            areturn
         6: .line 403
      StackMap locals: org.hibernate.tuple.ValueGeneration
      StackMap stack:
            new org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair
            dup
         7: .line 405
            aload 0 /* sessionFactory */
         8: .line 406
            aload 1 /* mappingProperty */
         9: .line 407
            aload 2 /* valueGeneration */
        10: .line 404
            invokestatic org.hibernate.tuple.entity.EntityMetamodel.create:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/mapping/Property;Lorg/hibernate/tuple/ValueGeneration;)Lorg/hibernate/tuple/entity/EntityMetamodel$InDatabaseValueGenerationStrategyImpl;
        11: .line 403
            invokespecial org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.<init>:(Lorg/hibernate/tuple/entity/EntityMetamodel$InDatabaseValueGenerationStrategyImpl;)V
            areturn
        12: .line 412
      StackMap locals:
      StackMap stack:
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.Component
            ifeq 16
        13: .line 413
            new org.hibernate.tuple.entity.EntityMetamodel$CompositeGenerationStrategyPairBuilder
            dup
            aload 1 /* mappingProperty */
            invokespecial org.hibernate.tuple.entity.EntityMetamodel$CompositeGenerationStrategyPairBuilder.<init>:(Lorg/hibernate/mapping/Property;)V
            astore 3 /* builder */
        start local 3 // org.hibernate.tuple.entity.EntityMetamodel$CompositeGenerationStrategyPairBuilder builder
        14: .line 414
            aload 0 /* sessionFactory */
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            aload 3 /* builder */
            invokestatic org.hibernate.tuple.entity.EntityMetamodel.interpretPartialCompositeValueGeneration:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/mapping/Component;Lorg/hibernate/tuple/entity/EntityMetamodel$CompositeGenerationStrategyPairBuilder;)V
        15: .line 415
            aload 3 /* builder */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel$CompositeGenerationStrategyPairBuilder.buildPair:()Lorg/hibernate/tuple/entity/EntityMetamodel$GenerationStrategyPair;
            areturn
        end local 3 // org.hibernate.tuple.entity.EntityMetamodel$CompositeGenerationStrategyPairBuilder builder
        16: .line 418
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.tuple.entity.EntityMetamodel.NO_GEN_PAIR:Lorg/hibernate/tuple/entity/EntityMetamodel$GenerationStrategyPair;
            areturn
        end local 2 // org.hibernate.tuple.ValueGeneration valueGeneration
        end local 1 // org.hibernate.mapping.Property mappingProperty
        end local 0 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0   sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0   17     1  mappingProperty  Lorg/hibernate/mapping/Property;
            1   17     2  valueGeneration  Lorg/hibernate/tuple/ValueGeneration;
           14   16     3          builder  Lorg/hibernate/tuple/entity/EntityMetamodel$CompositeGenerationStrategyPairBuilder;
    MethodParameters:
                 Name  Flags
      sessionFactory   final
      mappingProperty  final

  private static void interpretPartialCompositeValueGeneration(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.mapping.Component, org.hibernate.tuple.entity.EntityMetamodel$CompositeGenerationStrategyPairBuilder);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/mapping/Component;Lorg/hibernate/tuple/entity/EntityMetamodel$CompositeGenerationStrategyPairBuilder;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        start local 1 // org.hibernate.mapping.Component composite
        start local 2 // org.hibernate.tuple.entity.EntityMetamodel$CompositeGenerationStrategyPairBuilder builder
         0: .line 427
            aload 1 /* composite */
            invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
            astore 3 /* subProperties */
        start local 3 // java.util.Iterator subProperties
         1: .line 428
            goto 4
         2: .line 429
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* subProperties */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 4 /* subProperty */
        start local 4 // org.hibernate.mapping.Property subProperty
         3: .line 430
            aload 2 /* builder */
            aload 0 /* sessionFactory */
            aload 4 /* subProperty */
            invokestatic org.hibernate.tuple.entity.EntityMetamodel.buildGenerationStrategyPair:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/mapping/Property;)Lorg/hibernate/tuple/entity/EntityMetamodel$GenerationStrategyPair;
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel$CompositeGenerationStrategyPairBuilder.addPair:(Lorg/hibernate/tuple/entity/EntityMetamodel$GenerationStrategyPair;)V
        end local 4 // org.hibernate.mapping.Property subProperty
         4: .line 428
      StackMap locals:
      StackMap stack:
            aload 3 /* subProperties */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 432
            return
        end local 3 // java.util.Iterator subProperties
        end local 2 // org.hibernate.tuple.entity.EntityMetamodel$CompositeGenerationStrategyPairBuilder builder
        end local 1 // org.hibernate.mapping.Component composite
        end local 0 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0  sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0    6     1       composite  Lorg/hibernate/mapping/Component;
            0    6     2         builder  Lorg/hibernate/tuple/entity/EntityMetamodel$CompositeGenerationStrategyPairBuilder;
            1    6     3   subProperties  Ljava/util/Iterator;
            3    4     4     subProperty  Lorg/hibernate/mapping/Property;
    MethodParameters:
                Name  Flags
      sessionFactory  
      composite       
      builder         

  public static org.hibernate.tuple.entity.EntityMetamodel$InDatabaseValueGenerationStrategyImpl create(org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.mapping.Property, org.hibernate.tuple.ValueGeneration);
    descriptor: (Lorg/hibernate/engine/spi/SessionFactoryImplementor;Lorg/hibernate/mapping/Property;Lorg/hibernate/tuple/ValueGeneration;)Lorg/hibernate/tuple/entity/EntityMetamodel$InDatabaseValueGenerationStrategyImpl;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactoryImplementor
        start local 1 // org.hibernate.mapping.Property mappingProperty
        start local 2 // org.hibernate.tuple.ValueGeneration valueGeneration
         0: .line 438
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getType:()Lorg/hibernate/type/Type;
            aload 0 /* sessionFactoryImplementor */
            invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
            istore 3 /* numberOfMappedColumns */
        start local 3 // int numberOfMappedColumns
         1: .line 439
            iload 3 /* numberOfMappedColumns */
            iconst_1
            if_icmpne 7
         2: .line 440
            new org.hibernate.tuple.entity.EntityMetamodel$InDatabaseValueGenerationStrategyImpl
            dup
         3: .line 441
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
         4: .line 442
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.referenceColumnInSql:()Z
         5: .line 443
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.getDatabaseGeneratedReferencedColumnValue:()Ljava/lang/String;
            aastore
         6: .line 440
            invokespecial org.hibernate.tuple.entity.EntityMetamodel$InDatabaseValueGenerationStrategyImpl.<init>:(Lorg/hibernate/tuple/GenerationTiming;Z[Ljava/lang/String;)V
            areturn
         7: .line 448
      StackMap locals: int
      StackMap stack:
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.getDatabaseGeneratedReferencedColumnValue:()Ljava/lang/String;
            ifnull 13
         8: .line 449
            getstatic org.hibernate.tuple.entity.EntityMetamodel.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         9: .line 450
            ldc "Value generator specified column value in reference to multi-column attribute [%s -> %s]; ignoring"
        10: .line 451
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
        11: .line 452
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
        12: .line 449
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 455
      StackMap locals:
      StackMap stack:
            new org.hibernate.tuple.entity.EntityMetamodel$InDatabaseValueGenerationStrategyImpl
            dup
        14: .line 456
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
        15: .line 457
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.referenceColumnInSql:()Z
        16: .line 458
            iload 3 /* numberOfMappedColumns */
            anewarray java.lang.String
        17: .line 455
            invokespecial org.hibernate.tuple.entity.EntityMetamodel$InDatabaseValueGenerationStrategyImpl.<init>:(Lorg/hibernate/tuple/GenerationTiming;Z[Ljava/lang/String;)V
            areturn
        end local 3 // int numberOfMappedColumns
        end local 2 // org.hibernate.tuple.ValueGeneration valueGeneration
        end local 1 // org.hibernate.mapping.Property mappingProperty
        end local 0 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactoryImplementor
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   18     0  sessionFactoryImplementor  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0   18     1            mappingProperty  Lorg/hibernate/mapping/Property;
            0   18     2            valueGeneration  Lorg/hibernate/tuple/ValueGeneration;
            1   18     3      numberOfMappedColumns  I
    MethodParameters:
                           Name  Flags
      sessionFactoryImplementor  
      mappingProperty            
      valueGeneration            

  private void mapPropertyToIndex(org.hibernate.mapping.Property, int);
    descriptor: (Lorg/hibernate/mapping/Property;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.mapping.Property prop
        start local 2 // int i
         0: .line 728
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyIndexes:Ljava/util/Map;
            aload 1 /* prop */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            iload 2 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 729
            aload 1 /* prop */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.Component
            ifeq 10
         2: .line 730
            aload 1 /* prop */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         3: .line 731
            goto 9
         4: .line 732
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 4 /* subprop */
        start local 4 // org.hibernate.mapping.Property subprop
         5: .line 733
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyIndexes:Ljava/util/Map;
         6: .line 734
            new java.lang.StringBuilder
            dup
            aload 1 /* prop */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 4 /* subprop */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 735
            iload 2 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         8: .line 733
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.hibernate.mapping.Property subprop
         9: .line 731
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 3 // java.util.Iterator iter
        10: .line 739
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int i
        end local 1 // org.hibernate.mapping.Property prop
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0   11     1     prop  Lorg/hibernate/mapping/Property;
            0   11     2        i  I
            3   10     3     iter  Ljava/util/Iterator;
            5    9     4  subprop  Lorg/hibernate/mapping/Property;
    MethodParameters:
      Name  Flags
      prop  
      i     

  public org.hibernate.tuple.entity.EntityTuplizer getTuplizer();
    descriptor: ()Lorg/hibernate/tuple/entity/EntityTuplizer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 742
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityTuplizer:Lorg/hibernate/tuple/entity/EntityTuplizer;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean isNaturalIdentifierInsertGenerated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 753
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inDatabaseValueGenerationStrategies:[Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.naturalIdPropertyNumbers:[I
            iconst_0
            iaload
            aaload
            astore 1 /* strategy */
        start local 1 // org.hibernate.tuple.InDatabaseValueGenerationStrategy strategy
         1: .line 754
            aload 1 /* strategy */
            ifnull 2
            aload 1 /* strategy */
            invokeinterface org.hibernate.tuple.InDatabaseValueGenerationStrategy.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
            getstatic org.hibernate.tuple.GenerationTiming.NEVER:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpeq 2
            iconst_1
            ireturn
      StackMap locals: org.hibernate.tuple.InDatabaseValueGenerationStrategy
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // org.hibernate.tuple.InDatabaseValueGenerationStrategy strategy
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            1    3     1  strategy  Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;

  public boolean isVersionGenerated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 758
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inDatabaseValueGenerationStrategies:[Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.versionPropertyIndex:I
            aaload
            astore 1 /* strategy */
        start local 1 // org.hibernate.tuple.InDatabaseValueGenerationStrategy strategy
         1: .line 759
            aload 1 /* strategy */
            ifnull 2
            aload 1 /* strategy */
            invokeinterface org.hibernate.tuple.InDatabaseValueGenerationStrategy.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
            getstatic org.hibernate.tuple.GenerationTiming.NEVER:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpeq 2
            iconst_1
            ireturn
      StackMap locals: org.hibernate.tuple.InDatabaseValueGenerationStrategy
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // org.hibernate.tuple.InDatabaseValueGenerationStrategy strategy
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            1    3     1  strategy  Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;

  public int[] getNaturalIdentifierProperties();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 763
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.naturalIdPropertyNumbers:[I
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean hasNaturalIdentifier();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 767
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.naturalIdPropertyNumbers:[I
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean isNaturalIdentifierCached();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 771
            aload 0 /* this */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.hasNaturalIdentifier:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.hasCacheableNaturalId:Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

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

  public java.util.Set getSubclassEntityNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 779
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.subclassEntityNames:Ljava/util/Set;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  private boolean indicatesCollection(org.hibernate.type.Type);
    descriptor: (Lorg/hibernate/type/Type;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.type.Type type
         0: .line 783
            aload 1 /* type */
            invokeinterface org.hibernate.type.Type.isCollectionType:()Z
            ifeq 2
         1: .line 784
            iconst_1
            ireturn
         2: .line 786
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 10
         3: .line 787
            aload 1 /* type */
            checkcast org.hibernate.type.CompositeType
            invokeinterface org.hibernate.type.CompositeType.getSubtypes:()[Lorg/hibernate/type/Type;
            astore 2 /* subtypes */
        start local 2 // org.hibernate.type.Type[] subtypes
         4: .line 788
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 789
      StackMap locals: org.hibernate.type.Type[] int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* subtypes */
            iload 3 /* i */
            aaload
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.indicatesCollection:(Lorg/hibernate/type/Type;)Z
            ifeq 8
         7: .line 790
            iconst_1
            ireturn
         8: .line 788
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 2 /* subtypes */
            arraylength
            if_icmplt 6
        end local 3 // int i
        end local 2 // org.hibernate.type.Type[] subtypes
        10: .line 794
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.hibernate.type.Type type
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0   11     1      type  Lorg/hibernate/type/Type;
            4   10     2  subtypes  [Lorg/hibernate/type/Type;
            5   10     3         i  I
    MethodParameters:
      Name  Flags
      type  

  public org.hibernate.engine.spi.SessionFactoryImplementor getSessionFactory();
    descriptor: ()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 798
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

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

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

  public org.hibernate.type.EntityType getEntityType();
    descriptor: ()Lorg/hibernate/type/EntityType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 810
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityType:Lorg/hibernate/type/EntityType;
            ifnonnull 2
         1: .line 811
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getTypeResolver:()Lorg/hibernate/type/TypeResolver;
            invokevirtual org.hibernate.type.TypeResolver.getTypeFactory:()Lorg/hibernate/type/TypeFactory;
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.name:Ljava/lang/String;
            invokevirtual org.hibernate.type.TypeFactory.manyToOne:(Ljava/lang/String;)Lorg/hibernate/type/EntityType;
            putfield org.hibernate.tuple.entity.EntityMetamodel.entityType:Lorg/hibernate/type/EntityType;
         2: .line 813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityType:Lorg/hibernate/type/EntityType;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public org.hibernate.tuple.IdentifierProperty getIdentifierProperty();
    descriptor: ()Lorg/hibernate/tuple/IdentifierProperty;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 817
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.identifierAttribute:Lorg/hibernate/tuple/IdentifierProperty;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public int getPropertySpan();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 821
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            ireturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public int getVersionPropertyIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 825
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.versionPropertyIndex:I
            ireturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public org.hibernate.tuple.entity.VersionProperty getVersionProperty();
    descriptor: ()Lorg/hibernate/tuple/entity/VersionProperty;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 829
            bipush -66
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.versionPropertyIndex:I
            if_icmpne 2
         1: .line 830
            aconst_null
            areturn
         2: .line 833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.versionPropertyIndex:I
            aaload
            checkcast org.hibernate.tuple.entity.VersionProperty
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public org.hibernate.tuple.NonIdentifierAttribute[] getProperties();
    descriptor: ()[Lorg/hibernate/tuple/NonIdentifierAttribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 838
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public int getPropertyIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // java.lang.String propertyName
         0: .line 842
            aload 0 /* this */
            aload 1 /* propertyName */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.getPropertyIndexOrNull:(Ljava/lang/String;)Ljava/lang/Integer;
            astore 2 /* index */
        start local 2 // java.lang.Integer index
         1: .line 843
            aload 2 /* index */
            ifnonnull 3
         2: .line 844
            new org.hibernate.HibernateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to resolve property: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* propertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 846
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 2 /* index */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // java.lang.Integer index
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0    4     1  propertyName  Ljava/lang/String;
            1    4     2         index  Ljava/lang/Integer;
    MethodParameters:
              Name  Flags
      propertyName  

  public java.lang.Integer getPropertyIndexOrNull(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // java.lang.String propertyName
         0: .line 850
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyIndexes:Ljava/util/Map;
            aload 1 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            areturn
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0    1     1  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      propertyName  

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

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

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

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

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

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

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

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

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

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

  public boolean isPolymorphic();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 894
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.polymorphic:Z
            ireturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

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

  public boolean isExplicitPolymorphism();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 902
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.explicitPolymorphism:Z
            ireturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean isInherited();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 906
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inherited:Z
            ireturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

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

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

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

  public boolean isVersioned();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 922
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.versioned:Z
            ireturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

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

  public java.lang.String findEntityNameByEntityClass(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // java.lang.Class inheritenceClass
         0: .line 936
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityNameByInheritenceClassMap:Ljava/util/Map;
            aload 1 /* inheritenceClass */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.Class inheritenceClass
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0    1     1  inheritenceClass  Ljava/lang/Class;
    MethodParameters:
                  Name  Flags
      inheritenceClass  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 941
            new java.lang.StringBuilder
            dup
            ldc "EntityMetamodel("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

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

  public org.hibernate.type.Type[] getPropertyTypes();
    descriptor: ()[Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 950
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyTypes:[Lorg/hibernate/type/Type;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean[] getPropertyLaziness();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 954
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyLaziness:[Z
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean[] getPropertyUpdateability();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 958
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyUpdateability:[Z
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean[] getPropertyCheckability();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 962
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyCheckability:[Z
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean[] getNonlazyPropertyUpdateability();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 966
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.nonlazyPropertyUpdateability:[Z
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean[] getPropertyInsertability();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 970
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyInsertability:[Z
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean[] getPropertyNullability();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 974
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyNullability:[Z
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean[] getPropertyVersionability();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 978
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyVersionability:[Z
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public org.hibernate.engine.spi.CascadeStyle[] getCascadeStyles();
    descriptor: ()[Lorg/hibernate/engine/spi/CascadeStyle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 982
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.cascadeStyles:[Lorg/hibernate/engine/spi/CascadeStyle;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

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

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

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

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

  public org.hibernate.tuple.InMemoryValueGenerationStrategy[] getInMemoryValueGenerationStrategies();
    descriptor: ()[Lorg/hibernate/tuple/InMemoryValueGenerationStrategy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 1002
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inMemoryValueGenerationStrategies:[Lorg/hibernate/tuple/InMemoryValueGenerationStrategy;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public org.hibernate.tuple.InDatabaseValueGenerationStrategy[] getInDatabaseValueGenerationStrategies();
    descriptor: ()[Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 1006
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inDatabaseValueGenerationStrategies:[Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public org.hibernate.EntityMode getEntityMode();
    descriptor: ()Lorg/hibernate/EntityMode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 1010
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityMode:Lorg/hibernate/EntityMode;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public boolean isInstrumented();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 1017
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.bytecodeEnhancementMetadata:Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
            invokeinterface org.hibernate.bytecode.spi.BytecodeEnhancementMetadata.isEnhancedForLazyLoading:()Z
            ireturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;

  public org.hibernate.bytecode.spi.BytecodeEnhancementMetadata getBytecodeEnhancementMetadata();
    descriptor: ()Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 1021
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.bytecodeEnhancementMetadata:Lorg/hibernate/bytecode/spi/BytecodeEnhancementMetadata;
            areturn
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/tuple/entity/EntityMetamodel;
}
SourceFile: "EntityMetamodel.java"
NestMembers:
  org.hibernate.tuple.entity.EntityMetamodel$CompositeGenerationStrategyPairBuilder  org.hibernate.tuple.entity.EntityMetamodel$FullInMemoryValueGenerationStrategy  org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair  org.hibernate.tuple.entity.EntityMetamodel$InDatabaseValueGenerationStrategyImpl  org.hibernate.tuple.entity.EntityMetamodel$NoInDatabaseValueGenerationStrategy  org.hibernate.tuple.entity.EntityMetamodel$NoInMemoryValueGenerationStrategy  org.hibernate.tuple.entity.EntityMetamodel$ValueGenerationStrategyException
InnerClasses:
  private CompositeGenerationStrategyPairBuilder = org.hibernate.tuple.entity.EntityMetamodel$CompositeGenerationStrategyPairBuilder of org.hibernate.tuple.entity.EntityMetamodel
  private FullInMemoryValueGenerationStrategy = org.hibernate.tuple.entity.EntityMetamodel$FullInMemoryValueGenerationStrategy of org.hibernate.tuple.entity.EntityMetamodel
  public GenerationStrategyPair = org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair of org.hibernate.tuple.entity.EntityMetamodel
  private InDatabaseValueGenerationStrategyImpl = org.hibernate.tuple.entity.EntityMetamodel$InDatabaseValueGenerationStrategyImpl of org.hibernate.tuple.entity.EntityMetamodel
  private NoInDatabaseValueGenerationStrategy = org.hibernate.tuple.entity.EntityMetamodel$NoInDatabaseValueGenerationStrategy of org.hibernate.tuple.entity.EntityMetamodel
  private NoInMemoryValueGenerationStrategy = org.hibernate.tuple.entity.EntityMetamodel$NoInMemoryValueGenerationStrategy of org.hibernate.tuple.entity.EntityMetamodel
  public ValueGenerationStrategyException = org.hibernate.tuple.entity.EntityMetamodel$ValueGenerationStrategyException of org.hibernate.tuple.entity.EntityMetamodel