public class org.hibernate.mapping.Property implements java.io.Serializable, org.hibernate.mapping.MetaAttributable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.mapping.Property
  super_class: java.lang.Object
{
  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.mapping.Value value;
    descriptor: Lorg/hibernate/mapping/Value;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String cascade;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private org.hibernate.tuple.ValueGeneration valueGenerationStrategy;
    descriptor: Lorg/hibernate/tuple/ValueGeneration;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String propertyAccessorName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  private java.lang.String lazyGroup;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.Map metaAttributes;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.mapping.PersistentClass persistentClass;
    descriptor: Lorg/hibernate/mapping/PersistentClass;
    flags: (0x0002) ACC_PRIVATE

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

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 39
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.mapping.Property.updateable:Z
         2: .line 40
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.mapping.Property.insertable:Z
         3: .line 41
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.mapping.Property.selectable:Z
         4: .line 42
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.mapping.Property.optimisticLocked:Z
         5: .line 35
            return
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/mapping/Property;

  public boolean isBackRef();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 54
            iconst_0
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public boolean isSynthetic();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 65
            iconst_0
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public org.hibernate.type.Type getType();
    descriptor: ()Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 69
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getType:()Lorg/hibernate/type/Type;
            areturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;
    Exceptions:
      throws org.hibernate.MappingException

  public int getColumnSpan();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 73
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnSpan:()I
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public java.util.Iterator getColumnIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 77
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnIterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  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.mapping.Property this
         0: .line 81
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.name:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public boolean isComposite();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 85
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.Component
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public org.hibernate.mapping.Value getValue();
    descriptor: ()Lorg/hibernate/mapping/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 89
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            areturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public boolean isPrimitive(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // java.lang.Class clazz
         0: .line 93
            aload 0 /* this */
            aload 1 /* clazz */
            invokevirtual org.hibernate.mapping.Property.getGetter:(Ljava/lang/Class;)Lorg/hibernate/property/access/spi/Getter;
            invokeinterface org.hibernate.property.access.spi.Getter.getReturnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isPrimitive:()Z
            ireturn
        end local 1 // java.lang.Class clazz
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/mapping/Property;
            0    1     1  clazz  Ljava/lang/Class;
    MethodParameters:
       Name  Flags
      clazz  

  public org.hibernate.engine.spi.CascadeStyle getCascadeStyle();
    descriptor: ()Lorg/hibernate/engine/spi/CascadeStyle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 97
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getType:()Lorg/hibernate/type/Type;
            astore 1 /* type */
        start local 1 // org.hibernate.type.Type type
         1: .line 98
            aload 1 /* type */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 3
         2: .line 99
            aload 1 /* type */
            checkcast org.hibernate.type.CompositeType
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.cascade:Ljava/lang/String;
            invokestatic org.hibernate.mapping.Property.getCompositeCascadeStyle:(Lorg/hibernate/type/CompositeType;Ljava/lang/String;)Lorg/hibernate/engine/spi/CascadeStyle;
            areturn
         3: .line 101
      StackMap locals: org.hibernate.type.Type
      StackMap stack:
            aload 1 /* type */
            invokeinterface org.hibernate.type.Type.isCollectionType:()Z
            ifeq 5
         4: .line 102
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.Collection
            invokevirtual org.hibernate.mapping.Collection.getElement:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getType:()Lorg/hibernate/type/Type;
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.cascade:Ljava/lang/String;
            invokestatic org.hibernate.mapping.Property.getCollectionCascadeStyle:(Lorg/hibernate/type/Type;Ljava/lang/String;)Lorg/hibernate/engine/spi/CascadeStyle;
            areturn
         5: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.cascade:Ljava/lang/String;
            invokestatic org.hibernate.mapping.Property.getCascadeStyle:(Ljava/lang/String;)Lorg/hibernate/engine/spi/CascadeStyle;
            areturn
        end local 1 // org.hibernate.type.Type type
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/mapping/Property;
            1    6     1  type  Lorg/hibernate/type/Type;
    Exceptions:
      throws org.hibernate.MappingException

  private static org.hibernate.engine.spi.CascadeStyle getCompositeCascadeStyle(org.hibernate.type.CompositeType, java.lang.String);
    descriptor: (Lorg/hibernate/type/CompositeType;Ljava/lang/String;)Lorg/hibernate/engine/spi/CascadeStyle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hibernate.type.CompositeType compositeType
        start local 1 // java.lang.String cascade
         0: .line 110
            aload 0 /* compositeType */
            invokeinterface org.hibernate.type.CompositeType.isAnyType:()Z
            ifeq 2
         1: .line 111
            aload 1 /* cascade */
            invokestatic org.hibernate.mapping.Property.getCascadeStyle:(Ljava/lang/String;)Lorg/hibernate/engine/spi/CascadeStyle;
            areturn
         2: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* compositeType */
            invokeinterface org.hibernate.type.CompositeType.getSubtypes:()[Lorg/hibernate/type/Type;
            arraylength
            istore 2 /* length */
        start local 2 // int length
         3: .line 114
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 115
      StackMap locals: int int
      StackMap stack:
            aload 0 /* compositeType */
            iload 3 /* i */
            invokeinterface org.hibernate.type.CompositeType.getCascadeStyle:(I)Lorg/hibernate/engine/spi/CascadeStyle;
            getstatic org.hibernate.engine.spi.CascadeStyles.NONE:Lorg/hibernate/engine/spi/CascadeStyle;
            if_acmpeq 7
         6: .line 116
            getstatic org.hibernate.engine.spi.CascadeStyles.ALL:Lorg/hibernate/engine/spi/CascadeStyle;
            areturn
         7: .line 114
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 5
        end local 3 // int i
         9: .line 119
            aload 1 /* cascade */
            invokestatic org.hibernate.mapping.Property.getCascadeStyle:(Ljava/lang/String;)Lorg/hibernate/engine/spi/CascadeStyle;
            areturn
        end local 2 // int length
        end local 1 // java.lang.String cascade
        end local 0 // org.hibernate.type.CompositeType compositeType
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0  compositeType  Lorg/hibernate/type/CompositeType;
            0   10     1        cascade  Ljava/lang/String;
            3   10     2         length  I
            4    9     3              i  I
    MethodParameters:
               Name  Flags
      compositeType  
      cascade        

  private static org.hibernate.engine.spi.CascadeStyle getCollectionCascadeStyle(org.hibernate.type.Type, java.lang.String);
    descriptor: (Lorg/hibernate/type/Type;Ljava/lang/String;)Lorg/hibernate/engine/spi/CascadeStyle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.type.Type elementType
        start local 1 // java.lang.String cascade
         0: .line 123
            aload 0 /* elementType */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 2
         1: .line 124
            aload 0 /* elementType */
            checkcast org.hibernate.type.CompositeType
            aload 1 /* cascade */
            invokestatic org.hibernate.mapping.Property.getCompositeCascadeStyle:(Lorg/hibernate/type/CompositeType;Ljava/lang/String;)Lorg/hibernate/engine/spi/CascadeStyle;
            areturn
         2: .line 127
      StackMap locals:
      StackMap stack:
            aload 1 /* cascade */
            invokestatic org.hibernate.mapping.Property.getCascadeStyle:(Ljava/lang/String;)Lorg/hibernate/engine/spi/CascadeStyle;
            areturn
        end local 1 // java.lang.String cascade
        end local 0 // org.hibernate.type.Type elementType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  elementType  Lorg/hibernate/type/Type;
            0    3     1      cascade  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      elementType  
      cascade      

  private static org.hibernate.engine.spi.CascadeStyle getCascadeStyle(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/engine/spi/CascadeStyle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String cascade
         0: .line 132
            aload 0 /* cascade */
            ifnull 1
            aload 0 /* cascade */
            ldc "none"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 133
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.engine.spi.CascadeStyles.NONE:Lorg/hibernate/engine/spi/CascadeStyle;
            areturn
         2: .line 136
      StackMap locals:
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 0 /* cascade */
            ldc ", "
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* tokens */
        start local 1 // java.util.StringTokenizer tokens
         3: .line 137
            aload 1 /* tokens */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            anewarray org.hibernate.engine.spi.CascadeStyle
            astore 2 /* styles */
        start local 2 // org.hibernate.engine.spi.CascadeStyle[] styles
         4: .line 138
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: .line 139
            goto 7
         6: .line 140
      StackMap locals: java.util.StringTokenizer org.hibernate.engine.spi.CascadeStyle[] int
      StackMap stack:
            aload 2 /* styles */
            iload 3 /* i */
            iinc 3 /* i */ 1
            aload 1 /* tokens */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokestatic org.hibernate.engine.spi.CascadeStyles.getCascadeStyle:(Ljava/lang/String;)Lorg/hibernate/engine/spi/CascadeStyle;
            aastore
         7: .line 139
      StackMap locals:
      StackMap stack:
            aload 1 /* tokens */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 6
         8: .line 142
            new org.hibernate.engine.spi.CascadeStyles$MultipleCascadeStyle
            dup
            aload 2 /* styles */
            invokespecial org.hibernate.engine.spi.CascadeStyles$MultipleCascadeStyle.<init>:([Lorg/hibernate/engine/spi/CascadeStyle;)V
            areturn
        end local 3 // int i
        end local 2 // org.hibernate.engine.spi.CascadeStyle[] styles
        end local 1 // java.util.StringTokenizer tokens
        end local 0 // java.lang.String cascade
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  cascade  Ljava/lang/String;
            3    9     1   tokens  Ljava/util/StringTokenizer;
            4    9     2   styles  [Lorg/hibernate/engine/spi/CascadeStyle;
            5    9     3        i  I
    MethodParameters:
         Name  Flags
      cascade  

  public java.lang.String getCascade();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 147
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.cascade:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public void setCascade(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // java.lang.String cascade
         0: .line 151
            aload 0 /* this */
            aload 1 /* cascade */
            putfield org.hibernate.mapping.Property.cascade:Ljava/lang/String;
         1: .line 152
            return
        end local 1 // java.lang.String cascade
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/hibernate/mapping/Property;
            0    2     1  cascade  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      cascade  

  public void setName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // java.lang.String name
         0: .line 155
            aload 0 /* this */
            aload 1 /* name */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack: org.hibernate.mapping.Property
         1: aload 1 /* name */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
      StackMap locals: org.hibernate.mapping.Property java.lang.String
      StackMap stack: org.hibernate.mapping.Property java.lang.String
         2: putfield org.hibernate.mapping.Property.name:Ljava/lang/String;
         3: .line 156
            return
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hibernate/mapping/Property;
            0    4     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void setValue(org.hibernate.mapping.Value);
    descriptor: (Lorg/hibernate/mapping/Value;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // org.hibernate.mapping.Value value
         0: .line 159
            aload 0 /* this */
            aload 1 /* value */
            putfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
         1: .line 160
            return
        end local 1 // org.hibernate.mapping.Value value
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hibernate/mapping/Property;
            0    2     1  value  Lorg/hibernate/mapping/Value;
    MethodParameters:
       Name  Flags
      value  

  public boolean isUpdateable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 165
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.updateable:Z
            ifeq 1
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnUpdateability:()[Z
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.isAllFalse:([Z)Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/Property;

  public boolean isInsertable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 171
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getColumnInsertability:()[Z
            astore 1 /* columnInsertability */
        start local 1 // boolean[] columnInsertability
         1: .line 172
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.insertable:Z
            ifeq 5
         2: .line 173
            aload 1 /* columnInsertability */
            arraylength
            ifeq 4
         3: .line 174
            aload 1 /* columnInsertability */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.isAllFalse:([Z)Z
            ifne 5
         4: .line 172
      StackMap locals: boolean[]
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // boolean[] columnInsertability
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lorg/hibernate/mapping/Property;
            1    6     1  columnInsertability  [Z

  public org.hibernate.tuple.ValueGeneration getValueGenerationStrategy();
    descriptor: ()Lorg/hibernate/tuple/ValueGeneration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 179
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.valueGenerationStrategy:Lorg/hibernate/tuple/ValueGeneration;
            areturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public void setValueGenerationStrategy(org.hibernate.tuple.ValueGeneration);
    descriptor: (Lorg/hibernate/tuple/ValueGeneration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // org.hibernate.tuple.ValueGeneration valueGenerationStrategy
         0: .line 183
            aload 0 /* this */
            aload 1 /* valueGenerationStrategy */
            putfield org.hibernate.mapping.Property.valueGenerationStrategy:Lorg/hibernate/tuple/ValueGeneration;
         1: .line 184
            return
        end local 1 // org.hibernate.tuple.ValueGeneration valueGenerationStrategy
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Lorg/hibernate/mapping/Property;
            0    2     1  valueGenerationStrategy  Lorg/hibernate/tuple/ValueGeneration;
    MethodParameters:
                         Name  Flags
      valueGenerationStrategy  

  public void setUpdateable(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // boolean mutable
         0: .line 187
            aload 0 /* this */
            iload 1 /* mutable */
            putfield org.hibernate.mapping.Property.updateable:Z
         1: .line 188
            return
        end local 1 // boolean mutable
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/hibernate/mapping/Property;
            0    2     1  mutable  Z
    MethodParameters:
         Name  Flags
      mutable  

  public void setInsertable(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // boolean insertable
         0: .line 191
            aload 0 /* this */
            iload 1 /* insertable */
            putfield org.hibernate.mapping.Property.insertable:Z
         1: .line 192
            return
        end local 1 // boolean insertable
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/mapping/Property;
            0    2     1  insertable  Z
    MethodParameters:
            Name  Flags
      insertable  

  public java.lang.String getPropertyAccessorName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 195
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.propertyAccessorName:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public void setPropertyAccessorName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // java.lang.String string
         0: .line 199
            aload 0 /* this */
            aload 1 /* string */
            putfield org.hibernate.mapping.Property.propertyAccessorName:Ljava/lang/String;
         1: .line 200
            return
        end local 1 // java.lang.String string
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hibernate/mapping/Property;
            0    2     1  string  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      string  

  boolean isNullable();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 206
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            ifnull 1
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.isNullable:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/Property;

  public boolean isBasicPropertyAccessor();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 210
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.propertyAccessorName:Ljava/lang/String;
            ifnull 1
            ldc "property"
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.propertyAccessorName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/Property;

  public java.util.Map getMetaAttributes();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 214
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.metaAttributes:Ljava/util/Map;
            areturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public org.hibernate.mapping.MetaAttribute getMetaAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/mapping/MetaAttribute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // java.lang.String attributeName
         0: .line 218
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.metaAttributes:Ljava/util/Map;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.hibernate.mapping.Property.metaAttributes:Ljava/util/Map;
            aload 1 /* attributeName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.mapping.MetaAttribute
      StackMap locals:
      StackMap stack: org.hibernate.mapping.MetaAttribute
         2: areturn
        end local 1 // java.lang.String attributeName
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/hibernate/mapping/Property;
            0    3     1  attributeName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      attributeName  

  public void setMetaAttributes(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // java.util.Map metas
         0: .line 222
            aload 0 /* this */
            aload 1 /* metas */
            putfield org.hibernate.mapping.Property.metaAttributes:Ljava/util/Map;
         1: .line 223
            return
        end local 1 // java.util.Map metas
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hibernate/mapping/Property;
            0    2     1  metas  Ljava/util/Map;
    MethodParameters:
       Name  Flags
      metas  

  public boolean isValid(org.hibernate.engine.spi.Mapping);
    descriptor: (Lorg/hibernate/engine/spi/Mapping;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // org.hibernate.engine.spi.Mapping mapping
         0: .line 226
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            aload 1 /* mapping */
            invokeinterface org.hibernate.mapping.Value.isValid:(Lorg/hibernate/engine/spi/Mapping;)Z
            ireturn
        end local 1 // org.hibernate.engine.spi.Mapping mapping
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hibernate/mapping/Property;
            0    1     1  mapping  Lorg/hibernate/engine/spi/Mapping;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
         Name  Flags
      mapping  

  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.mapping.Property this
         0: .line 230
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.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 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.name: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.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

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

  public boolean isLazy();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 238
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            instanceof org.hibernate.mapping.ToOne
            ifeq 4
         1: .line 256
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.value:Lorg/hibernate/mapping/Value;
            checkcast org.hibernate.mapping.ToOne
            astore 1 /* toOneValue */
        start local 1 // org.hibernate.mapping.ToOne toOneValue
         2: .line 257
            aload 1 /* toOneValue */
            invokevirtual org.hibernate.mapping.ToOne.isLazy:()Z
            ifeq 3
            aload 1 /* toOneValue */
            invokevirtual org.hibernate.mapping.ToOne.isUnwrapProxy:()Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals: org.hibernate.mapping.ToOne
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.hibernate.mapping.ToOne toOneValue
         4: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.lazy:Z
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/hibernate/mapping/Property;
            2    4     1  toOneValue  Lorg/hibernate/mapping/ToOne;

  public java.lang.String getLazyGroup();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 263
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.lazyGroup:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public void setLazyGroup(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // java.lang.String lazyGroup
         0: .line 267
            aload 0 /* this */
            aload 1 /* lazyGroup */
            putfield org.hibernate.mapping.Property.lazyGroup:Ljava/lang/String;
         1: .line 268
            return
        end local 1 // java.lang.String lazyGroup
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/hibernate/mapping/Property;
            0    2     1  lazyGroup  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      lazyGroup  

  public boolean isOptimisticLocked();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 271
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.optimisticLocked:Z
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public void setOptimisticLocked(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // boolean optimisticLocked
         0: .line 275
            aload 0 /* this */
            iload 1 /* optimisticLocked */
            putfield org.hibernate.mapping.Property.optimisticLocked:Z
         1: .line 276
            return
        end local 1 // boolean optimisticLocked
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/hibernate/mapping/Property;
            0    2     1  optimisticLocked  Z
    MethodParameters:
                  Name  Flags
      optimisticLocked  

  public boolean isOptional();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 279
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.optional:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Property.isNullable:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/Property;

  public void setOptional(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // boolean optional
         0: .line 283
            aload 0 /* this */
            iload 1 /* optional */
            putfield org.hibernate.mapping.Property.optional:Z
         1: .line 284
            return
        end local 1 // boolean optional
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hibernate/mapping/Property;
            0    2     1  optional  Z
    MethodParameters:
          Name  Flags
      optional  

  public org.hibernate.mapping.PersistentClass getPersistentClass();
    descriptor: ()Lorg/hibernate/mapping/PersistentClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 287
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.persistentClass:Lorg/hibernate/mapping/PersistentClass;
            areturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public void setPersistentClass(org.hibernate.mapping.PersistentClass);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // org.hibernate.mapping.PersistentClass persistentClass
         0: .line 291
            aload 0 /* this */
            aload 1 /* persistentClass */
            putfield org.hibernate.mapping.Property.persistentClass:Lorg/hibernate/mapping/PersistentClass;
         1: .line 292
            return
        end local 1 // org.hibernate.mapping.PersistentClass persistentClass
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/hibernate/mapping/Property;
            0    2     1  persistentClass  Lorg/hibernate/mapping/PersistentClass;
    MethodParameters:
                 Name  Flags
      persistentClass  

  public boolean isSelectable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 295
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.selectable:Z
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public void setSelectable(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // boolean selectable
         0: .line 299
            aload 0 /* this */
            iload 1 /* selectable */
            putfield org.hibernate.mapping.Property.selectable:Z
         1: .line 300
            return
        end local 1 // boolean selectable
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/hibernate/mapping/Property;
            0    2     1  selectable  Z
    MethodParameters:
            Name  Flags
      selectable  

  public java.lang.String getAccessorPropertyName(org.hibernate.EntityMode);
    descriptor: (Lorg/hibernate/EntityMode;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // org.hibernate.EntityMode mode
         0: .line 303
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Property.getName:()Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.EntityMode mode
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;
            0    1     1  mode  Lorg/hibernate/EntityMode;
    MethodParameters:
      Name  Flags
      mode  

  public org.hibernate.property.access.spi.Getter getGetter(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/property/access/spi/Getter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // java.lang.Class clazz
         0: .line 308
            aload 0 /* this */
            aload 1 /* clazz */
            invokevirtual org.hibernate.mapping.Property.getPropertyAccessStrategy:(Ljava/lang/Class;)Lorg/hibernate/property/access/spi/PropertyAccessStrategy;
            aload 1 /* clazz */
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.name:Ljava/lang/String;
            invokeinterface org.hibernate.property.access.spi.PropertyAccessStrategy.buildPropertyAccess:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/access/spi/PropertyAccess;
            invokeinterface org.hibernate.property.access.spi.PropertyAccess.getGetter:()Lorg/hibernate/property/access/spi/Getter;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/mapping/Property;
            0    1     1  clazz  Ljava/lang/Class;
    Exceptions:
      throws org.hibernate.PropertyNotFoundException, org.hibernate.MappingException
    MethodParameters:
       Name  Flags
      clazz  

  public org.hibernate.property.access.spi.Setter getSetter(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/property/access/spi/Setter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // java.lang.Class clazz
         0: .line 313
            aload 0 /* this */
            aload 1 /* clazz */
            invokevirtual org.hibernate.mapping.Property.getPropertyAccessStrategy:(Ljava/lang/Class;)Lorg/hibernate/property/access/spi/PropertyAccessStrategy;
            aload 1 /* clazz */
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.name:Ljava/lang/String;
            invokeinterface org.hibernate.property.access.spi.PropertyAccessStrategy.buildPropertyAccess:(Ljava/lang/Class;Ljava/lang/String;)Lorg/hibernate/property/access/spi/PropertyAccess;
            invokeinterface org.hibernate.property.access.spi.PropertyAccess.getSetter:()Lorg/hibernate/property/access/spi/Setter;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hibernate/mapping/Property;
            0    1     1  clazz  Ljava/lang/Class;
    Exceptions:
      throws org.hibernate.PropertyNotFoundException, org.hibernate.MappingException
    MethodParameters:
       Name  Flags
      clazz  

  public org.hibernate.property.access.spi.PropertyAccessStrategy getPropertyAccessStrategy(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/property/access/spi/PropertyAccessStrategy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // java.lang.Class clazz
         0: .line 318
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Property.getPropertyAccessorName:()Ljava/lang/String;
            astore 2 /* accessName */
        start local 2 // java.lang.String accessName
         1: .line 319
            aload 2 /* accessName */
            ifnonnull 6
         2: .line 320
            aload 1 /* clazz */
            ifnull 3
            ldc Ljava/util/Map;
            aload 1 /* clazz */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 321
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "map"
            astore 2 /* accessName */
         4: .line 322
            goto 6
         5: .line 324
      StackMap locals:
      StackMap stack:
            ldc "property"
            astore 2 /* accessName */
         6: .line 328
      StackMap locals:
      StackMap stack:
            aload 1 /* clazz */
            ifnull 7
            ldc Ljava/util/Map;
            aload 1 /* clazz */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 329
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.EntityMode.MAP:Lorg/hibernate/EntityMode;
            goto 9
         8: .line 330
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.EntityMode.POJO:Lorg/hibernate/EntityMode;
         9: .line 328
      StackMap locals:
      StackMap stack: org.hibernate.EntityMode
            astore 3 /* entityMode */
        start local 3 // org.hibernate.EntityMode entityMode
        10: .line 332
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Property.resolveServiceRegistry:()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
        11: .line 333
            aload 1 /* clazz */
        12: .line 334
            aload 2 /* accessName */
        13: .line 335
            aload 3 /* entityMode */
        14: .line 332
            invokeinterface org.hibernate.property.access.spi.PropertyAccessStrategyResolver.resolvePropertyAccessStrategy:(Ljava/lang/Class;Ljava/lang/String;Lorg/hibernate/EntityMode;)Lorg/hibernate/property/access/spi/PropertyAccessStrategy;
            areturn
        end local 3 // org.hibernate.EntityMode entityMode
        end local 2 // java.lang.String accessName
        end local 1 // java.lang.Class clazz
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/hibernate/mapping/Property;
            0   15     1       clazz  Ljava/lang/Class;
            1   15     2  accessName  Ljava/lang/String;
           10   15     3  entityMode  Lorg/hibernate/EntityMode;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
       Name  Flags
      clazz  

  protected org.hibernate.service.ServiceRegistry resolveServiceRegistry();
    descriptor: ()Lorg/hibernate/service/ServiceRegistry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 340
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            ifnull 2
         1: .line 341
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Property.getPersistentClass:()Lorg/hibernate/mapping/PersistentClass;
            invokevirtual org.hibernate.mapping.PersistentClass.getServiceRegistry:()Lorg/hibernate/service/ServiceRegistry;
            areturn
         2: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            ifnull 4
         3: .line 344
            aload 0 /* this */
            invokevirtual org.hibernate.mapping.Property.getValue:()Lorg/hibernate/mapping/Value;
            invokeinterface org.hibernate.mapping.Value.getServiceRegistry:()Lorg/hibernate/service/ServiceRegistry;
            areturn
         4: .line 346
      StackMap locals:
      StackMap stack:
            new org.hibernate.HibernateException
            dup
            ldc "Could not resolve ServiceRegistry"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hibernate/mapping/Property;

  public boolean isNaturalIdentifier();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 350
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.naturalIdentifier:Z
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public void setNaturalIdentifier(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // boolean naturalIdentifier
         0: .line 354
            aload 0 /* this */
            iload 1 /* naturalIdentifier */
            putfield org.hibernate.mapping.Property.naturalIdentifier:Z
         1: .line 355
            return
        end local 1 // boolean naturalIdentifier
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/hibernate/mapping/Property;
            0    2     1  naturalIdentifier  Z
    MethodParameters:
                   Name  Flags
      naturalIdentifier  

  public boolean isLob();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.mapping.Property this
         0: .line 358
            aload 0 /* this */
            getfield org.hibernate.mapping.Property.lob:Z
            ireturn
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/mapping/Property;

  public void setLob(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.mapping.Property this
        start local 1 // boolean lob
         0: .line 362
            aload 0 /* this */
            iload 1 /* lob */
            putfield org.hibernate.mapping.Property.lob:Z
         1: .line 363
            return
        end local 1 // boolean lob
        end local 0 // org.hibernate.mapping.Property this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/mapping/Property;
            0    2     1   lob  Z
    MethodParameters:
      Name  Flags
      lob   
}
SourceFile: "Property.java"
InnerClasses:
  public final MultipleCascadeStyle = org.hibernate.engine.spi.CascadeStyles$MultipleCascadeStyle of org.hibernate.engine.spi.CascadeStyles