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 org.hibernate.persister.entity.AbstractEntityPersister persister;
    descriptor: Lorg/hibernate/persister/entity/AbstractEntityPersister;
    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 final org.hibernate.type.EntityType entityType;
    descriptor: Lorg/hibernate/type/EntityType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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.EntityInstrumentationMetadata instrumentationMetadata;
    descriptor: Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
    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 81
            ldc Lorg/hibernate/internal/CoreMessageLogger;
            ldc Lorg/hibernate/tuple/entity/EntityMetamodel;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.tuple.entity.EntityMetamodel.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         1: .line 442
            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.AbstractEntityPersister, org.hibernate.engine.spi.SessionFactoryImplementor);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/persister/entity/AbstractEntityPersister;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.AbstractEntityPersister persister
        start local 3 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
         0: .line 152
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 121
            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 145
            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 146
            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 156
            aload 0 /* this */
            aload 3 /* sessionFactory */
            putfield org.hibernate.tuple.entity.EntityMetamodel.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         5: .line 157
            aload 0 /* this */
            aload 2 /* persister */
            putfield org.hibernate.tuple.entity.EntityMetamodel.persister:Lorg/hibernate/persister/entity/AbstractEntityPersister;
         6: .line 159
            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;
         7: .line 160
            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;
         8: .line 161
            aload 0 /* this */
            aload 3 /* sessionFactory */
            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;
         9: .line 163
            aload 0 /* this */
        10: .line 164
            aload 1 /* persistentClass */
        11: .line 165
            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;
        12: .line 163
            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;
        13: .line 168
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isVersioned:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.versioned:Z
        14: .line 170
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifeq 16
        15: .line 171
            invokestatic org.hibernate.cfg.Environment.getBytecodeProvider:()Lorg/hibernate/bytecode/spi/BytecodeProvider;
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
            invokeinterface org.hibernate.bytecode.spi.BytecodeProvider.getEntityInstrumentationMetadata:(Ljava/lang/Class;)Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
            goto 17
        16: .line 172
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
            new org.hibernate.tuple.entity.NonPojoInstrumentationMetadata
            dup
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokespecial org.hibernate.tuple.entity.NonPojoInstrumentationMetadata.<init>:(Ljava/lang/String;)V
        17: .line 170
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.bytecode.spi.EntityInstrumentationMetadata
            putfield org.hibernate.tuple.entity.EntityMetamodel.instrumentationMetadata:Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
        18: .line 174
            iconst_0
            istore 4 /* hasLazy */
        start local 4 // boolean hasLazy
        19: .line 176
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getPropertyClosureSpan:()I
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
        20: .line 177
            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;
        21: .line 178
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* naturalIdNumbers */
        start local 5 // java.util.List naturalIdNumbers
        22: .line 180
            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;
        23: .line 181
            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;
        24: .line 182
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyUpdateability:[Z
        25: .line 183
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyInsertability:[Z
        26: .line 184
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.nonlazyPropertyUpdateability:[Z
        27: .line 185
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyCheckability:[Z
        28: .line 186
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyNullability:[Z
        29: .line 187
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyVersionability:[Z
        30: .line 188
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyLaziness:[Z
        31: .line 189
            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;
        32: .line 193
            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;
        33: .line 194
            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;
        34: .line 196
            iconst_0
            istore 6 /* foundPreInsertGeneratedValues */
        start local 6 // boolean foundPreInsertGeneratedValues
        35: .line 197
            iconst_0
            istore 7 /* foundPreUpdateGeneratedValues */
        start local 7 // boolean foundPreUpdateGeneratedValues
        36: .line 198
            iconst_0
            istore 8 /* foundPostInsertGeneratedValues */
        start local 8 // boolean foundPostInsertGeneratedValues
        37: .line 199
            iconst_0
            istore 9 /* foundPostUpdateGeneratedValues */
        start local 9 // boolean foundPostUpdateGeneratedValues
        38: .line 202
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getPropertyClosureIterator:()Ljava/util/Iterator;
            astore 10 /* iter */
        start local 10 // java.util.Iterator iter
        39: .line 203
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        40: .line 204
            bipush -66
            istore 12 /* tempVersionProperty */
        start local 12 // int tempVersionProperty
        41: .line 205
            iconst_0
            istore 13 /* foundCascade */
        start local 13 // boolean foundCascade
        42: .line 206
            iconst_0
            istore 14 /* foundCollection */
        start local 14 // boolean foundCollection
        43: .line 207
            iconst_0
            istore 15 /* foundMutable */
        start local 15 // boolean foundMutable
        44: .line 208
            iconst_0
            istore 16 /* foundNonIdentifierPropertyNamedId */
        start local 16 // boolean foundNonIdentifierPropertyNamedId
        45: .line 211
            iconst_0
            istore 17 /* foundUpdateableNaturalIdProperty */
        start local 17 // boolean foundUpdateableNaturalIdProperty
        46: .line 213
            goto 123
        47: .line 214
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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
        48: .line 216
            aload 18 /* prop */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getVersion:()Lorg/hibernate/mapping/Property;
            if_acmpne 58
        49: .line 217
            iload 11 /* i */
            istore 12 /* tempVersionProperty */
        50: .line 218
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 11 /* i */
        51: .line 219
            aload 2 /* persister */
        52: .line 220
            aload 3 /* sessionFactory */
        53: .line 221
            iload 11 /* i */
        54: .line 222
            aload 18 /* prop */
        55: .line 223
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.instrumentationMetadata:Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
            invokeinterface org.hibernate.bytecode.spi.EntityInstrumentationMetadata.isInstrumented:()Z
        56: .line 218
            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
        57: .line 225
            goto 65
        58: .line 227
      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 */
        59: .line 228
            aload 2 /* persister */
        60: .line 229
            aload 3 /* sessionFactory */
        61: .line 230
            iload 11 /* i */
        62: .line 231
            aload 18 /* prop */
        63: .line 232
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.instrumentationMetadata:Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
            invokeinterface org.hibernate.bytecode.spi.EntityInstrumentationMetadata.isInstrumented:()Z
        64: .line 227
            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
        65: .line 236
      StackMap locals:
      StackMap stack:
            aload 18 /* prop */
            invokevirtual org.hibernate.mapping.Property.isNaturalIdentifier:()Z
            ifeq 69
        66: .line 237
            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
        67: .line 238
            aload 18 /* prop */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            ifeq 69
        68: .line 239
            iconst_1
            istore 17 /* foundUpdateableNaturalIdProperty */
        69: .line 243
      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 71
        70: .line 244
            iconst_1
            istore 16 /* foundNonIdentifierPropertyNamedId */
        71: .line 248
      StackMap locals:
      StackMap stack:
            aload 18 /* prop */
            invokevirtual org.hibernate.mapping.Property.isLazy:()Z
            ifeq 72
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.instrumentationMetadata:Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
            invokeinterface org.hibernate.bytecode.spi.EntityInstrumentationMetadata.isInstrumented:()Z
            ifeq 72
            iconst_1
            goto 73
      StackMap locals:
      StackMap stack:
        72: iconst_0
      StackMap locals:
      StackMap stack: int
        73: istore 19 /* lazy */
        start local 19 // boolean lazy
        74: .line 249
            iload 19 /* lazy */
            ifeq 75
            iconst_1
            istore 4 /* hasLazy */
        75: .line 250
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyLaziness:[Z
            iload 11 /* i */
            iload 19 /* lazy */
            bastore
        76: .line 252
            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
        77: .line 253
            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
        78: .line 254
            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
        79: .line 255
            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
        80: .line 256
            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
        81: .line 257
            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
        82: .line 258
            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 83
            iload 19 /* lazy */
            ifne 83
            iconst_1
            goto 84
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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
        83: iconst_0
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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
        84: bastore
        85: .line 259
            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 88
        86: .line 260
            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 87
            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 88
        87: .line 259
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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 89
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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
        88: iconst_1
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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
        89: bastore
        90: .line 262
            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
        91: .line 266
            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
        92: .line 267
            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
        93: .line 268
            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
        94: .line 270
            aload 20 /* pair */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.getInMemoryStrategy:()Lorg/hibernate/tuple/InMemoryValueGenerationStrategy;
            ifnull 105
        95: .line 271
            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
        96: .line 272
            aload 21 /* timing */
            getstatic org.hibernate.tuple.GenerationTiming.NEVER:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpeq 105
        97: .line 273
            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
        98: .line 274
            aload 22 /* generator */
            ifnull 105
        99: .line 276
            aload 21 /* timing */
            getstatic org.hibernate.tuple.GenerationTiming.INSERT:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpne 102
       100: .line 277
            iconst_1
            istore 6 /* foundPreInsertGeneratedValues */
       101: .line 278
            goto 105
       102: .line 279
      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 105
       103: .line 280
            iconst_1
            istore 6 /* foundPreInsertGeneratedValues */
       104: .line 281
            iconst_1
            istore 7 /* foundPreUpdateGeneratedValues */
        end local 22 // org.hibernate.tuple.ValueGenerator generator
        end local 21 // org.hibernate.tuple.GenerationTiming timing
       105: .line 286
      StackMap locals:
      StackMap stack:
            aload 20 /* pair */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.getInDatabaseStrategy:()Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
            ifnull 113
       106: .line 287
            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
       107: .line 288
            aload 21 /* timing */
            getstatic org.hibernate.tuple.GenerationTiming.INSERT:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpne 110
       108: .line 289
            iconst_1
            istore 8 /* foundPostInsertGeneratedValues */
       109: .line 290
            goto 113
       110: .line 291
      StackMap locals: org.hibernate.tuple.GenerationTiming
      StackMap stack:
            aload 21 /* timing */
            getstatic org.hibernate.tuple.GenerationTiming.ALWAYS:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpne 113
       111: .line 292
            iconst_1
            istore 8 /* foundPostInsertGeneratedValues */
       112: .line 293
            iconst_1
            istore 9 /* foundPostUpdateGeneratedValues */
        end local 21 // org.hibernate.tuple.GenerationTiming timing
       113: .line 298
      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 115
       114: .line 299
            iconst_1
            istore 4 /* hasLazy */
       115: .line 302
      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 117
       116: .line 303
            iconst_1
            istore 13 /* foundCascade */
       117: .line 306
      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 119
       118: .line 307
            iconst_1
            istore 14 /* foundCollection */
       119: .line 310
      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 121
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyCheckability:[Z
            iload 11 /* i */
            baload
            ifeq 121
       120: .line 311
            iconst_1
            istore 15 /* foundMutable */
       121: .line 314
      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
       122: .line 315
            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
       123: .line 213
      StackMap locals:
      StackMap stack:
            aload 10 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
       124: .line 318
            aload 5 /* naturalIdNumbers */
            invokeinterface java.util.List.size:()I
            ifne 129
       125: .line 319
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.tuple.entity.EntityMetamodel.naturalIdPropertyNumbers:[I
       126: .line 320
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasImmutableNaturalId:Z
       127: .line 321
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasCacheableNaturalId:Z
       128: .line 322
            goto 136
       129: .line 324
      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
       130: .line 325
            aload 0 /* this */
            iload 17 /* foundUpdateableNaturalIdProperty */
            ifeq 131
            iconst_0
            goto 132
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       131: iconst_1
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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
       132: putfield org.hibernate.tuple.entity.EntityMetamodel.hasImmutableNaturalId:Z
       133: .line 326
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getNaturalIdCacheRegionName:()Ljava/lang/String;
            ifnull 134
            iconst_1
            goto 135
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       134: iconst_0
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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
       135: putfield org.hibernate.tuple.entity.EntityMetamodel.hasCacheableNaturalId:Z
       136: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* foundPreInsertGeneratedValues */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasPreInsertGeneratedValues:Z
       137: .line 330
            aload 0 /* this */
            iload 7 /* foundPreUpdateGeneratedValues */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasPreUpdateGeneratedValues:Z
       138: .line 331
            aload 0 /* this */
            iload 8 /* foundPostInsertGeneratedValues */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasInsertGeneratedValues:Z
       139: .line 332
            aload 0 /* this */
            iload 9 /* foundPostUpdateGeneratedValues */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasUpdateGeneratedValues:Z
       140: .line 334
            aload 0 /* this */
            iload 13 /* foundCascade */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasCascades:Z
       141: .line 335
            aload 0 /* this */
            iload 16 /* foundNonIdentifierPropertyNamedId */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasNonIdentifierPropertyNamedId:Z
       142: .line 336
            aload 0 /* this */
            iload 12 /* tempVersionProperty */
            putfield org.hibernate.tuple.entity.EntityMetamodel.versionPropertyIndex:I
       143: .line 337
            aload 0 /* this */
            iload 4 /* hasLazy */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasLazyProperties:Z
       144: .line 338
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.hasLazyProperties:Z
            ifeq 145
            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 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isLazy:()Z
            ifeq 149
       146: .line 342
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifeq 148
       147: .line 343
            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 340
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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 345
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isMutable:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.mutable:Z
       152: .line 346
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isAbstract:()Ljava/lang/Boolean;
            ifnonnull 158
       153: .line 348
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifeq 155
       154: .line 349
            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 348
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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 350
            goto 162
       158: .line 352
      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 353
            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 354
            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 355
            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 358
      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 359
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.useDynamicUpdate:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.dynamicUpdate:Z
       164: .line 360
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.useDynamicInsert:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.dynamicInsert:Z
       165: .line 362
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isPolymorphic:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.polymorphic:Z
       166: .line 363
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isExplicitPolymorphism:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.explicitPolymorphism:Z
       167: .line 364
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.isInherited:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.inherited:Z
       168: .line 365
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inherited:Z
            ifeq 170
       169: .line 366
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSuperclass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            goto 171
       170: .line 367
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
            aconst_null
       171: .line 365
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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;
       172: .line 368
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasSubclasses:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasSubclasses:Z
       173: .line 370
            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;
       174: .line 372
            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 177
       175: .line 373
            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 177
       176: .line 371
            iconst_0
            goto 178
      StackMap locals:
      StackMap stack:
       177: iconst_1
      StackMap locals:
      StackMap stack: int
       178: istore 18 /* isAllOrDirty */
        start local 18 // boolean isAllOrDirty
       179: .line 374
            iload 18 /* isAllOrDirty */
            ifeq 181
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.dynamicUpdate:Z
            ifne 181
       180: .line 375
            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
       181: .line 377
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.versionPropertyIndex:I
            bipush -66
            if_icmpeq 183
            iload 18 /* isAllOrDirty */
            ifeq 183
       182: .line 378
            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
       183: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 14 /* foundCollection */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasCollections:Z
       184: .line 382
            aload 0 /* this */
            iload 15 /* foundMutable */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasMutableProperties:Z
       185: .line 384
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassIterator:()Ljava/util/Iterator;
            astore 10 /* iter */
       186: .line 385
            goto 188
       187: .line 386
      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
       188: .line 385
      StackMap locals:
      StackMap stack:
            aload 10 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 187
       189: .line 388
            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
       190: .line 390
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifeq 197
       191: .line 391
            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
       192: .line 392
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getSubclassIterator:()Ljava/util/Iterator;
            astore 10 /* iter */
       193: .line 393
            goto 196
       194: .line 394
      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
       195: .line 395
            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
       196: .line 393
      StackMap locals:
      StackMap stack:
            aload 10 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 194
       197: .line 399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifeq 198
            getstatic org.hibernate.EntityMode.POJO:Lorg/hibernate/EntityMode;
            goto 199
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       198: getstatic org.hibernate.EntityMode.MAP:Lorg/hibernate/EntityMode;
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.mapping.PersistentClass org.hibernate.persister.entity.AbstractEntityPersister 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
       199: putfield org.hibernate.tuple.entity.EntityMetamodel.entityMode:Lorg/hibernate/EntityMode;
       200: .line 400
            aload 3 /* sessionFactory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getEntityTuplizerFactory:()Lorg/hibernate/tuple/entity/EntityTuplizerFactory;
            astore 19 /* entityTuplizerFactory */
        start local 19 // org.hibernate.tuple.entity.EntityTuplizerFactory entityTuplizerFactory
       201: .line 401
            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
       202: .line 402
            aload 20 /* tuplizerClassName */
            ifnonnull 205
       203: .line 403
            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;
       204: .line 404
            goto 206
       205: .line 406
      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;
       206: .line 408
      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.AbstractEntityPersister 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  207     0                               this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0  207     1                    persistentClass  Lorg/hibernate/mapping/PersistentClass;
            0  207     2                          persister  Lorg/hibernate/persister/entity/AbstractEntityPersister;
            0  207     3                     sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
           19  207     4                            hasLazy  Z
           22  207     5                   naturalIdNumbers  Ljava/util/List<Ljava/lang/Integer;>;
           35  207     6      foundPreInsertGeneratedValues  Z
           36  207     7      foundPreUpdateGeneratedValues  Z
           37  207     8     foundPostInsertGeneratedValues  Z
           38  207     9     foundPostUpdateGeneratedValues  Z
           39  207    10                               iter  Ljava/util/Iterator;
           40  207    11                                  i  I
           41  207    12                tempVersionProperty  I
           42  207    13                       foundCascade  Z
           43  207    14                    foundCollection  Z
           44  207    15                       foundMutable  Z
           45  207    16  foundNonIdentifierPropertyNamedId  Z
           46  207    17   foundUpdateableNaturalIdProperty  Z
           48  123    18                               prop  Lorg/hibernate/mapping/Property;
           74  123    19                               lazy  Z
           92  123    20                               pair  Lorg/hibernate/tuple/entity/EntityMetamodel$GenerationStrategyPair;
           96  105    21                             timing  Lorg/hibernate/tuple/GenerationTiming;
           98  105    22                          generator  Lorg/hibernate/tuple/ValueGenerator;
          107  113    21                             timing  Lorg/hibernate/tuple/GenerationTiming;
          179  207    18                       isAllOrDirty  Z
          195  196    19                                 pc  Lorg/hibernate/mapping/PersistentClass;
          201  207    19              entityTuplizerFactory  Lorg/hibernate/tuple/entity/EntityTuplizerFactory;
          202  207    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 413
            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 414
            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 416
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.getValueGenerator:()Lorg/hibernate/tuple/ValueGenerator;
            ifnull 6
         3: .line 418
            new org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair
            dup
         4: .line 419
            aload 2 /* valueGeneration */
            invokestatic org.hibernate.tuple.entity.EntityMetamodel$FullInMemoryValueGenerationStrategy.create:(Lorg/hibernate/tuple/ValueGeneration;)Lorg/hibernate/tuple/entity/EntityMetamodel$FullInMemoryValueGenerationStrategy;
         5: .line 418
            invokespecial org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.<init>:(Lorg/hibernate/tuple/entity/EntityMetamodel$FullInMemoryValueGenerationStrategy;)V
            areturn
         6: .line 424
      StackMap locals: org.hibernate.tuple.ValueGeneration
      StackMap stack:
            new org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair
            dup
         7: .line 426
            aload 0 /* sessionFactory */
         8: .line 427
            aload 1 /* mappingProperty */
         9: .line 428
            aload 2 /* valueGeneration */
        10: .line 425
            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 424
            invokespecial org.hibernate.tuple.entity.EntityMetamodel$GenerationStrategyPair.<init>:(Lorg/hibernate/tuple/entity/EntityMetamodel$InDatabaseValueGenerationStrategyImpl;)V
            areturn
        12: .line 433
      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 434
            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 435
            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 436
            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 439
      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 448
            aload 1 /* composite */
            invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
            astore 3 /* subProperties */
        start local 3 // java.util.Iterator subProperties
         1: .line 449
            goto 4
         2: .line 450
      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 451
            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 449
      StackMap locals:
      StackMap stack:
            aload 3 /* subProperties */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 453
            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 459
            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 460
            iload 3 /* numberOfMappedColumns */
            iconst_1
            if_icmpne 7
         2: .line 461
            new org.hibernate.tuple.entity.EntityMetamodel$InDatabaseValueGenerationStrategyImpl
            dup
         3: .line 462
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
         4: .line 463
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.referenceColumnInSql:()Z
         5: .line 464
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.getDatabaseGeneratedReferencedColumnValue:()Ljava/lang/String;
            aastore
         6: .line 461
            invokespecial org.hibernate.tuple.entity.EntityMetamodel$InDatabaseValueGenerationStrategyImpl.<init>:(Lorg/hibernate/tuple/GenerationTiming;Z[Ljava/lang/String;)V
            areturn
         7: .line 469
      StackMap locals: int
      StackMap stack:
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.getDatabaseGeneratedReferencedColumnValue:()Ljava/lang/String;
            ifnull 13
         8: .line 470
            getstatic org.hibernate.tuple.entity.EntityMetamodel.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         9: .line 471
            ldc "Value generator specified column value in reference to multi-column attribute [%s -> %s]; ignoring"
        10: .line 472
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
        11: .line 473
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
        12: .line 470
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 476
      StackMap locals:
      StackMap stack:
            new org.hibernate.tuple.entity.EntityMetamodel$InDatabaseValueGenerationStrategyImpl
            dup
        14: .line 477
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
        15: .line 478
            aload 2 /* valueGeneration */
            invokeinterface org.hibernate.tuple.ValueGeneration.referenceColumnInSql:()Z
        16: .line 479
            iload 3 /* numberOfMappedColumns */
            anewarray java.lang.String
        17: .line 476
            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 org.hibernate.engine.spi.ValueInclusion determineInsertValueGenerationType(org.hibernate.mapping.Property, org.hibernate.tuple.NonIdentifierAttribute);
    descriptor: (Lorg/hibernate/mapping/Property;Lorg/hibernate/tuple/NonIdentifierAttribute;)Lorg/hibernate/engine/spi/ValueInclusion;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.mapping.Property mappingProperty
        start local 2 // org.hibernate.tuple.NonIdentifierAttribute runtimeProperty
         0: .line 752
            aload 0 /* this */
            aload 2 /* runtimeProperty */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.isInsertGenerated:(Lorg/hibernate/tuple/NonIdentifierAttribute;)Z
            ifeq 2
         1: .line 753
            getstatic org.hibernate.engine.spi.ValueInclusion.FULL:Lorg/hibernate/engine/spi/ValueInclusion;
            areturn
         2: .line 755
      StackMap locals:
      StackMap stack:
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.Component
            ifeq 5
         3: .line 756
            aload 0 /* this */
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.hasPartialInsertComponentGeneration:(Lorg/hibernate/mapping/Component;)Z
            ifeq 5
         4: .line 757
            getstatic org.hibernate.engine.spi.ValueInclusion.PARTIAL:Lorg/hibernate/engine/spi/ValueInclusion;
            areturn
         5: .line 760
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.engine.spi.ValueInclusion.NONE:Lorg/hibernate/engine/spi/ValueInclusion;
            areturn
        end local 2 // org.hibernate.tuple.NonIdentifierAttribute runtimeProperty
        end local 1 // org.hibernate.mapping.Property mappingProperty
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0    6     1  mappingProperty  Lorg/hibernate/mapping/Property;
            0    6     2  runtimeProperty  Lorg/hibernate/tuple/NonIdentifierAttribute;
    MethodParameters:
                 Name  Flags
      mappingProperty  
      runtimeProperty  

  private boolean isInsertGenerated(org.hibernate.tuple.NonIdentifierAttribute);
    descriptor: (Lorg/hibernate/tuple/NonIdentifierAttribute;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.tuple.NonIdentifierAttribute property
         0: .line 764
            aload 1 /* property */
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            ifnull 3
         1: .line 765
            aload 1 /* property */
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            invokeinterface org.hibernate.tuple.ValueGeneration.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
            getstatic org.hibernate.tuple.GenerationTiming.NEVER:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpeq 3
         2: .line 764
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.hibernate.tuple.NonIdentifierAttribute property
        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  property  Lorg/hibernate/tuple/NonIdentifierAttribute;
    MethodParameters:
          Name  Flags
      property  

  private boolean isInsertGenerated(org.hibernate.mapping.Property);
    descriptor: (Lorg/hibernate/mapping/Property;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.mapping.Property property
         0: .line 769
            aload 1 /* property */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            ifnull 3
         1: .line 770
            aload 1 /* property */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            invokeinterface org.hibernate.tuple.ValueGeneration.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
            getstatic org.hibernate.tuple.GenerationTiming.NEVER:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpeq 3
         2: .line 769
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.hibernate.mapping.Property property
        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  property  Lorg/hibernate/mapping/Property;
    MethodParameters:
          Name  Flags
      property  

  public void <init>(org.hibernate.metamodel.binding.EntityBinding, org.hibernate.persister.entity.AbstractEntityPersister, org.hibernate.engine.spi.SessionFactoryImplementor);
    descriptor: (Lorg/hibernate/metamodel/binding/EntityBinding;Lorg/hibernate/persister/entity/AbstractEntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=20, args_size=4
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.metamodel.binding.EntityBinding entityBinding
        start local 2 // org.hibernate.persister.entity.AbstractEntityPersister persister
        start local 3 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
         0: .line 773
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 121
            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 145
            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 146
            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 777
            aload 0 /* this */
            aload 3 /* sessionFactory */
            putfield org.hibernate.tuple.entity.EntityMetamodel.sessionFactory:Lorg/hibernate/engine/spi/SessionFactoryImplementor;
         5: .line 778
            aload 0 /* this */
            aload 2 /* persister */
            putfield org.hibernate.tuple.entity.EntityMetamodel.persister:Lorg/hibernate/persister/entity/AbstractEntityPersister;
         6: .line 780
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
            putfield org.hibernate.tuple.entity.EntityMetamodel.name:Ljava/lang/String;
         7: .line 782
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getRootEntityBinding:()Lorg/hibernate/metamodel/binding/EntityBinding;
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
            putfield org.hibernate.tuple.entity.EntityMetamodel.rootName:Ljava/lang/String;
         8: .line 783
            aload 0 /* this */
            aload 3 /* sessionFactory */
            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;
         9: .line 785
            aload 0 /* this */
        10: .line 786
            aload 1 /* entityBinding */
        11: .line 787
            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;
        12: .line 785
            invokestatic org.hibernate.tuple.PropertyFactory.buildIdentifierProperty:(Lorg/hibernate/metamodel/binding/EntityBinding;Lorg/hibernate/id/IdentifierGenerator;)Lorg/hibernate/tuple/IdentifierProperty;
            putfield org.hibernate.tuple.entity.EntityMetamodel.identifierAttribute:Lorg/hibernate/tuple/IdentifierProperty;
        13: .line 790
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isVersioned:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.versioned:Z
        14: .line 792
            iconst_0
            istore 4 /* hasPojoRepresentation */
        start local 4 // boolean hasPojoRepresentation
        15: .line 793
            aconst_null
            astore 5 /* mappedClass */
        start local 5 // java.lang.Class mappedClass
        16: .line 794
            aconst_null
            astore 6 /* proxyInterfaceClass */
        start local 6 // java.lang.Class proxyInterfaceClass
        17: .line 795
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getClassReferenceUnresolved:()Lorg/hibernate/internal/util/ValueHolder;
            ifnull 21
        18: .line 796
            iconst_1
            istore 4 /* hasPojoRepresentation */
        19: .line 797
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getClassReference:()Ljava/lang/Class;
            astore 5 /* mappedClass */
        20: .line 798
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getProxyInterfaceType:()Lorg/hibernate/internal/util/ValueHolder;
            invokevirtual org.hibernate.internal.util.ValueHolder.getValue:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 6 /* proxyInterfaceClass */
        21: .line 800
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class
      StackMap stack:
            aload 0 /* this */
            invokestatic org.hibernate.cfg.Environment.getBytecodeProvider:()Lorg/hibernate/bytecode/spi/BytecodeProvider;
            aload 5 /* mappedClass */
            invokeinterface org.hibernate.bytecode.spi.BytecodeProvider.getEntityInstrumentationMetadata:(Ljava/lang/Class;)Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
            putfield org.hibernate.tuple.entity.EntityMetamodel.instrumentationMetadata:Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
        22: .line 802
            iconst_0
            istore 7 /* hasLazy */
        start local 7 // boolean hasLazy
        23: .line 805
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getEntityIdentifier:()Lorg/hibernate/metamodel/binding/EntityIdentifier;
            invokevirtual org.hibernate.metamodel.binding.EntityIdentifier.getValueBinding:()Lorg/hibernate/metamodel/binding/BasicAttributeBinding;
            astore 8 /* rootEntityIdentifier */
        start local 8 // org.hibernate.metamodel.binding.BasicAttributeBinding rootEntityIdentifier
        24: .line 808
            aload 0 /* this */
            aload 8 /* rootEntityIdentifier */
            ifnonnull 26
        25: .line 809
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getAttributeBindingClosureSpan:()I
            goto 27
        26: .line 810
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getAttributeBindingClosureSpan:()I
            iconst_1
            isub
        27: .line 808
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel int
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
        28: .line 812
            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;
        29: .line 813
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* naturalIdNumbers */
        start local 9 // java.util.List naturalIdNumbers
        30: .line 815
            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;
        31: .line 816
            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;
        32: .line 817
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyUpdateability:[Z
        33: .line 818
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyInsertability:[Z
        34: .line 819
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.nonlazyPropertyUpdateability:[Z
        35: .line 820
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyCheckability:[Z
        36: .line 821
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyNullability:[Z
        37: .line 822
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyVersionability:[Z
        38: .line 823
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertySpan:I
            newarray 4
            putfield org.hibernate.tuple.entity.EntityMetamodel.propertyLaziness:[Z
        39: .line 824
            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;
        40: .line 829
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasPreInsertGeneratedValues:Z
        41: .line 830
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasPreUpdateGeneratedValues:Z
        42: .line 831
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasInsertGeneratedValues:Z
        43: .line 832
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasUpdateGeneratedValues:Z
        44: .line 833
            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;
        45: .line 834
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inMemoryValueGenerationStrategies:[Lorg/hibernate/tuple/InMemoryValueGenerationStrategy;
            getstatic org.hibernate.tuple.entity.EntityMetamodel$NoInMemoryValueGenerationStrategy.INSTANCE:Lorg/hibernate/tuple/entity/EntityMetamodel$NoInMemoryValueGenerationStrategy;
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
        46: .line 835
            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;
        47: .line 836
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inDatabaseValueGenerationStrategies:[Lorg/hibernate/tuple/InDatabaseValueGenerationStrategy;
            getstatic org.hibernate.tuple.entity.EntityMetamodel$NoInDatabaseValueGenerationStrategy.INSTANCE:Lorg/hibernate/tuple/entity/EntityMetamodel$NoInDatabaseValueGenerationStrategy;
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
        48: .line 839
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        49: .line 840
            bipush -66
            istore 11 /* tempVersionProperty */
        start local 11 // int tempVersionProperty
        50: .line 841
            iconst_0
            istore 12 /* foundCascade */
        start local 12 // boolean foundCascade
        51: .line 842
            iconst_0
            istore 13 /* foundCollection */
        start local 13 // boolean foundCollection
        52: .line 843
            iconst_0
            istore 14 /* foundMutable */
        start local 14 // boolean foundMutable
        53: .line 844
            iconst_0
            istore 15 /* foundNonIdentifierPropertyNamedId */
        start local 15 // boolean foundNonIdentifierPropertyNamedId
        54: .line 847
            iconst_0
            istore 16 /* foundUpdateableNaturalIdProperty */
        start local 16 // boolean foundUpdateableNaturalIdProperty
        55: .line 849
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getAttributeBindingClosure:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 18
            goto 100
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int top java.util.Iterator
      StackMap stack:
        56: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.AttributeBinding
            astore 17 /* attributeBinding */
        start local 17 // org.hibernate.metamodel.binding.AttributeBinding attributeBinding
        57: .line 850
            aload 17 /* attributeBinding */
            aload 8 /* rootEntityIdentifier */
            if_acmpne 59
        58: .line 852
            goto 100
        59: .line 855
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int org.hibernate.metamodel.binding.AttributeBinding java.util.Iterator
      StackMap stack:
            aload 17 /* attributeBinding */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getVersioningAttributeBinding:()Lorg/hibernate/metamodel/binding/BasicAttributeBinding;
            if_acmpne 67
        60: .line 856
            iload 10 /* i */
            istore 11 /* tempVersionProperty */
        61: .line 857
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* i */
        62: .line 858
            aload 2 /* persister */
        63: .line 859
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getVersioningAttributeBinding:()Lorg/hibernate/metamodel/binding/BasicAttributeBinding;
        64: .line 860
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.instrumentationMetadata:Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
            invokeinterface org.hibernate.bytecode.spi.EntityInstrumentationMetadata.isInstrumented:()Z
        65: .line 857
            invokestatic org.hibernate.tuple.PropertyFactory.buildVersionProperty:(Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/metamodel/binding/BasicAttributeBinding;Z)Lorg/hibernate/tuple/entity/VersionProperty;
            aastore
        66: .line 862
            goto 68
        67: .line 864
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* i */
            aload 17 /* attributeBinding */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.instrumentationMetadata:Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
            invokeinterface org.hibernate.bytecode.spi.EntityInstrumentationMetadata.isInstrumented:()Z
            invokestatic org.hibernate.tuple.PropertyFactory.buildStandardProperty:(Lorg/hibernate/metamodel/binding/AttributeBinding;Z)Lorg/hibernate/tuple/StandardProperty;
            aastore
        68: .line 875
      StackMap locals:
      StackMap stack:
            ldc "id"
            aload 17 /* attributeBinding */
            invokeinterface org.hibernate.metamodel.binding.AttributeBinding.getAttribute:()Lorg/hibernate/metamodel/domain/Attribute;
            invokeinterface org.hibernate.metamodel.domain.Attribute.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 70
        69: .line 876
            iconst_1
            istore 15 /* foundNonIdentifierPropertyNamedId */
        70: .line 880
      StackMap locals:
      StackMap stack:
            aload 17 /* attributeBinding */
            invokeinterface org.hibernate.metamodel.binding.AttributeBinding.isLazy:()Z
            ifeq 71
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.instrumentationMetadata:Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
            invokeinterface org.hibernate.bytecode.spi.EntityInstrumentationMetadata.isInstrumented:()Z
            ifeq 71
            iconst_1
            goto 72
      StackMap locals:
      StackMap stack:
        71: iconst_0
      StackMap locals:
      StackMap stack: int
        72: istore 19 /* lazy */
        start local 19 // boolean lazy
        73: .line 881
            iload 19 /* lazy */
            ifeq 74
            iconst_1
            istore 7 /* hasLazy */
        74: .line 882
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyLaziness:[Z
            iload 10 /* i */
            iload 19 /* lazy */
            bastore
        75: .line 884
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyNames:[Ljava/lang/String;
            iload 10 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getName:()Ljava/lang/String;
            aastore
        76: .line 885
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyTypes:[Lorg/hibernate/type/Type;
            iload 10 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getType:()Lorg/hibernate/type/Type;
            aastore
        77: .line 886
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyNullability:[Z
            iload 10 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isNullable:()Z
            bastore
        78: .line 887
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyUpdateability:[Z
            iload 10 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isUpdateable:()Z
            bastore
        79: .line 888
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyInsertability:[Z
            iload 10 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isInsertable:()Z
            bastore
        80: .line 889
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyVersionability:[Z
            iload 10 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isVersionable:()Z
            bastore
        81: .line 890
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.nonlazyPropertyUpdateability:[Z
            iload 10 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* 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.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int org.hibernate.metamodel.binding.AttributeBinding java.util.Iterator int
      StackMap stack: boolean[] int
        82: iconst_0
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int org.hibernate.metamodel.binding.AttributeBinding java.util.Iterator int
      StackMap stack: boolean[] int int
        83: bastore
        84: .line 891
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyCheckability:[Z
            iload 10 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyUpdateability:[Z
            iload 10 /* i */
            baload
            ifne 87
        85: .line 892
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyTypes:[Lorg/hibernate/type/Type;
            iload 10 /* 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 10 /* i */
            aaload
            checkcast org.hibernate.type.AssociationType
            invokeinterface org.hibernate.type.AssociationType.isAlwaysDirtyChecked:()Z
            ifne 87
        86: .line 891
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int org.hibernate.metamodel.binding.AttributeBinding java.util.Iterator int
      StackMap stack: boolean[] int
            iconst_0
            goto 88
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int org.hibernate.metamodel.binding.AttributeBinding java.util.Iterator int
      StackMap stack: boolean[] int
        87: iconst_1
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int org.hibernate.metamodel.binding.AttributeBinding java.util.Iterator int
      StackMap stack: boolean[] int int
        88: bastore
        89: .line 894
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.cascadeStyles:[Lorg/hibernate/engine/spi/CascadeStyle;
            iload 10 /* i */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getCascadeStyle:()Lorg/hibernate/engine/spi/CascadeStyle;
            aastore
        90: .line 897
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* i */
            aaload
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.isLazy:()Z
            ifeq 92
        91: .line 898
            iconst_1
            istore 7 /* hasLazy */
        92: .line 901
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* 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 94
        93: .line 902
            iconst_1
            istore 12 /* foundCascade */
        94: .line 905
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.properties:[Lorg/hibernate/tuple/NonIdentifierAttribute;
            iload 10 /* 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 96
        95: .line 906
            iconst_1
            istore 13 /* foundCollection */
        96: .line 909
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyTypes:[Lorg/hibernate/type/Type;
            iload 10 /* i */
            aaload
            invokeinterface org.hibernate.type.Type.isMutable:()Z
            ifeq 98
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyCheckability:[Z
            iload 10 /* i */
            baload
            ifeq 98
        97: .line 910
            iconst_1
            istore 14 /* foundMutable */
        98: .line 913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 17 /* attributeBinding */
            invokeinterface org.hibernate.metamodel.binding.AttributeBinding.getAttribute:()Lorg/hibernate/metamodel/domain/Attribute;
            iload 10 /* i */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.mapPropertyToIndex:(Lorg/hibernate/metamodel/domain/Attribute;I)V
        99: .line 914
            iinc 10 /* i */ 1
        end local 19 // boolean lazy
        end local 17 // org.hibernate.metamodel.binding.AttributeBinding attributeBinding
       100: .line 849
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int top java.util.Iterator
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 56
       101: .line 917
            aload 9 /* naturalIdNumbers */
            invokeinterface java.util.List.size:()I
            ifne 106
       102: .line 918
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.tuple.entity.EntityMetamodel.naturalIdPropertyNumbers:[I
       103: .line 919
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasImmutableNaturalId:Z
       104: .line 920
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasCacheableNaturalId:Z
       105: .line 921
            goto 111
       106: .line 923
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int
      StackMap stack:
            aload 0 /* this */
            aload 9 /* naturalIdNumbers */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.toIntArray:(Ljava/util/Collection;)[I
            putfield org.hibernate.tuple.entity.EntityMetamodel.naturalIdPropertyNumbers:[I
       107: .line 924
            aload 0 /* this */
            iload 16 /* foundUpdateableNaturalIdProperty */
            ifeq 108
            iconst_0
            goto 109
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       108: iconst_1
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel int
       109: putfield org.hibernate.tuple.entity.EntityMetamodel.hasImmutableNaturalId:Z
       110: .line 925
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasCacheableNaturalId:Z
       111: .line 928
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 12 /* foundCascade */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasCascades:Z
       112: .line 929
            aload 0 /* this */
            iload 15 /* foundNonIdentifierPropertyNamedId */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasNonIdentifierPropertyNamedId:Z
       113: .line 930
            aload 0 /* this */
            iload 11 /* tempVersionProperty */
            putfield org.hibernate.tuple.entity.EntityMetamodel.versionPropertyIndex:I
       114: .line 931
            aload 0 /* this */
            iload 7 /* hasLazy */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasLazyProperties:Z
       115: .line 932
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.hasLazyProperties:Z
            ifeq 117
       116: .line 933
            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
       117: .line 936
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isLazy:()Z
            ifeq 121
       118: .line 938
            iload 4 /* hasPojoRepresentation */
            ifeq 120
       119: .line 939
            aload 6 /* proxyInterfaceClass */
            invokestatic org.hibernate.internal.util.ReflectHelper.isFinalClass:(Ljava/lang/Class;)Z
            ifne 121
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       120: iconst_1
            goto 122
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       121: iconst_0
       122: .line 936
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel int
            putfield org.hibernate.tuple.entity.EntityMetamodel.lazy:Z
       123: .line 941
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isMutable:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.mutable:Z
       124: .line 942
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isAbstract:()Ljava/lang/Boolean;
            ifnonnull 130
       125: .line 944
            aload 0 /* this */
            iload 4 /* hasPojoRepresentation */
            ifeq 127
       126: .line 945
            aload 5 /* mappedClass */
            invokestatic org.hibernate.internal.util.ReflectHelper.isAbstractClass:(Ljava/lang/Class;)Z
            ifeq 127
            iconst_1
            goto 128
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       127: iconst_0
       128: .line 944
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel int
            putfield org.hibernate.tuple.entity.EntityMetamodel.isAbstract:Z
       129: .line 946
            goto 134
       130: .line 948
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isAbstract:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.isAbstract:Z
       131: .line 949
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.isAbstract:Z
            ifne 134
            iload 4 /* hasPojoRepresentation */
            ifeq 134
       132: .line 950
            aload 5 /* mappedClass */
            invokestatic org.hibernate.internal.util.ReflectHelper.isAbstractClass:(Ljava/lang/Class;)Z
            ifeq 134
       133: .line 951
            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
       134: .line 954
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isSelectBeforeUpdate:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.selectBeforeUpdate:Z
       135: .line 955
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isDynamicUpdate:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.dynamicUpdate:Z
       136: .line 956
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isDynamicInsert:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.dynamicInsert:Z
       137: .line 958
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.hasSubEntityBindings:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasSubclasses:Z
       138: .line 959
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isPolymorphic:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.polymorphic:Z
       139: .line 961
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.isExplicitPolymorphism:()Z
            putfield org.hibernate.tuple.entity.EntityMetamodel.explicitPolymorphism:Z
       140: .line 962
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.isRoot:()Z
            ifeq 141
            iconst_0
            goto 142
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       141: iconst_1
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel int
       142: putfield org.hibernate.tuple.entity.EntityMetamodel.inherited:Z
       143: .line 963
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.inherited:Z
            ifeq 145
       144: .line 964
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getSuperType:()Lorg/hibernate/metamodel/domain/Hierarchical;
            invokeinterface org.hibernate.metamodel.domain.Hierarchical.getName:()Ljava/lang/String;
            goto 146
       145: .line 965
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
            aconst_null
       146: .line 963
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List 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;
       147: .line 967
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getHierarchyDetails:()Lorg/hibernate/metamodel/binding/HierarchyDetails;
            invokevirtual org.hibernate.metamodel.binding.HierarchyDetails.getOptimisticLockStyle:()Lorg/hibernate/engine/OptimisticLockStyle;
            putfield org.hibernate.tuple.entity.EntityMetamodel.optimisticLockStyle:Lorg/hibernate/engine/OptimisticLockStyle;
       148: .line 969
            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 151
       149: .line 970
            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 151
       150: .line 968
            iconst_0
            goto 152
      StackMap locals:
      StackMap stack:
       151: iconst_1
      StackMap locals:
      StackMap stack: int
       152: istore 17 /* isAllOrDirty */
        start local 17 // boolean isAllOrDirty
       153: .line 971
            iload 17 /* isAllOrDirty */
            ifeq 155
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.dynamicUpdate:Z
            ifne 155
       154: .line 972
            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
       155: .line 974
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.versionPropertyIndex:I
            bipush -66
            if_icmpeq 157
            iload 17 /* isAllOrDirty */
            ifeq 157
       156: .line 975
            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
       157: .line 978
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 13 /* foundCollection */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasCollections:Z
       158: .line 979
            aload 0 /* this */
            iload 14 /* foundMutable */
            putfield org.hibernate.tuple.entity.EntityMetamodel.hasMutableProperties:Z
       159: .line 981
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getPostOrderSubEntityBindingClosure:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 19
            goto 167
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int int top java.util.Iterator
      StackMap stack:
       160: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.binding.EntityBinding
            astore 18 /* subEntityBinding */
        start local 18 // org.hibernate.metamodel.binding.EntityBinding subEntityBinding
       161: .line 982
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.subclassEntityNames:Ljava/util/Set;
            aload 18 /* subEntityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       162: .line 983
            aload 18 /* subEntityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getClassReference:()Ljava/lang/Class;
            ifnull 167
       163: .line 984
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityNameByInheritenceClassMap:Ljava/util/Map;
       164: .line 985
            aload 18 /* subEntityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getClassReference:()Ljava/lang/Class;
       165: .line 986
            aload 18 /* subEntityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getEntity:()Lorg/hibernate/metamodel/domain/Entity;
            invokevirtual org.hibernate.metamodel.domain.Entity.getName:()Ljava/lang/String;
       166: .line 984
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 18 // org.hibernate.metamodel.binding.EntityBinding subEntityBinding
       167: .line 981
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 160
       168: .line 989
            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
       169: .line 990
            aload 5 /* mappedClass */
            ifnull 171
       170: .line 991
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityNameByInheritenceClassMap:Ljava/util/Map;
            aload 5 /* mappedClass */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.name:Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       171: .line 994
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* hasPojoRepresentation */
            ifeq 172
            getstatic org.hibernate.EntityMode.POJO:Lorg/hibernate/EntityMode;
            goto 173
      StackMap locals:
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel
       172: getstatic org.hibernate.EntityMode.MAP:Lorg/hibernate/EntityMode;
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.binding.EntityBinding org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.Class java.lang.Class int org.hibernate.metamodel.binding.BasicAttributeBinding java.util.List int int int int int int int int
      StackMap stack: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.EntityMode
       173: putfield org.hibernate.tuple.entity.EntityMetamodel.entityMode:Lorg/hibernate/EntityMode;
       174: .line 995
            aload 3 /* sessionFactory */
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSettings:()Lorg/hibernate/cfg/Settings;
            invokevirtual org.hibernate.cfg.Settings.getEntityTuplizerFactory:()Lorg/hibernate/tuple/entity/EntityTuplizerFactory;
            astore 18 /* entityTuplizerFactory */
        start local 18 // org.hibernate.tuple.entity.EntityTuplizerFactory entityTuplizerFactory
       175: .line 996
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.metamodel.binding.EntityBinding.getCustomEntityTuplizerClass:()Ljava/lang/Class;
            astore 19 /* tuplizerClass */
        start local 19 // java.lang.Class tuplizerClass
       176: .line 998
            aload 19 /* tuplizerClass */
            ifnonnull 179
       177: .line 999
            aload 0 /* this */
            aload 18 /* entityTuplizerFactory */
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.entityMode:Lorg/hibernate/EntityMode;
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer:(Lorg/hibernate/EntityMode;Lorg/hibernate/tuple/entity/EntityMetamodel;Lorg/hibernate/metamodel/binding/EntityBinding;)Lorg/hibernate/tuple/entity/EntityTuplizer;
            putfield org.hibernate.tuple.entity.EntityMetamodel.entityTuplizer:Lorg/hibernate/tuple/entity/EntityTuplizer;
       178: .line 1000
            goto 180
       179: .line 1002
      StackMap locals: org.hibernate.tuple.entity.EntityTuplizerFactory java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 18 /* entityTuplizerFactory */
            aload 19 /* tuplizerClass */
            aload 0 /* this */
            aload 1 /* entityBinding */
            invokevirtual org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer:(Ljava/lang/Class;Lorg/hibernate/tuple/entity/EntityMetamodel;Lorg/hibernate/metamodel/binding/EntityBinding;)Lorg/hibernate/tuple/entity/EntityTuplizer;
            putfield org.hibernate.tuple.entity.EntityMetamodel.entityTuplizer:Lorg/hibernate/tuple/entity/EntityTuplizer;
       180: .line 1004
      StackMap locals:
      StackMap stack:
            return
        end local 19 // java.lang.Class tuplizerClass
        end local 18 // org.hibernate.tuple.entity.EntityTuplizerFactory entityTuplizerFactory
        end local 17 // boolean isAllOrDirty
        end local 16 // boolean foundUpdateableNaturalIdProperty
        end local 15 // boolean foundNonIdentifierPropertyNamedId
        end local 14 // boolean foundMutable
        end local 13 // boolean foundCollection
        end local 12 // boolean foundCascade
        end local 11 // int tempVersionProperty
        end local 10 // int i
        end local 9 // java.util.List naturalIdNumbers
        end local 8 // org.hibernate.metamodel.binding.BasicAttributeBinding rootEntityIdentifier
        end local 7 // boolean hasLazy
        end local 6 // java.lang.Class proxyInterfaceClass
        end local 5 // java.lang.Class mappedClass
        end local 4 // boolean hasPojoRepresentation
        end local 3 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        end local 2 // org.hibernate.persister.entity.AbstractEntityPersister persister
        end local 1 // org.hibernate.metamodel.binding.EntityBinding entityBinding
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot                               Name  Signature
            0  181     0                               this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0  181     1                      entityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
            0  181     2                          persister  Lorg/hibernate/persister/entity/AbstractEntityPersister;
            0  181     3                     sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
           15  181     4              hasPojoRepresentation  Z
           16  181     5                        mappedClass  Ljava/lang/Class<*>;
           17  181     6                proxyInterfaceClass  Ljava/lang/Class<*>;
           23  181     7                            hasLazy  Z
           24  181     8               rootEntityIdentifier  Lorg/hibernate/metamodel/binding/BasicAttributeBinding;
           30  181     9                   naturalIdNumbers  Ljava/util/List;
           49  181    10                                  i  I
           50  181    11                tempVersionProperty  I
           51  181    12                       foundCascade  Z
           52  181    13                    foundCollection  Z
           53  181    14                       foundMutable  Z
           54  181    15  foundNonIdentifierPropertyNamedId  Z
           55  181    16   foundUpdateableNaturalIdProperty  Z
           57  100    17                   attributeBinding  Lorg/hibernate/metamodel/binding/AttributeBinding;
           73  100    19                               lazy  Z
          153  181    17                       isAllOrDirty  Z
          161  167    18                   subEntityBinding  Lorg/hibernate/metamodel/binding/EntityBinding;
          175  181    18              entityTuplizerFactory  Lorg/hibernate/tuple/entity/EntityTuplizerFactory;
          176  181    19                      tuplizerClass  Ljava/lang/Class<+Lorg/hibernate/tuple/entity/EntityTuplizer;>;
    MethodParameters:
                Name  Flags
      entityBinding   
      persister       
      sessionFactory  

  private org.hibernate.engine.spi.ValueInclusion determineInsertValueGenerationType(org.hibernate.metamodel.binding.AttributeBinding, org.hibernate.tuple.NonIdentifierAttribute);
    descriptor: (Lorg/hibernate/metamodel/binding/AttributeBinding;Lorg/hibernate/tuple/NonIdentifierAttribute;)Lorg/hibernate/engine/spi/ValueInclusion;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.metamodel.binding.AttributeBinding mappingProperty
        start local 2 // org.hibernate.tuple.NonIdentifierAttribute runtimeProperty
         0: .line 1007
            aload 0 /* this */
            aload 2 /* runtimeProperty */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.isInsertGenerated:(Lorg/hibernate/tuple/NonIdentifierAttribute;)Z
            ifeq 2
         1: .line 1008
            getstatic org.hibernate.engine.spi.ValueInclusion.FULL:Lorg/hibernate/engine/spi/ValueInclusion;
            areturn
         2: .line 1016
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.engine.spi.ValueInclusion.NONE:Lorg/hibernate/engine/spi/ValueInclusion;
            areturn
        end local 2 // org.hibernate.tuple.NonIdentifierAttribute runtimeProperty
        end local 1 // org.hibernate.metamodel.binding.AttributeBinding mappingProperty
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0    3     1  mappingProperty  Lorg/hibernate/metamodel/binding/AttributeBinding;
            0    3     2  runtimeProperty  Lorg/hibernate/tuple/NonIdentifierAttribute;
    MethodParameters:
                 Name  Flags
      mappingProperty  
      runtimeProperty  

  private boolean hasPartialInsertComponentGeneration(org.hibernate.mapping.Component);
    descriptor: (Lorg/hibernate/mapping/Component;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.mapping.Component component
         0: .line 1020
            aload 1 /* component */
            invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
            astore 2 /* subProperties */
        start local 2 // java.util.Iterator subProperties
         1: .line 1021
            goto 8
         2: .line 1022
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* subProperties */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 3 /* prop */
        start local 3 // org.hibernate.mapping.Property prop
         3: .line 1023
            aload 0 /* this */
            aload 3 /* prop */
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.isInsertGenerated:(Lorg/hibernate/mapping/Property;)Z
            ifeq 5
         4: .line 1024
            iconst_1
            ireturn
         5: .line 1026
      StackMap locals: org.hibernate.mapping.Property
      StackMap stack:
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.Component
            ifeq 8
         6: .line 1027
            aload 0 /* this */
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.hasPartialInsertComponentGeneration:(Lorg/hibernate/mapping/Component;)Z
            ifeq 8
         7: .line 1028
            iconst_1
            ireturn
        end local 3 // org.hibernate.mapping.Property prop
         8: .line 1021
      StackMap locals:
      StackMap stack:
            aload 2 /* subProperties */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 1032
            iconst_0
            ireturn
        end local 2 // java.util.Iterator subProperties
        end local 1 // org.hibernate.mapping.Component component
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0   10     1      component  Lorg/hibernate/mapping/Component;
            1   10     2  subProperties  Ljava/util/Iterator;
            3    8     3           prop  Lorg/hibernate/mapping/Property;
    MethodParameters:
           Name  Flags
      component  

  private org.hibernate.engine.spi.ValueInclusion determineUpdateValueGenerationType(org.hibernate.mapping.Property, org.hibernate.tuple.NonIdentifierAttribute);
    descriptor: (Lorg/hibernate/mapping/Property;Lorg/hibernate/tuple/NonIdentifierAttribute;)Lorg/hibernate/engine/spi/ValueInclusion;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.mapping.Property mappingProperty
        start local 2 // org.hibernate.tuple.NonIdentifierAttribute runtimeProperty
         0: .line 1036
            aload 2 /* runtimeProperty */
            invokestatic org.hibernate.tuple.entity.EntityMetamodel.isUpdateGenerated:(Lorg/hibernate/tuple/NonIdentifierAttribute;)Z
            ifeq 2
         1: .line 1037
            getstatic org.hibernate.engine.spi.ValueInclusion.FULL:Lorg/hibernate/engine/spi/ValueInclusion;
            areturn
         2: .line 1039
      StackMap locals:
      StackMap stack:
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.Component
            ifeq 5
         3: .line 1040
            aload 0 /* this */
            aload 1 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.hasPartialUpdateComponentGeneration:(Lorg/hibernate/mapping/Component;)Z
            ifeq 5
         4: .line 1041
            getstatic org.hibernate.engine.spi.ValueInclusion.PARTIAL:Lorg/hibernate/engine/spi/ValueInclusion;
            areturn
         5: .line 1044
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.engine.spi.ValueInclusion.NONE:Lorg/hibernate/engine/spi/ValueInclusion;
            areturn
        end local 2 // org.hibernate.tuple.NonIdentifierAttribute runtimeProperty
        end local 1 // org.hibernate.mapping.Property mappingProperty
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0    6     1  mappingProperty  Lorg/hibernate/mapping/Property;
            0    6     2  runtimeProperty  Lorg/hibernate/tuple/NonIdentifierAttribute;
    MethodParameters:
                 Name  Flags
      mappingProperty  
      runtimeProperty  

  private static boolean isUpdateGenerated(org.hibernate.mapping.Property);
    descriptor: (Lorg/hibernate/mapping/Property;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property property
         0: .line 1048
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            ifnull 3
         1: .line 1049
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            invokeinterface org.hibernate.tuple.ValueGeneration.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
            getstatic org.hibernate.tuple.GenerationTiming.ALWAYS:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpne 3
         2: .line 1048
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // org.hibernate.mapping.Property property
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  property  Lorg/hibernate/mapping/Property;
    MethodParameters:
          Name  Flags
      property  

  private static boolean isUpdateGenerated(org.hibernate.tuple.NonIdentifierAttribute);
    descriptor: (Lorg/hibernate/tuple/NonIdentifierAttribute;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.NonIdentifierAttribute property
         0: .line 1053
            aload 0 /* property */
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            ifnull 3
         1: .line 1054
            aload 0 /* property */
            invokeinterface org.hibernate.tuple.NonIdentifierAttribute.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            invokeinterface org.hibernate.tuple.ValueGeneration.getGenerationTiming:()Lorg/hibernate/tuple/GenerationTiming;
            getstatic org.hibernate.tuple.GenerationTiming.ALWAYS:Lorg/hibernate/tuple/GenerationTiming;
            if_acmpne 3
         2: .line 1053
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // org.hibernate.tuple.NonIdentifierAttribute property
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  property  Lorg/hibernate/tuple/NonIdentifierAttribute;
    MethodParameters:
          Name  Flags
      property  

  private org.hibernate.engine.spi.ValueInclusion determineUpdateValueGenerationType(org.hibernate.metamodel.binding.AttributeBinding, org.hibernate.tuple.NonIdentifierAttribute);
    descriptor: (Lorg/hibernate/metamodel/binding/AttributeBinding;Lorg/hibernate/tuple/NonIdentifierAttribute;)Lorg/hibernate/engine/spi/ValueInclusion;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.metamodel.binding.AttributeBinding mappingProperty
        start local 2 // org.hibernate.tuple.NonIdentifierAttribute runtimeProperty
         0: .line 1058
            aload 2 /* runtimeProperty */
            invokestatic org.hibernate.tuple.entity.EntityMetamodel.isUpdateGenerated:(Lorg/hibernate/tuple/NonIdentifierAttribute;)Z
            ifeq 2
         1: .line 1059
            getstatic org.hibernate.engine.spi.ValueInclusion.FULL:Lorg/hibernate/engine/spi/ValueInclusion;
            areturn
         2: .line 1067
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.engine.spi.ValueInclusion.NONE:Lorg/hibernate/engine/spi/ValueInclusion;
            areturn
        end local 2 // org.hibernate.tuple.NonIdentifierAttribute runtimeProperty
        end local 1 // org.hibernate.metamodel.binding.AttributeBinding mappingProperty
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0    3     1  mappingProperty  Lorg/hibernate/metamodel/binding/AttributeBinding;
            0    3     2  runtimeProperty  Lorg/hibernate/tuple/NonIdentifierAttribute;
    MethodParameters:
                 Name  Flags
      mappingProperty  
      runtimeProperty  

  private boolean hasPartialUpdateComponentGeneration(org.hibernate.mapping.Component);
    descriptor: (Lorg/hibernate/mapping/Component;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.mapping.Component component
         0: .line 1071
            aload 1 /* component */
            invokevirtual org.hibernate.mapping.Component.getPropertyIterator:()Ljava/util/Iterator;
            astore 2 /* subProperties */
        start local 2 // java.util.Iterator subProperties
         1: .line 1072
            goto 8
         2: .line 1073
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* subProperties */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.mapping.Property
            astore 3 /* prop */
        start local 3 // org.hibernate.mapping.Property prop
         3: .line 1074
            aload 3 /* prop */
            invokestatic org.hibernate.tuple.entity.EntityMetamodel.isUpdateGenerated:(Lorg/hibernate/mapping/Property;)Z
            ifeq 5
         4: .line 1075
            iconst_1
            ireturn
         5: .line 1077
      StackMap locals: org.hibernate.mapping.Property
      StackMap stack:
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.Component
            ifeq 8
         6: .line 1078
            aload 0 /* this */
            aload 3 /* prop */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Component
            invokevirtual org.hibernate.tuple.entity.EntityMetamodel.hasPartialUpdateComponentGeneration:(Lorg/hibernate/mapping/Component;)Z
            ifeq 8
         7: .line 1079
            iconst_1
            ireturn
        end local 3 // org.hibernate.mapping.Property prop
         8: .line 1072
      StackMap locals:
      StackMap stack:
            aload 2 /* subProperties */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 1083
            iconst_0
            ireturn
        end local 2 // java.util.Iterator subProperties
        end local 1 // org.hibernate.mapping.Component component
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0   10     1      component  Lorg/hibernate/mapping/Component;
            1   10     2  subProperties  Ljava/util/Iterator;
            3    8     3           prop  Lorg/hibernate/mapping/Property;
    MethodParameters:
           Name  Flags
      component  

  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 1087
            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 1088
            aload 1 /* prop */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.Component
            ifeq 10
         2: .line 1089
            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 1090
            goto 9
         4: .line 1091
      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 1092
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyIndexes:Ljava/util/Map;
         6: .line 1093
            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 1094
            iload 2 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         8: .line 1092
            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 1090
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 3 // java.util.Iterator iter
        10: .line 1098
      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     

  private void mapPropertyToIndex(org.hibernate.metamodel.domain.Attribute, int);
    descriptor: (Lorg/hibernate/metamodel/domain/Attribute;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
        start local 1 // org.hibernate.metamodel.domain.Attribute attribute
        start local 2 // int i
         0: .line 1101
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyIndexes:Ljava/util/Map;
            aload 1 /* attribute */
            invokeinterface org.hibernate.metamodel.domain.Attribute.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 1102
            aload 1 /* attribute */
            invokeinterface org.hibernate.metamodel.domain.Attribute.isSingular:()Z
            ifeq 12
         2: .line 1103
            aload 1 /* attribute */
            checkcast org.hibernate.metamodel.domain.SingularAttribute
            invokeinterface org.hibernate.metamodel.domain.SingularAttribute.getSingularAttributeType:()Lorg/hibernate/metamodel/domain/Type;
            invokeinterface org.hibernate.metamodel.domain.Type.isComponent:()Z
            ifeq 12
         3: .line 1105
            aload 1 /* attribute */
            checkcast org.hibernate.metamodel.domain.SingularAttribute
            invokeinterface org.hibernate.metamodel.domain.SingularAttribute.getSingularAttributeType:()Lorg/hibernate/metamodel/domain/Type;
            checkcast org.hibernate.metamodel.domain.Component
         4: .line 1104
            astore 3 /* component */
        start local 3 // org.hibernate.metamodel.domain.Component component
         5: .line 1106
            aload 3 /* component */
            invokevirtual org.hibernate.metamodel.domain.Component.attributes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.domain.Attribute int org.hibernate.metamodel.domain.Component top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.hibernate.metamodel.domain.Attribute
            astore 4 /* subAttribute */
        start local 4 // org.hibernate.metamodel.domain.Attribute subAttribute
         7: .line 1107
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.propertyIndexes:Ljava/util/Map;
         8: .line 1108
            new java.lang.StringBuilder
            dup
            aload 1 /* attribute */
            invokeinterface org.hibernate.metamodel.domain.Attribute.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 /* subAttribute */
            invokeinterface org.hibernate.metamodel.domain.Attribute.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 1109
            iload 2 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        10: .line 1107
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.hibernate.metamodel.domain.Attribute subAttribute
        11: .line 1106
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 3 // org.hibernate.metamodel.domain.Component component
        12: .line 1113
      StackMap locals: org.hibernate.tuple.entity.EntityMetamodel org.hibernate.metamodel.domain.Attribute int
      StackMap stack:
            return
        end local 2 // int i
        end local 1 // org.hibernate.metamodel.domain.Attribute attribute
        end local 0 // org.hibernate.tuple.entity.EntityMetamodel this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/hibernate/tuple/entity/EntityMetamodel;
            0   13     1     attribute  Lorg/hibernate/metamodel/domain/Attribute;
            0   13     2             i  I
            5   12     3     component  Lorg/hibernate/metamodel/domain/Component;
            7   11     4  subAttribute  Lorg/hibernate/metamodel/domain/Attribute;
    MethodParameters:
           Name  Flags
      attribute  
      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 1116
            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 1127
            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 1128
            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 1132
            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 1133
            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 1137
            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 1141
            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 1145
            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 1149
            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 1153
            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 1157
            aload 1 /* type */
            invokeinterface org.hibernate.type.Type.isCollectionType:()Z
            ifeq 2
         1: .line 1158
            iconst_1
            ireturn
         2: .line 1160
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 10
         3: .line 1161
            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 1162
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 1163
      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 1164
            iconst_1
            ireturn
         8: .line 1162
      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 1168
      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 1172
            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 1176
            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 1180
            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=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 1184
            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    1     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 1188
            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 1192
            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 1196
            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 1200
            bipush -66
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.versionPropertyIndex:I
            if_icmpne 2
         1: .line 1201
            aconst_null
            areturn
         2: .line 1204
      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 1209
            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 1213
            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 1214
            aload 2 /* index */
            ifnonnull 3
         2: .line 1215
            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 1217
      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 1221
            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 1225
            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 1229
            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 1233
            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 1237
            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 1241
            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 1245
            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 1249
            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 1253
            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 1257
            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 1261
            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 1265
            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 1269
            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 1273
            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 1277
            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 1281
            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 1285
            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 1289
            aload 0 /* this */
            iload 1 /* lazy */
            putfield org.hibernate.tuple.entity.EntityMetamodel.lazy:Z
         1: .line 1290
            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 1293
            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 1297
            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 1307
            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 1312
            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 1317
            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 1321
            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 1325
            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 1329
            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 1333
            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 1337
            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 1341
            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 1345
            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 1349
            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 1353
            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 1357
            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 1361
            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 1365
            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 1369
            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 1373
            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 1377
            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 1381
            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 1388
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.instrumentationMetadata:Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
            invokeinterface org.hibernate.bytecode.spi.EntityInstrumentationMetadata.isInstrumented:()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.EntityInstrumentationMetadata getInstrumentationMetadata();
    descriptor: ()Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.entity.EntityMetamodel this
         0: .line 1392
            aload 0 /* this */
            getfield org.hibernate.tuple.entity.EntityMetamodel.instrumentationMetadata:Lorg/hibernate/bytecode/spi/EntityInstrumentationMetadata;
            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