public final class org.hibernate.tuple.PropertyFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.hibernate.tuple.PropertyFactory
  super_class: java.lang.Object
{
  private static volatile int[] $SWITCH_TABLE$org$hibernate$tuple$PropertyFactory$NonIdentifierAttributeNature;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.tuple.PropertyFactory this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 44
            return
        end local 0 // org.hibernate.tuple.PropertyFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/tuple/PropertyFactory;

  public static org.hibernate.tuple.IdentifierProperty buildIdentifierAttribute(org.hibernate.mapping.PersistentClass, org.hibernate.id.IdentifierGenerator);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/id/IdentifierGenerator;)Lorg/hibernate/tuple/IdentifierProperty;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.hibernate.mapping.PersistentClass mappedEntity
        start local 1 // org.hibernate.id.IdentifierGenerator generator
         0: .line 57
            aload 0 /* mappedEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getNullValue:()Ljava/lang/String;
            astore 2 /* mappedUnsavedValue */
        start local 2 // java.lang.String mappedUnsavedValue
         1: .line 58
            aload 0 /* mappedEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifier:()Lorg/hibernate/mapping/KeyValue;
            invokeinterface org.hibernate.mapping.KeyValue.getType:()Lorg/hibernate/type/Type;
            astore 3 /* type */
        start local 3 // org.hibernate.type.Type type
         2: .line 59
            aload 0 /* mappedEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.getIdentifierProperty:()Lorg/hibernate/mapping/Property;
            astore 4 /* property */
        start local 4 // org.hibernate.mapping.Property property
         3: .line 62
            aload 2 /* mappedUnsavedValue */
         4: .line 63
            aload 4 /* property */
            invokestatic org.hibernate.tuple.PropertyFactory.getGetter:(Lorg/hibernate/mapping/Property;)Lorg/hibernate/property/access/spi/Getter;
         5: .line 64
            aload 3 /* type */
         6: .line 65
            aload 0 /* mappedEntity */
            invokestatic org.hibernate.tuple.PropertyFactory.getConstructor:(Lorg/hibernate/mapping/PersistentClass;)Ljava/lang/reflect/Constructor;
         7: .line 61
            invokestatic org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedIdentifierValue:(Ljava/lang/String;Lorg/hibernate/property/access/spi/Getter;Lorg/hibernate/type/Type;Ljava/lang/reflect/Constructor;)Lorg/hibernate/engine/spi/IdentifierValue;
            astore 5 /* unsavedValue */
        start local 5 // org.hibernate.engine.spi.IdentifierValue unsavedValue
         8: .line 68
            aload 4 /* property */
            ifnonnull 16
         9: .line 70
            new org.hibernate.tuple.IdentifierProperty
            dup
        10: .line 71
            aload 3 /* type */
        11: .line 72
            aload 0 /* mappedEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.hasEmbeddedIdentifier:()Z
        12: .line 73
            aload 0 /* mappedEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.hasIdentifierMapper:()Z
        13: .line 74
            aload 5 /* unsavedValue */
        14: .line 75
            aload 1 /* generator */
        15: .line 70
            invokespecial org.hibernate.tuple.IdentifierProperty.<init>:(Lorg/hibernate/type/Type;ZZLorg/hibernate/engine/spi/IdentifierValue;Lorg/hibernate/id/IdentifierGenerator;)V
            areturn
        16: .line 79
      StackMap locals: org.hibernate.mapping.PersistentClass org.hibernate.id.IdentifierGenerator java.lang.String org.hibernate.type.Type org.hibernate.mapping.Property org.hibernate.engine.spi.IdentifierValue
      StackMap stack:
            new org.hibernate.tuple.IdentifierProperty
            dup
        17: .line 80
            aload 4 /* property */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
        18: .line 81
            aload 3 /* type */
        19: .line 82
            aload 0 /* mappedEntity */
            invokevirtual org.hibernate.mapping.PersistentClass.hasEmbeddedIdentifier:()Z
        20: .line 83
            aload 5 /* unsavedValue */
        21: .line 84
            aload 1 /* generator */
        22: .line 79
            invokespecial org.hibernate.tuple.IdentifierProperty.<init>:(Ljava/lang/String;Lorg/hibernate/type/Type;ZLorg/hibernate/engine/spi/IdentifierValue;Lorg/hibernate/id/IdentifierGenerator;)V
            areturn
        end local 5 // org.hibernate.engine.spi.IdentifierValue unsavedValue
        end local 4 // org.hibernate.mapping.Property property
        end local 3 // org.hibernate.type.Type type
        end local 2 // java.lang.String mappedUnsavedValue
        end local 1 // org.hibernate.id.IdentifierGenerator generator
        end local 0 // org.hibernate.mapping.PersistentClass mappedEntity
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0        mappedEntity  Lorg/hibernate/mapping/PersistentClass;
            0   23     1           generator  Lorg/hibernate/id/IdentifierGenerator;
            1   23     2  mappedUnsavedValue  Ljava/lang/String;
            2   23     3                type  Lorg/hibernate/type/Type;
            3   23     4            property  Lorg/hibernate/mapping/Property;
            8   23     5        unsavedValue  Lorg/hibernate/engine/spi/IdentifierValue;
    MethodParameters:
              Name  Flags
      mappedEntity  
      generator     

  public static org.hibernate.tuple.entity.VersionProperty buildVersionProperty(org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.SessionFactoryImplementor, int, org.hibernate.mapping.Property, boolean);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;ILorg/hibernate/mapping/Property;Z)Lorg/hibernate/tuple/entity/VersionProperty;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=8, args_size=5
        start local 0 // org.hibernate.persister.entity.EntityPersister persister
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        start local 2 // int attributeNumber
        start local 3 // org.hibernate.mapping.Property property
        start local 4 // boolean lazyAvailable
         0: .line 104
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.KeyValue
            invokeinterface org.hibernate.mapping.KeyValue.getNullValue:()Ljava/lang/String;
            astore 5 /* mappedUnsavedValue */
        start local 5 // java.lang.String mappedUnsavedValue
         1: .line 107
            aload 5 /* mappedUnsavedValue */
         2: .line 108
            aload 3 /* property */
            invokestatic org.hibernate.tuple.PropertyFactory.getGetter:(Lorg/hibernate/mapping/Property;)Lorg/hibernate/property/access/spi/Getter;
         3: .line 109
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getType:()Lorg/hibernate/type/Type;
            checkcast org.hibernate.type.VersionType
         4: .line 110
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            invokestatic org.hibernate.tuple.PropertyFactory.getConstructor:(Lorg/hibernate/mapping/PersistentClass;)Ljava/lang/reflect/Constructor;
         5: .line 106
            invokestatic org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedVersionValue:(Ljava/lang/String;Lorg/hibernate/property/access/spi/Getter;Lorg/hibernate/type/VersionType;Ljava/lang/reflect/Constructor;)Lorg/hibernate/engine/spi/VersionValue;
            astore 6 /* unsavedValue */
        start local 6 // org.hibernate.engine.spi.VersionValue unsavedValue
         6: .line 113
            iload 4 /* lazyAvailable */
            ifeq 7
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isLazy:()Z
            ifeq 7
            iconst_1
            goto 8
      StackMap locals: java.lang.String org.hibernate.engine.spi.VersionValue
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 7 /* lazy */
        start local 7 // boolean lazy
         9: .line 115
            new org.hibernate.tuple.entity.VersionProperty
            dup
        10: .line 116
            aload 0 /* persister */
        11: .line 117
            aload 1 /* sessionFactory */
        12: .line 118
            iload 2 /* attributeNumber */
        13: .line 119
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
        14: .line 120
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getType:()Lorg/hibernate/type/Type;
        15: .line 121
            new org.hibernate.tuple.BaselineAttributeInformation$Builder
            dup
            invokespecial org.hibernate.tuple.BaselineAttributeInformation$Builder.<init>:()V
        16: .line 122
            iload 7 /* lazy */
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setLazy:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        17: .line 123
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isInsertable:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setInsertable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        18: .line 124
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setUpdateable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        19: .line 125
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setValueGenerationStrategy:(Lorg/hibernate/tuple/ValueGeneration;)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        20: .line 126
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptional:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setNullable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        21: .line 127
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            ifeq 22
            iload 7 /* lazy */
            ifne 22
            iconst_1
            goto 23
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int java.lang.String org.hibernate.engine.spi.VersionValue int
      StackMap stack: new 9 new 9 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.Type org.hibernate.tuple.BaselineAttributeInformation$Builder
        22: iconst_0
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int java.lang.String org.hibernate.engine.spi.VersionValue int
      StackMap stack: new 9 new 9 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.Type org.hibernate.tuple.BaselineAttributeInformation$Builder int
        23: invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setDirtyCheckable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        24: .line 128
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptimisticLocked:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setVersionable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        25: .line 129
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getCascadeStyle:()Lorg/hibernate/engine/spi/CascadeStyle;
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setCascadeStyle:(Lorg/hibernate/engine/spi/CascadeStyle;)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        26: .line 130
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.createInformation:()Lorg/hibernate/tuple/BaselineAttributeInformation;
        27: .line 131
            aload 6 /* unsavedValue */
        28: .line 115
            invokespecial org.hibernate.tuple.entity.VersionProperty.<init>:(Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;ILjava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/tuple/BaselineAttributeInformation;Lorg/hibernate/engine/spi/VersionValue;)V
            areturn
        end local 7 // boolean lazy
        end local 6 // org.hibernate.engine.spi.VersionValue unsavedValue
        end local 5 // java.lang.String mappedUnsavedValue
        end local 4 // boolean lazyAvailable
        end local 3 // org.hibernate.mapping.Property property
        end local 2 // int attributeNumber
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        end local 0 // org.hibernate.persister.entity.EntityPersister persister
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   29     0           persister  Lorg/hibernate/persister/entity/EntityPersister;
            0   29     1      sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0   29     2     attributeNumber  I
            0   29     3            property  Lorg/hibernate/mapping/Property;
            0   29     4       lazyAvailable  Z
            1   29     5  mappedUnsavedValue  Ljava/lang/String;
            6   29     6        unsavedValue  Lorg/hibernate/engine/spi/VersionValue;
            9   29     7                lazy  Z
    MethodParameters:
                 Name  Flags
      persister        
      sessionFactory   
      attributeNumber  
      property         
      lazyAvailable    

  public static org.hibernate.tuple.NonIdentifierAttribute buildEntityBasedAttribute(org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.SessionFactoryImplementor, int, org.hibernate.mapping.Property, boolean);
    descriptor: (Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;ILorg/hibernate/mapping/Property;Z)Lorg/hibernate/tuple/NonIdentifierAttribute;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=8, args_size=5
        start local 0 // org.hibernate.persister.entity.EntityPersister persister
        start local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        start local 2 // int attributeNumber
        start local 3 // org.hibernate.mapping.Property property
        start local 4 // boolean lazyAvailable
         0: .line 157
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getType:()Lorg/hibernate/type/Type;
            astore 5 /* type */
        start local 5 // org.hibernate.type.Type type
         1: .line 159
            aload 5 /* type */
            invokestatic org.hibernate.tuple.PropertyFactory.decode:(Lorg/hibernate/type/Type;)Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            astore 6 /* nature */
        start local 6 // org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature nature
         2: .line 168
            aload 5 /* type */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifeq 5
         3: .line 169
            aload 5 /* type */
            checkcast org.hibernate.type.AssociationType
            invokeinterface org.hibernate.type.AssociationType.isAlwaysDirtyChecked:()Z
            ifeq 5
         4: .line 168
            iconst_1
            goto 6
      StackMap locals: org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* alwaysDirtyCheck */
        start local 7 // boolean alwaysDirtyCheck
         7: .line 171
            invokestatic org.hibernate.tuple.PropertyFactory.$SWITCH_TABLE$org$hibernate$tuple$PropertyFactory$NonIdentifierAttributeNature:()[I
            aload 6 /* nature */
            invokevirtual org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 8
                    2: 30
                    3: 52
                    4: 52
                    5: 52
              default: 74
          }
         8: .line 173
      StackMap locals: int
      StackMap stack:
            new org.hibernate.tuple.entity.EntityBasedBasicAttribute
            dup
         9: .line 174
            aload 0 /* persister */
        10: .line 175
            aload 1 /* sessionFactory */
        11: .line 176
            iload 2 /* attributeNumber */
        12: .line 177
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
        13: .line 178
            aload 5 /* type */
        14: .line 179
            new org.hibernate.tuple.BaselineAttributeInformation$Builder
            dup
            invokespecial org.hibernate.tuple.BaselineAttributeInformation$Builder.<init>:()V
        15: .line 180
            iload 4 /* lazyAvailable */
            ifeq 16
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isLazy:()Z
            ifeq 16
            iconst_1
            goto 17
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 8 new 8 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.Type org.hibernate.tuple.BaselineAttributeInformation$Builder
        16: iconst_0
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 8 new 8 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.Type org.hibernate.tuple.BaselineAttributeInformation$Builder int
        17: invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setLazy:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        18: .line 181
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isInsertable:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setInsertable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        19: .line 182
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setUpdateable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        20: .line 183
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setValueGenerationStrategy:(Lorg/hibernate/tuple/ValueGeneration;)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        21: .line 184
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptional:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setNullable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        22: .line 185
            iload 7 /* alwaysDirtyCheck */
            ifne 23
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            ifne 23
            iconst_0
            goto 24
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 8 new 8 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.Type org.hibernate.tuple.BaselineAttributeInformation$Builder
        23: iconst_1
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 8 new 8 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.Type org.hibernate.tuple.BaselineAttributeInformation$Builder int
        24: invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setDirtyCheckable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        25: .line 186
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptimisticLocked:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setVersionable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        26: .line 187
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getCascadeStyle:()Lorg/hibernate/engine/spi/CascadeStyle;
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setCascadeStyle:(Lorg/hibernate/engine/spi/CascadeStyle;)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        27: .line 188
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getFetchMode:()Lorg/hibernate/FetchMode;
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setFetchMode:(Lorg/hibernate/FetchMode;)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        28: .line 189
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.createInformation:()Lorg/hibernate/tuple/BaselineAttributeInformation;
        29: .line 173
            invokespecial org.hibernate.tuple.entity.EntityBasedBasicAttribute.<init>:(Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;ILjava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/tuple/BaselineAttributeInformation;)V
            areturn
        30: .line 193
      StackMap locals:
      StackMap stack:
            new org.hibernate.tuple.entity.EntityBasedCompositionAttribute
            dup
        31: .line 194
            aload 0 /* persister */
        32: .line 195
            aload 1 /* sessionFactory */
        33: .line 196
            iload 2 /* attributeNumber */
        34: .line 197
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
        35: .line 198
            aload 5 /* type */
            checkcast org.hibernate.type.CompositeType
        36: .line 199
            new org.hibernate.tuple.BaselineAttributeInformation$Builder
            dup
            invokespecial org.hibernate.tuple.BaselineAttributeInformation$Builder.<init>:()V
        37: .line 200
            iload 4 /* lazyAvailable */
            ifeq 38
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isLazy:()Z
            ifeq 38
            iconst_1
            goto 39
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 30 new 30 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.CompositeType org.hibernate.tuple.BaselineAttributeInformation$Builder
        38: iconst_0
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 30 new 30 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.CompositeType org.hibernate.tuple.BaselineAttributeInformation$Builder int
        39: invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setLazy:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        40: .line 201
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isInsertable:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setInsertable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        41: .line 202
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setUpdateable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        42: .line 203
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setValueGenerationStrategy:(Lorg/hibernate/tuple/ValueGeneration;)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        43: .line 204
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptional:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setNullable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        44: .line 205
            iload 7 /* alwaysDirtyCheck */
            ifne 45
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            ifne 45
            iconst_0
            goto 46
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 30 new 30 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.CompositeType org.hibernate.tuple.BaselineAttributeInformation$Builder
        45: iconst_1
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 30 new 30 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.CompositeType org.hibernate.tuple.BaselineAttributeInformation$Builder int
        46: invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setDirtyCheckable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        47: .line 206
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptimisticLocked:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setVersionable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        48: .line 207
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getCascadeStyle:()Lorg/hibernate/engine/spi/CascadeStyle;
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setCascadeStyle:(Lorg/hibernate/engine/spi/CascadeStyle;)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        49: .line 208
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getFetchMode:()Lorg/hibernate/FetchMode;
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setFetchMode:(Lorg/hibernate/FetchMode;)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        50: .line 209
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.createInformation:()Lorg/hibernate/tuple/BaselineAttributeInformation;
        51: .line 193
            invokespecial org.hibernate.tuple.entity.EntityBasedCompositionAttribute.<init>:(Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;ILjava/lang/String;Lorg/hibernate/type/CompositeType;Lorg/hibernate/tuple/BaselineAttributeInformation;)V
            areturn
        52: .line 215
      StackMap locals:
      StackMap stack:
            new org.hibernate.tuple.entity.EntityBasedAssociationAttribute
            dup
        53: .line 216
            aload 0 /* persister */
        54: .line 217
            aload 1 /* sessionFactory */
        55: .line 218
            iload 2 /* attributeNumber */
        56: .line 219
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
        57: .line 220
            aload 5 /* type */
            checkcast org.hibernate.type.AssociationType
        58: .line 221
            new org.hibernate.tuple.BaselineAttributeInformation$Builder
            dup
            invokespecial org.hibernate.tuple.BaselineAttributeInformation$Builder.<init>:()V
        59: .line 222
            iload 4 /* lazyAvailable */
            ifeq 60
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isLazy:()Z
            ifeq 60
            iconst_1
            goto 61
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 52 new 52 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.AssociationType org.hibernate.tuple.BaselineAttributeInformation$Builder
        60: iconst_0
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 52 new 52 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.AssociationType org.hibernate.tuple.BaselineAttributeInformation$Builder int
        61: invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setLazy:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        62: .line 223
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isInsertable:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setInsertable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        63: .line 224
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setUpdateable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        64: .line 225
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setValueGenerationStrategy:(Lorg/hibernate/tuple/ValueGeneration;)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        65: .line 226
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptional:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setNullable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        66: .line 227
            iload 7 /* alwaysDirtyCheck */
            ifne 67
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            ifne 67
            iconst_0
            goto 68
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 52 new 52 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.AssociationType org.hibernate.tuple.BaselineAttributeInformation$Builder
        67: iconst_1
      StackMap locals: org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int org.hibernate.mapping.Property int org.hibernate.type.Type org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature int
      StackMap stack: new 52 new 52 org.hibernate.persister.entity.EntityPersister org.hibernate.engine.spi.SessionFactoryImplementor int java.lang.String org.hibernate.type.AssociationType org.hibernate.tuple.BaselineAttributeInformation$Builder int
        68: invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setDirtyCheckable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        69: .line 228
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptimisticLocked:()Z
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setVersionable:(Z)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        70: .line 229
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getCascadeStyle:()Lorg/hibernate/engine/spi/CascadeStyle;
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setCascadeStyle:(Lorg/hibernate/engine/spi/CascadeStyle;)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        71: .line 230
            aload 3 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getFetchMode:()Lorg/hibernate/FetchMode;
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.setFetchMode:(Lorg/hibernate/FetchMode;)Lorg/hibernate/tuple/BaselineAttributeInformation$Builder;
        72: .line 231
            invokevirtual org.hibernate.tuple.BaselineAttributeInformation$Builder.createInformation:()Lorg/hibernate/tuple/BaselineAttributeInformation;
        73: .line 215
            invokespecial org.hibernate.tuple.entity.EntityBasedAssociationAttribute.<init>:(Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryImplementor;ILjava/lang/String;Lorg/hibernate/type/AssociationType;Lorg/hibernate/tuple/BaselineAttributeInformation;)V
            areturn
        74: .line 235
      StackMap locals:
      StackMap stack:
            new org.hibernate.HibernateException
            dup
            ldc "Internal error"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // boolean alwaysDirtyCheck
        end local 6 // org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature nature
        end local 5 // org.hibernate.type.Type type
        end local 4 // boolean lazyAvailable
        end local 3 // org.hibernate.mapping.Property property
        end local 2 // int attributeNumber
        end local 1 // org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory
        end local 0 // org.hibernate.persister.entity.EntityPersister persister
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   75     0         persister  Lorg/hibernate/persister/entity/EntityPersister;
            0   75     1    sessionFactory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            0   75     2   attributeNumber  I
            0   75     3          property  Lorg/hibernate/mapping/Property;
            0   75     4     lazyAvailable  Z
            1   75     5              type  Lorg/hibernate/type/Type;
            2   75     6            nature  Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            7   75     7  alwaysDirtyCheck  Z
    MethodParameters:
                 Name  Flags
      persister        
      sessionFactory   
      attributeNumber  
      property         
      lazyAvailable    

  private static org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature decode(org.hibernate.type.Type);
    descriptor: (Lorg/hibernate/type/Type;)Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.type.Type type
         0: .line 241
            aload 0 /* type */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifeq 8
         1: .line 242
            aload 0 /* type */
            checkcast org.hibernate.type.AssociationType
            pop
         2: .line 244
            aload 0 /* type */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 4
         3: .line 246
            getstatic org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.ANY:Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            areturn
         4: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            invokeinterface org.hibernate.type.Type.isCollectionType:()Z
            ifeq 6
         5: .line 250
            getstatic org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.COLLECTION:Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            goto 7
         6: .line 251
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.ENTITY:Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
         7: .line 249
      StackMap locals:
      StackMap stack: org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature
            areturn
         8: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 10
         9: .line 255
            getstatic org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.COMPOSITE:Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            areturn
        10: .line 258
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.BASIC:Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            areturn
        end local 0 // org.hibernate.type.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  type  Lorg/hibernate/type/Type;
    MethodParameters:
      Name  Flags
      type  

  public static org.hibernate.tuple.StandardProperty buildStandardProperty(org.hibernate.mapping.Property, boolean);
    descriptor: (Lorg/hibernate/mapping/Property;Z)Lorg/hibernate/tuple/StandardProperty;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=13, locals=4, args_size=2
        start local 0 // org.hibernate.mapping.Property property
        start local 1 // boolean lazyAvailable
         0: .line 267
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getType:()Lorg/hibernate/type/Type;
            astore 2 /* type */
        start local 2 // org.hibernate.type.Type type
         1: .line 276
            aload 2 /* type */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifeq 4
         2: .line 277
            aload 2 /* type */
            checkcast org.hibernate.type.AssociationType
            invokeinterface org.hibernate.type.AssociationType.isAlwaysDirtyChecked:()Z
            ifeq 4
         3: .line 276
            iconst_1
            goto 5
      StackMap locals: org.hibernate.type.Type
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* alwaysDirtyCheck */
        start local 3 // boolean alwaysDirtyCheck
         6: .line 279
            new org.hibernate.tuple.StandardProperty
            dup
         7: .line 280
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
         8: .line 281
            aload 2 /* type */
         9: .line 282
            iload 1 /* lazyAvailable */
            ifeq 10
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isLazy:()Z
            ifeq 10
            iconst_1
            goto 11
      StackMap locals: org.hibernate.mapping.Property int org.hibernate.type.Type int
      StackMap stack: new 6 new 6 java.lang.String org.hibernate.type.Type
        10: iconst_0
        11: .line 283
      StackMap locals: org.hibernate.mapping.Property int org.hibernate.type.Type int
      StackMap stack: new 6 new 6 java.lang.String org.hibernate.type.Type int
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isInsertable:()Z
        12: .line 284
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
        13: .line 285
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getValueGenerationStrategy:()Lorg/hibernate/tuple/ValueGeneration;
        14: .line 286
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptional:()Z
        15: .line 287
            iload 3 /* alwaysDirtyCheck */
            ifne 16
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isUpdateable:()Z
            ifne 16
            iconst_0
            goto 17
      StackMap locals: org.hibernate.mapping.Property int org.hibernate.type.Type int
      StackMap stack: new 6 new 6 java.lang.String org.hibernate.type.Type int int int org.hibernate.tuple.ValueGeneration int
        16: iconst_1
        17: .line 288
      StackMap locals: org.hibernate.mapping.Property int org.hibernate.type.Type int
      StackMap stack: new 6 new 6 java.lang.String org.hibernate.type.Type int int int org.hibernate.tuple.ValueGeneration int int
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.isOptimisticLocked:()Z
        18: .line 289
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getCascadeStyle:()Lorg/hibernate/engine/spi/CascadeStyle;
        19: .line 290
            aload 0 /* property */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getFetchMode:()Lorg/hibernate/FetchMode;
        20: .line 279
            invokespecial org.hibernate.tuple.StandardProperty.<init>:(Ljava/lang/String;Lorg/hibernate/type/Type;ZZZLorg/hibernate/tuple/ValueGeneration;ZZZLorg/hibernate/engine/spi/CascadeStyle;Lorg/hibernate/FetchMode;)V
            areturn
        end local 3 // boolean alwaysDirtyCheck
        end local 2 // org.hibernate.type.Type type
        end local 1 // boolean lazyAvailable
        end local 0 // org.hibernate.mapping.Property property
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0          property  Lorg/hibernate/mapping/Property;
            0   21     1     lazyAvailable  Z
            1   21     2              type  Lorg/hibernate/type/Type;
            6   21     3  alwaysDirtyCheck  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      property       
      lazyAvailable  

  private static java.lang.reflect.Constructor getConstructor(org.hibernate.mapping.PersistentClass);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;)Ljava/lang/reflect/Constructor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.PersistentClass persistentClass
         0: .line 296
            aload 0 /* persistentClass */
            ifnull 1
            aload 0 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifne 2
         1: .line 297
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* persistentClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
            invokestatic org.hibernate.internal.util.ReflectHelper.getDefaultConstructor:(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
         3: areturn
         4: .line 303
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
         5: .line 304
            aconst_null
            areturn
        end local 0 // org.hibernate.mapping.PersistentClass persistentClass
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0  persistentClass  Lorg/hibernate/mapping/PersistentClass;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    MethodParameters:
                 Name  Flags
      persistentClass  

  private static org.hibernate.property.access.spi.Getter getGetter(org.hibernate.mapping.Property);
    descriptor: (Lorg/hibernate/mapping/Property;)Lorg/hibernate/property/access/spi/Getter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.hibernate.mapping.Property mappingProperty
         0: .line 309
            aload 0 /* mappingProperty */
            ifnull 1
            aload 0 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.hasPojoRepresentation:()Z
            ifne 2
         1: .line 310
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getServiceRegistry:()Lorg/hibernate/service/ServiceRegistry;
            ldc Lorg/hibernate/property/access/spi/PropertyAccessStrategyResolver;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.property.access.spi.PropertyAccessStrategyResolver
         3: .line 313
            astore 1 /* propertyAccessStrategyResolver */
        start local 1 // org.hibernate.property.access.spi.PropertyAccessStrategyResolver propertyAccessStrategyResolver
         4: .line 316
            aload 1 /* propertyAccessStrategyResolver */
         5: .line 317
            aload 0 /* mappingProperty */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
         6: .line 318
            aload 0 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getPropertyAccessorName:()Ljava/lang/String;
         7: .line 319
            getstatic org.hibernate.EntityMode.POJO:Lorg/hibernate/EntityMode;
         8: .line 316
            invokeinterface org.hibernate.property.access.spi.PropertyAccessStrategyResolver.resolvePropertyAccessStrategy:(Ljava/lang/Class;Ljava/lang/String;Lorg/hibernate/EntityMode;)Lorg/hibernate/property/access/spi/PropertyAccessStrategy;
            astore 2 /* propertyAccessStrategy */
        start local 2 // org.hibernate.property.access.spi.PropertyAccessStrategy propertyAccessStrategy
         9: .line 322
            aload 2 /* propertyAccessStrategy */
        10: .line 323
            aload 0 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
        11: .line 324
            aload 0 /* mappingProperty */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
        12: .line 322
            invokeinterface org.hibernate.property.access.spi.PropertyAccessStrategy.buildPropertyAccess:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/access/spi/PropertyAccess;
            astore 3 /* propertyAccess */
        start local 3 // org.hibernate.property.access.spi.PropertyAccess propertyAccess
        13: .line 327
            aload 3 /* propertyAccess */
            invokeinterface org.hibernate.property.access.spi.PropertyAccess.getGetter:()Lorg/hibernate/property/access/spi/Getter;
            areturn
        end local 3 // org.hibernate.property.access.spi.PropertyAccess propertyAccess
        end local 2 // org.hibernate.property.access.spi.PropertyAccessStrategy propertyAccessStrategy
        end local 1 // org.hibernate.property.access.spi.PropertyAccessStrategyResolver propertyAccessStrategyResolver
        end local 0 // org.hibernate.mapping.Property mappingProperty
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   14     0                 mappingProperty  Lorg/hibernate/mapping/Property;
            4   14     1  propertyAccessStrategyResolver  Lorg/hibernate/property/access/spi/PropertyAccessStrategyResolver;
            9   14     2          propertyAccessStrategy  Lorg/hibernate/property/access/spi/PropertyAccessStrategy;
           13   14     3                  propertyAccess  Lorg/hibernate/property/access/spi/PropertyAccess;
    MethodParameters:
                 Name  Flags
      mappingProperty  

  static int[] $SWITCH_TABLE$org$hibernate$tuple$PropertyFactory$NonIdentifierAttributeNature();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 42
            getstatic org.hibernate.tuple.PropertyFactory.$SWITCH_TABLE$org$hibernate$tuple$PropertyFactory$NonIdentifierAttributeNature:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.values:()[Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.ANY:Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            invokevirtual org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.BASIC:Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            invokevirtual org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.COLLECTION:Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            invokevirtual org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.ordinal:()I
            iconst_5
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.COMPOSITE:Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            invokevirtual org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.ENTITY:Lorg/hibernate/tuple/PropertyFactory$NonIdentifierAttributeNature;
            invokevirtual org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic org.hibernate.tuple.PropertyFactory.$SWITCH_TABLE$org$hibernate$tuple$PropertyFactory$NonIdentifierAttributeNature:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "PropertyFactory.java"
NestMembers:
  org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature
InnerClasses:
  public Builder = org.hibernate.tuple.BaselineAttributeInformation$Builder of org.hibernate.tuple.BaselineAttributeInformation
  public final NonIdentifierAttributeNature = org.hibernate.tuple.PropertyFactory$NonIdentifierAttributeNature of org.hibernate.tuple.PropertyFactory