public abstract class org.hibernate.persister.entity.AbstractPropertyMapping implements org.hibernate.persister.entity.PropertyMapping
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.hibernate.persister.entity.AbstractPropertyMapping
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Map<java.lang.String, org.hibernate.type.Type> typesByPropertyPath;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/type/Type;>;

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

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

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

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

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

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 40
            ldc Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.hibernate.persister.entity.AbstractPropertyMapping.$assertionsDisabled:Z
         3: .line 41
            ldc Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
            putstatic org.hibernate.persister.entity.AbstractPropertyMapping.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.persister.entity.AbstractPropertyMapping.typesByPropertyPath:Ljava/util/Map;
         2: .line 44
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.persister.entity.AbstractPropertyMapping.duplicateIncompatiblePaths:Ljava/util/Set;
         3: .line 45
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.persister.entity.AbstractPropertyMapping.columnsByPropertyPath:Ljava/util/Map;
         4: .line 46
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.persister.entity.AbstractPropertyMapping.columnReadersByPropertyPath:Ljava/util/Map;
         5: .line 47
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.persister.entity.AbstractPropertyMapping.columnReaderTemplatesByPropertyPath:Ljava/util/Map;
         6: .line 48
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.hibernate.persister.entity.AbstractPropertyMapping.formulaTemplatesByPropertyPath:Ljava/util/Map;
         7: .line 40
            return
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;

  public java.lang.String[] getIdentifierColumnNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
         0: .line 51
            new java.lang.UnsupportedOperationException
            dup
            ldc "one-to-one is not supported here"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;

  public java.lang.String[] getIdentifierColumnReaderTemplates();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
         0: .line 55
            new java.lang.UnsupportedOperationException
            dup
            ldc "one-to-one is not supported here"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;

  public java.lang.String[] getIdentifierColumnReaders();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
         0: .line 59
            new java.lang.UnsupportedOperationException
            dup
            ldc "one-to-one is not supported here"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;

  protected abstract java.lang.String getEntityName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  public org.hibernate.type.Type toType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String propertyName
         0: .line 65
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.typesByPropertyPath:Ljava/util/Map;
            aload 1 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.type.Type
            astore 2 /* type */
        start local 2 // org.hibernate.type.Type type
         1: .line 66
            aload 2 /* type */
            ifnonnull 3
         2: .line 67
            aload 0 /* this */
            aload 1 /* propertyName */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.propertyException:(Ljava/lang/String;)Lorg/hibernate/QueryException;
            athrow
         3: .line 69
      StackMap locals: org.hibernate.type.Type
      StackMap stack:
            aload 2 /* type */
            areturn
        end local 2 // org.hibernate.type.Type type
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0    4     1  propertyName  Ljava/lang/String;
            1    4     2          type  Lorg/hibernate/type/Type;
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
              Name  Flags
      propertyName  

  protected final org.hibernate.QueryException propertyException(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/QueryException;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String propertyName
         0: .line 73
            new org.hibernate.QueryException
            dup
            new java.lang.StringBuilder
            dup
            ldc "could not resolve property: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* propertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " of: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0    1     1  propertyName  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
              Name  Flags
      propertyName  

  public java.lang.String[] getColumnNames(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String propertyName
         0: .line 77
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnsByPropertyPath:Ljava/util/Map;
            aload 1 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 2 /* cols */
        start local 2 // java.lang.String[] cols
         1: .line 78
            aload 2 /* cols */
            ifnonnull 3
         2: .line 79
            new org.hibernate.MappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown property: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* propertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 81
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 2 /* cols */
            areturn
        end local 2 // java.lang.String[] cols
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0    4     1  propertyName  Ljava/lang/String;
            1    4     2          cols  [Ljava/lang/String;
    MethodParameters:
              Name  Flags
      propertyName  

  public java.lang.String[] toColumns(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String propertyName
         0: .line 86
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnsByPropertyPath:Ljava/util/Map;
            aload 2 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* columns */
        start local 3 // java.lang.String[] columns
         1: .line 87
            aload 3 /* columns */
            ifnonnull 3
         2: .line 88
            aload 0 /* this */
            aload 2 /* propertyName */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.propertyException:(Ljava/lang/String;)Lorg/hibernate/QueryException;
            athrow
         3: .line 90
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.formulaTemplatesByPropertyPath:Ljava/util/Map;
            aload 2 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 4 /* formulaTemplates */
        start local 4 // java.lang.String[] formulaTemplates
         4: .line 91
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnReaderTemplatesByPropertyPath:Ljava/util/Map;
            aload 2 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 5 /* columnReaderTemplates */
        start local 5 // java.lang.String[] columnReaderTemplates
         5: .line 92
            aload 3 /* columns */
            arraylength
            anewarray java.lang.String
            astore 6 /* result */
        start local 6 // java.lang.String[] result
         6: .line 93
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 13
         8: .line 94
      StackMap locals: org.hibernate.persister.entity.AbstractPropertyMapping java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] int
      StackMap stack:
            aload 5 /* columnReaderTemplates */
            iload 7 /* i */
            aaload
            ifnonnull 11
         9: .line 95
            aload 6 /* result */
            iload 7 /* i */
            aload 4 /* formulaTemplates */
            iload 7 /* i */
            aaload
            ldc "$PlaceHolder$"
            aload 1 /* alias */
            invokestatic org.hibernate.internal.util.StringHelper.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
        10: .line 96
            goto 12
        11: .line 98
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            iload 7 /* i */
            aload 5 /* columnReaderTemplates */
            iload 7 /* i */
            aaload
            ldc "$PlaceHolder$"
            aload 1 /* alias */
            invokestatic org.hibernate.internal.util.StringHelper.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
        12: .line 93
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* i */
            aload 3 /* columns */
            arraylength
            if_icmplt 8
        end local 7 // int i
        14: .line 101
            aload 6 /* result */
            areturn
        end local 6 // java.lang.String[] result
        end local 5 // java.lang.String[] columnReaderTemplates
        end local 4 // java.lang.String[] formulaTemplates
        end local 3 // java.lang.String[] columns
        end local 2 // java.lang.String propertyName
        end local 1 // java.lang.String alias
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   15     0                   this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0   15     1                  alias  Ljava/lang/String;
            0   15     2           propertyName  Ljava/lang/String;
            1   15     3                columns  [Ljava/lang/String;
            4   15     4       formulaTemplates  [Ljava/lang/String;
            5   15     5  columnReaderTemplates  [Ljava/lang/String;
            6   15     6                 result  [Ljava/lang/String;
            7   14     7                      i  I
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
              Name  Flags
      alias         
      propertyName  

  public java.lang.String[] toColumns(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String propertyName
         0: .line 105
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnsByPropertyPath:Ljava/util/Map;
            aload 1 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 2 /* columns */
        start local 2 // java.lang.String[] columns
         1: .line 106
            aload 2 /* columns */
            ifnonnull 3
         2: .line 107
            aload 0 /* this */
            aload 1 /* propertyName */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.propertyException:(Ljava/lang/String;)Lorg/hibernate/QueryException;
            athrow
         3: .line 109
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.formulaTemplatesByPropertyPath:Ljava/util/Map;
            aload 1 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* formulaTemplates */
        start local 3 // java.lang.String[] formulaTemplates
         4: .line 110
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnReadersByPropertyPath:Ljava/util/Map;
            aload 1 /* propertyName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 4 /* columnReaders */
        start local 4 // java.lang.String[] columnReaders
         5: .line 111
            aload 2 /* columns */
            arraylength
            anewarray java.lang.String
            astore 5 /* result */
        start local 5 // java.lang.String[] result
         6: .line 112
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 13
         8: .line 113
      StackMap locals: org.hibernate.persister.entity.AbstractPropertyMapping java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] int
      StackMap stack:
            aload 4 /* columnReaders */
            iload 6 /* i */
            aaload
            ifnonnull 11
         9: .line 114
            aload 5 /* result */
            iload 6 /* i */
            aload 3 /* formulaTemplates */
            iload 6 /* i */
            aaload
            ldc "$PlaceHolder$"
            ldc ""
            invokestatic org.hibernate.internal.util.StringHelper.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
        10: .line 115
            goto 12
        11: .line 117
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            iload 6 /* i */
            aload 4 /* columnReaders */
            iload 6 /* i */
            aaload
            aastore
        12: .line 112
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            aload 2 /* columns */
            arraylength
            if_icmplt 8
        end local 6 // int i
        14: .line 120
            aload 5 /* result */
            areturn
        end local 5 // java.lang.String[] result
        end local 4 // java.lang.String[] columnReaders
        end local 3 // java.lang.String[] formulaTemplates
        end local 2 // java.lang.String[] columns
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0   15     1      propertyName  Ljava/lang/String;
            1   15     2           columns  [Ljava/lang/String;
            4   15     3  formulaTemplates  [Ljava/lang/String;
            5   15     4     columnReaders  [Ljava/lang/String;
            6   15     5            result  [Ljava/lang/String;
            7   14     6                 i  I
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
              Name  Flags
      propertyName  

  private void logDuplicateRegistration(java.lang.String, org.hibernate.type.Type, org.hibernate.type.Type);
    descriptor: (Ljava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/type/Type;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String path
        start local 2 // org.hibernate.type.Type existingType
        start local 3 // org.hibernate.type.Type type
         0: .line 124
            getstatic org.hibernate.persister.entity.AbstractPropertyMapping.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            ifeq 7
         1: .line 125
            getstatic org.hibernate.persister.entity.AbstractPropertyMapping.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         2: .line 126
            ldc "Skipping duplicate registration of path [{0}], existing type = [{1}], incoming type = [{2}]"
         3: .line 127
            aload 1 /* path */
         4: .line 128
            aload 2 /* existingType */
         5: .line 129
            aload 3 /* type */
         6: .line 125
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.type.Type type
        end local 2 // org.hibernate.type.Type existingType
        end local 1 // java.lang.String path
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0    8     1          path  Ljava/lang/String;
            0    8     2  existingType  Lorg/hibernate/type/Type;
            0    8     3          type  Lorg/hibernate/type/Type;
    MethodParameters:
              Name  Flags
      path          
      existingType  
      type          

  private void logIncompatibleRegistration(java.lang.String, org.hibernate.type.Type, org.hibernate.type.Type);
    descriptor: (Ljava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/type/Type;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String path
        start local 2 // org.hibernate.type.Type existingType
        start local 3 // org.hibernate.type.Type type
         0: .line 135
            getstatic org.hibernate.persister.entity.AbstractPropertyMapping.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.isTraceEnabled:()Z
            ifeq 8
         1: .line 136
            getstatic org.hibernate.persister.entity.AbstractPropertyMapping.LOG:Lorg/hibernate/internal/CoreMessageLogger;
         2: .line 137
            ldc "Skipped adding attribute [{1}] to base-type [{0}] as more than one sub-type defined the attribute using incompatible types (strictly speaking the attributes are not inherited); existing type = [{2}], incoming type = [{3}]"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 138
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.getEntityName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         4: .line 139
            aload 1 /* path */
            aastore
            dup
            iconst_2
         5: .line 140
            aload 2 /* existingType */
            aastore
            dup
            iconst_3
         6: .line 141
            aload 3 /* type */
            aastore
         7: .line 136
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 144
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.hibernate.type.Type type
        end local 2 // org.hibernate.type.Type existingType
        end local 1 // java.lang.String path
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0    9     1          path  Ljava/lang/String;
            0    9     2  existingType  Lorg/hibernate/type/Type;
            0    9     3          type  Lorg/hibernate/type/Type;
    MethodParameters:
              Name  Flags
      path          
      existingType  
      type          

  protected void addPropertyPath(java.lang.String, org.hibernate.type.Type, java.lang.String[], java.lang.String[], java.lang.String[], java.lang.String[]);
    descriptor: (Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String path
        start local 2 // org.hibernate.type.Type type
        start local 3 // java.lang.String[] columns
        start local 4 // java.lang.String[] columnReaders
        start local 5 // java.lang.String[] columnReaderTemplates
        start local 6 // java.lang.String[] formulaTemplates
         0: .line 159
            aload 0 /* this */
            aload 1 /* path */
            aload 2 /* type */
            aload 3 /* columns */
            aload 4 /* columnReaders */
            aload 5 /* columnReaderTemplates */
            aload 6 /* formulaTemplates */
            aconst_null
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.addPropertyPath:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
         1: .line 160
            return
        end local 6 // java.lang.String[] formulaTemplates
        end local 5 // java.lang.String[] columnReaderTemplates
        end local 4 // java.lang.String[] columnReaders
        end local 3 // java.lang.String[] columns
        end local 2 // org.hibernate.type.Type type
        end local 1 // java.lang.String path
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0    2     1                   path  Ljava/lang/String;
            0    2     2                   type  Lorg/hibernate/type/Type;
            0    2     3                columns  [Ljava/lang/String;
            0    2     4          columnReaders  [Ljava/lang/String;
            0    2     5  columnReaderTemplates  [Ljava/lang/String;
            0    2     6       formulaTemplates  [Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                       Name  Flags
      path                   
      type                   
      columns                
      columnReaders          
      columnReaderTemplates  
      formulaTemplates       

  protected void addPropertyPath(java.lang.String, org.hibernate.type.Type, java.lang.String[], java.lang.String[], java.lang.String[], java.lang.String[], org.hibernate.engine.spi.Mapping);
    descriptor: (Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=13, args_size=8
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String path
        start local 2 // org.hibernate.type.Type type
        start local 3 // java.lang.String[] columns
        start local 4 // java.lang.String[] columnReaders
        start local 5 // java.lang.String[] columnReaderTemplates
        start local 6 // java.lang.String[] formulaTemplates
        start local 7 // org.hibernate.engine.spi.Mapping factory
         0: .line 170
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.typesByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.type.Type
            astore 8 /* existingType */
        start local 8 // org.hibernate.type.Type existingType
         1: .line 171
            aload 8 /* existingType */
            ifnonnull 2
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.duplicateIncompatiblePaths:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 40
         2: .line 173
      StackMap locals: org.hibernate.type.Type
      StackMap stack:
            aload 2 /* type */
            aload 8 /* existingType */
            if_acmpeq 3
            aload 8 /* existingType */
            ifnull 3
            aload 2 /* type */
            instanceof org.hibernate.type.AssociationType
            ifne 5
         3: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* path */
            aload 8 /* existingType */
            aload 2 /* type */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.logDuplicateRegistration:(Ljava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/type/Type;)V
         4: .line 175
            goto 46
         5: .line 176
      StackMap locals:
      StackMap stack:
            aload 8 /* existingType */
            instanceof org.hibernate.type.AssociationType
            ifne 8
         6: .line 178
            aload 0 /* this */
            aload 1 /* path */
            aload 8 /* existingType */
            aload 2 /* type */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.logDuplicateRegistration:(Ljava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/type/Type;)V
         7: .line 179
            goto 46
         8: .line 181
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            instanceof org.hibernate.type.AnyType
            ifeq 9
            aload 8 /* existingType */
            instanceof org.hibernate.type.AnyType
            ifne 46
         9: .line 185
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* commonType */
        start local 9 // org.hibernate.type.Type commonType
        10: .line 186
            aload 7 /* factory */
            checkcast org.hibernate.boot.spi.MetadataImplementor
            astore 10 /* metadata */
        start local 10 // org.hibernate.boot.spi.MetadataImplementor metadata
        11: .line 187
            aload 2 /* type */
            instanceof org.hibernate.type.CollectionType
            ifeq 19
            aload 8 /* existingType */
            instanceof org.hibernate.type.CollectionType
            ifeq 19
        12: .line 188
            aload 10 /* metadata */
            aload 8 /* existingType */
            checkcast org.hibernate.type.CollectionType
            invokevirtual org.hibernate.type.CollectionType.getRole:()Ljava/lang/String;
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getCollectionBinding:(Ljava/lang/String;)Lorg/hibernate/mapping/Collection;
            astore 11 /* thisCollection */
        start local 11 // org.hibernate.mapping.Collection thisCollection
        13: .line 189
            aload 10 /* metadata */
            aload 2 /* type */
            checkcast org.hibernate.type.CollectionType
            invokevirtual org.hibernate.type.CollectionType.getRole:()Ljava/lang/String;
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getCollectionBinding:(Ljava/lang/String;)Lorg/hibernate/mapping/Collection;
            astore 12 /* otherCollection */
        start local 12 // org.hibernate.mapping.Collection otherCollection
        14: .line 191
            aload 11 /* thisCollection */
            aload 12 /* otherCollection */
            invokevirtual org.hibernate.mapping.Collection.isSame:(Lorg/hibernate/mapping/Collection;)Z
            ifeq 17
        15: .line 192
            aload 0 /* this */
            aload 1 /* path */
            aload 8 /* existingType */
            aload 2 /* type */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.logDuplicateRegistration:(Ljava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/type/Type;)V
        16: .line 193
            return
        17: .line 196
      StackMap locals: org.hibernate.persister.entity.AbstractPropertyMapping java.lang.String org.hibernate.type.Type java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] org.hibernate.engine.spi.Mapping org.hibernate.type.Type org.hibernate.type.Type org.hibernate.boot.spi.MetadataImplementor org.hibernate.mapping.Collection org.hibernate.mapping.Collection
      StackMap stack:
            aload 0 /* this */
            aload 1 /* path */
            aload 8 /* existingType */
            aload 2 /* type */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.logIncompatibleRegistration:(Ljava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/type/Type;)V
        end local 12 // org.hibernate.mapping.Collection otherCollection
        end local 11 // org.hibernate.mapping.Collection thisCollection
        18: .line 198
            goto 28
        19: .line 199
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            instanceof org.hibernate.type.EntityType
            ifeq 27
            aload 8 /* existingType */
            instanceof org.hibernate.type.EntityType
            ifeq 27
        20: .line 200
            aload 8 /* existingType */
            checkcast org.hibernate.type.EntityType
            astore 11 /* entityType1 */
        start local 11 // org.hibernate.type.EntityType entityType1
        21: .line 201
            aload 2 /* type */
            checkcast org.hibernate.type.EntityType
            astore 12 /* entityType2 */
        start local 12 // org.hibernate.type.EntityType entityType2
        22: .line 203
            aload 11 /* entityType1 */
            invokevirtual org.hibernate.type.EntityType.getAssociatedEntityName:()Ljava/lang/String;
            aload 12 /* entityType2 */
            invokevirtual org.hibernate.type.EntityType.getAssociatedEntityName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        23: .line 204
            aload 0 /* this */
            aload 1 /* path */
            aload 8 /* existingType */
            aload 2 /* type */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.logDuplicateRegistration:(Ljava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/type/Type;)V
        24: .line 205
            return
        25: .line 208
      StackMap locals: org.hibernate.type.EntityType org.hibernate.type.EntityType
      StackMap stack:
            aload 0 /* this */
            aload 10 /* metadata */
            aload 11 /* entityType1 */
            aload 12 /* entityType2 */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.getCommonType:(Lorg/hibernate/boot/spi/MetadataImplementor;Lorg/hibernate/type/EntityType;Lorg/hibernate/type/EntityType;)Lorg/hibernate/type/Type;
            astore 9 /* commonType */
        end local 12 // org.hibernate.type.EntityType entityType2
        end local 11 // org.hibernate.type.EntityType entityType1
        26: .line 210
            goto 28
        27: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* path */
            aload 8 /* existingType */
            aload 2 /* type */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.logIncompatibleRegistration:(Ljava/lang/String;Lorg/hibernate/type/Type;Lorg/hibernate/type/Type;)V
        28: .line 214
      StackMap locals:
      StackMap stack:
            aload 9 /* commonType */
            ifnonnull 38
        29: .line 215
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.duplicateIncompatiblePaths:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        30: .line 216
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.typesByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 219
            iconst_0
            anewarray java.lang.String
            astore 11 /* empty */
        start local 11 // java.lang.String[] empty
        32: .line 220
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnsByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            aload 11 /* empty */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 221
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnReadersByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            aload 11 /* empty */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 222
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnReaderTemplatesByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            aload 11 /* empty */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 223
            aload 6 /* formulaTemplates */
            ifnull 46
        36: .line 224
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.formulaTemplatesByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            aload 11 /* empty */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // java.lang.String[] empty
        37: .line 226
            goto 46
        38: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.typesByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            aload 9 /* commonType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // org.hibernate.boot.spi.MetadataImplementor metadata
        end local 9 // org.hibernate.type.Type commonType
        39: .line 232
            goto 46
        40: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.typesByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            aload 2 /* type */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        41: .line 235
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnsByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            aload 3 /* columns */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        42: .line 236
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnReadersByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            aload 4 /* columnReaders */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        43: .line 237
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnReaderTemplatesByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            aload 5 /* columnReaderTemplates */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        44: .line 238
            aload 6 /* formulaTemplates */
            ifnull 46
        45: .line 239
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.formulaTemplatesByPropertyPath:Ljava/util/Map;
            aload 1 /* path */
            aload 6 /* formulaTemplates */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 242
      StackMap locals:
      StackMap stack:
            return
        end local 8 // org.hibernate.type.Type existingType
        end local 7 // org.hibernate.engine.spi.Mapping factory
        end local 6 // java.lang.String[] formulaTemplates
        end local 5 // java.lang.String[] columnReaderTemplates
        end local 4 // java.lang.String[] columnReaders
        end local 3 // java.lang.String[] columns
        end local 2 // org.hibernate.type.Type type
        end local 1 // java.lang.String path
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   47     0                   this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0   47     1                   path  Ljava/lang/String;
            0   47     2                   type  Lorg/hibernate/type/Type;
            0   47     3                columns  [Ljava/lang/String;
            0   47     4          columnReaders  [Ljava/lang/String;
            0   47     5  columnReaderTemplates  [Ljava/lang/String;
            0   47     6       formulaTemplates  [Ljava/lang/String;
            0   47     7                factory  Lorg/hibernate/engine/spi/Mapping;
            1   47     8           existingType  Lorg/hibernate/type/Type;
           10   39     9             commonType  Lorg/hibernate/type/Type;
           11   39    10               metadata  Lorg/hibernate/boot/spi/MetadataImplementor;
           13   18    11         thisCollection  Lorg/hibernate/mapping/Collection;
           14   18    12        otherCollection  Lorg/hibernate/mapping/Collection;
           21   26    11            entityType1  Lorg/hibernate/type/EntityType;
           22   26    12            entityType2  Lorg/hibernate/type/EntityType;
           32   37    11                  empty  [Ljava/lang/String;
    MethodParameters:
                       Name  Flags
      path                   
      type                   
      columns                
      columnReaders          
      columnReaderTemplates  
      formulaTemplates       
      factory                

  private org.hibernate.type.Type getCommonType(org.hibernate.boot.spi.MetadataImplementor, org.hibernate.type.EntityType, org.hibernate.type.EntityType);
    descriptor: (Lorg/hibernate/boot/spi/MetadataImplementor;Lorg/hibernate/type/EntityType;Lorg/hibernate/type/EntityType;)Lorg/hibernate/type/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // org.hibernate.boot.spi.MetadataImplementor metadata
        start local 2 // org.hibernate.type.EntityType entityType1
        start local 3 // org.hibernate.type.EntityType entityType2
         0: .line 245
            aload 1 /* metadata */
            aload 2 /* entityType1 */
            invokevirtual org.hibernate.type.EntityType.getAssociatedEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getEntityBinding:(Ljava/lang/String;)Lorg/hibernate/mapping/PersistentClass;
            astore 4 /* thisClass */
        start local 4 // org.hibernate.mapping.PersistentClass thisClass
         1: .line 246
            aload 1 /* metadata */
            aload 3 /* entityType2 */
            invokevirtual org.hibernate.type.EntityType.getAssociatedEntityName:()Ljava/lang/String;
            invokeinterface org.hibernate.boot.spi.MetadataImplementor.getEntityBinding:(Ljava/lang/String;)Lorg/hibernate/mapping/PersistentClass;
            astore 5 /* otherClass */
        start local 5 // org.hibernate.mapping.PersistentClass otherClass
         2: .line 247
            aload 0 /* this */
            aload 4 /* thisClass */
            aload 5 /* otherClass */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.getCommonPersistentClass:(Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/PersistentClass;)Lorg/hibernate/mapping/PersistentClass;
            astore 6 /* commonClass */
        start local 6 // org.hibernate.mapping.PersistentClass commonClass
         3: .line 249
            aload 6 /* commonClass */
            ifnonnull 5
         4: .line 250
            aconst_null
            areturn
         5: .line 254
      StackMap locals: org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass org.hibernate.mapping.PersistentClass
      StackMap stack:
            aload 2 /* entityType1 */
            instanceof org.hibernate.type.ManyToOneType
            ifeq 8
         6: .line 255
            aload 2 /* entityType1 */
            checkcast org.hibernate.type.ManyToOneType
            astore 7 /* t */
        start local 7 // org.hibernate.type.ManyToOneType t
         7: .line 256
            new org.hibernate.type.ManyToOneType
            dup
            aload 7 /* t */
            aload 6 /* commonClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokespecial org.hibernate.type.ManyToOneType.<init>:(Lorg/hibernate/type/ManyToOneType;Ljava/lang/String;)V
            areturn
        end local 7 // org.hibernate.type.ManyToOneType t
         8: .line 258
      StackMap locals:
      StackMap stack:
            aload 2 /* entityType1 */
            instanceof org.hibernate.type.SpecialOneToOneType
            ifeq 11
         9: .line 259
            aload 2 /* entityType1 */
            checkcast org.hibernate.type.SpecialOneToOneType
            astore 7 /* t */
        start local 7 // org.hibernate.type.SpecialOneToOneType t
        10: .line 260
            new org.hibernate.type.SpecialOneToOneType
            dup
            aload 7 /* t */
            aload 6 /* commonClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokespecial org.hibernate.type.SpecialOneToOneType.<init>:(Lorg/hibernate/type/SpecialOneToOneType;Ljava/lang/String;)V
            areturn
        end local 7 // org.hibernate.type.SpecialOneToOneType t
        11: .line 262
      StackMap locals:
      StackMap stack:
            aload 2 /* entityType1 */
            instanceof org.hibernate.type.OneToOneType
            ifeq 14
        12: .line 263
            aload 2 /* entityType1 */
            checkcast org.hibernate.type.OneToOneType
            astore 7 /* t */
        start local 7 // org.hibernate.type.OneToOneType t
        13: .line 264
            new org.hibernate.type.OneToOneType
            dup
            aload 7 /* t */
            aload 6 /* commonClass */
            invokevirtual org.hibernate.mapping.PersistentClass.getEntityName:()Ljava/lang/String;
            invokespecial org.hibernate.type.OneToOneType.<init>:(Lorg/hibernate/type/OneToOneType;Ljava/lang/String;)V
            areturn
        end local 7 // org.hibernate.type.OneToOneType t
        14: .line 267
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected entity type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* entityType1 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // org.hibernate.mapping.PersistentClass commonClass
        end local 5 // org.hibernate.mapping.PersistentClass otherClass
        end local 4 // org.hibernate.mapping.PersistentClass thisClass
        end local 3 // org.hibernate.type.EntityType entityType2
        end local 2 // org.hibernate.type.EntityType entityType1
        end local 1 // org.hibernate.boot.spi.MetadataImplementor metadata
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0   15     1     metadata  Lorg/hibernate/boot/spi/MetadataImplementor;
            0   15     2  entityType1  Lorg/hibernate/type/EntityType;
            0   15     3  entityType2  Lorg/hibernate/type/EntityType;
            1   15     4    thisClass  Lorg/hibernate/mapping/PersistentClass;
            2   15     5   otherClass  Lorg/hibernate/mapping/PersistentClass;
            3   15     6  commonClass  Lorg/hibernate/mapping/PersistentClass;
            7    8     7            t  Lorg/hibernate/type/ManyToOneType;
           10   11     7            t  Lorg/hibernate/type/SpecialOneToOneType;
           13   14     7            t  Lorg/hibernate/type/OneToOneType;
    MethodParameters:
             Name  Flags
      metadata     
      entityType1  
      entityType2  

  private org.hibernate.mapping.PersistentClass getCommonPersistentClass(org.hibernate.mapping.PersistentClass, org.hibernate.mapping.PersistentClass);
    descriptor: (Lorg/hibernate/mapping/PersistentClass;Lorg/hibernate/mapping/PersistentClass;)Lorg/hibernate/mapping/PersistentClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // org.hibernate.mapping.PersistentClass clazz1
        start local 2 // org.hibernate.mapping.PersistentClass clazz2
         0: .line 272
            goto 2
         1: .line 274
      StackMap locals:
      StackMap stack:
            aload 2 /* clazz2 */
            invokevirtual org.hibernate.mapping.PersistentClass.getSuperclass:()Lorg/hibernate/mapping/PersistentClass;
            astore 2 /* clazz2 */
         2: .line 272
      StackMap locals:
      StackMap stack:
            aload 2 /* clazz2 */
            ifnull 4
            aload 2 /* clazz2 */
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
            ifnull 4
            aload 1 /* clazz1 */
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
            ifnull 4
            aload 2 /* clazz2 */
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
         3: .line 273
            aload 1 /* clazz1 */
            invokevirtual org.hibernate.mapping.PersistentClass.getMappedClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 1
         4: .line 276
      StackMap locals:
      StackMap stack:
            aload 2 /* clazz2 */
            areturn
        end local 2 // org.hibernate.mapping.PersistentClass clazz2
        end local 1 // org.hibernate.mapping.PersistentClass clazz1
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0    5     1  clazz1  Lorg/hibernate/mapping/PersistentClass;
            0    5     2  clazz2  Lorg/hibernate/mapping/PersistentClass;
    MethodParameters:
        Name  Flags
      clazz1  
      clazz2  

  protected void initPropertyPaths(java.lang.String, org.hibernate.type.Type, java.lang.String[], java.lang.String[], java.lang.String[], java.lang.String[], org.hibernate.engine.spi.Mapping);
    descriptor: (Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=10, args_size=8
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String path
        start local 2 // org.hibernate.type.Type type
        start local 3 // java.lang.String[] columns
        start local 4 // java.lang.String[] columnReaders
        start local 5 // java.lang.String[] columnReaderTemplates
        start local 6 // java.lang.String[] formulaTemplates
        start local 7 // org.hibernate.engine.spi.Mapping factory
         0: .line 298
            getstatic org.hibernate.persister.entity.AbstractPropertyMapping.$assertionsDisabled:Z
            ifne 1
            aload 3 /* columns */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Incoming columns should not be null : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 299
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.persister.entity.AbstractPropertyMapping.$assertionsDisabled:Z
            ifne 2
            aload 2 /* type */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Incoming type should not be null : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 301
      StackMap locals:
      StackMap stack:
            aload 3 /* columns */
            arraylength
            aload 2 /* type */
            aload 7 /* factory */
            invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
            if_icmpeq 8
         3: .line 302
            new org.hibernate.MappingException
            dup
         4: .line 303
            new java.lang.StringBuilder
            dup
            ldc "broken column mapping for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 304
            ldc " of: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 303
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 302
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 308
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokeinterface org.hibernate.type.Type.isAssociationType:()Z
            ifeq 22
         9: .line 309
            aload 2 /* type */
            checkcast org.hibernate.type.AssociationType
            astore 8 /* actype */
        start local 8 // org.hibernate.type.AssociationType actype
        10: .line 310
            aload 8 /* actype */
            invokeinterface org.hibernate.type.AssociationType.useLHSPrimaryKey:()Z
            ifeq 15
        11: .line 311
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.getIdentifierColumnNames:()[Ljava/lang/String;
            astore 3 /* columns */
        12: .line 312
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.getIdentifierColumnReaders:()[Ljava/lang/String;
            astore 4 /* columnReaders */
        13: .line 313
            aload 0 /* this */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.getIdentifierColumnReaderTemplates:()[Ljava/lang/String;
            astore 5 /* columnReaderTemplates */
        14: .line 314
            goto 22
        15: .line 316
      StackMap locals: org.hibernate.type.AssociationType
      StackMap stack:
            aload 8 /* actype */
            invokeinterface org.hibernate.type.AssociationType.getLHSPropertyName:()Ljava/lang/String;
            astore 9 /* foreignKeyProperty */
        start local 9 // java.lang.String foreignKeyProperty
        16: .line 317
            aload 9 /* foreignKeyProperty */
            ifnull 22
            aload 1 /* path */
            aload 9 /* foreignKeyProperty */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
        17: .line 320
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnsByPropertyPath:Ljava/util/Map;
            aload 9 /* foreignKeyProperty */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* columns */
        18: .line 321
            aload 3 /* columns */
            ifnonnull 20
        19: .line 322
            return
        20: .line 324
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnReadersByPropertyPath:Ljava/util/Map;
            aload 9 /* foreignKeyProperty */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 4 /* columnReaders */
        21: .line 325
            aload 0 /* this */
            getfield org.hibernate.persister.entity.AbstractPropertyMapping.columnReaderTemplatesByPropertyPath:Ljava/util/Map;
            aload 9 /* foreignKeyProperty */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 5 /* columnReaderTemplates */
        end local 9 // java.lang.String foreignKeyProperty
        end local 8 // org.hibernate.type.AssociationType actype
        22: .line 330
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            ifnull 24
        23: .line 331
            aload 0 /* this */
            aload 1 /* path */
            aload 2 /* type */
            aload 3 /* columns */
            aload 4 /* columnReaders */
            aload 5 /* columnReaderTemplates */
            aload 6 /* formulaTemplates */
            aload 7 /* factory */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.addPropertyPath:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
        24: .line 334
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokeinterface org.hibernate.type.Type.isComponentType:()Z
            ifeq 47
        25: .line 335
            aload 2 /* type */
            checkcast org.hibernate.type.CompositeType
            astore 8 /* actype */
        start local 8 // org.hibernate.type.CompositeType actype
        26: .line 336
            aload 0 /* this */
        27: .line 337
            aload 1 /* path */
        28: .line 338
            aload 8 /* actype */
        29: .line 339
            aload 3 /* columns */
        30: .line 340
            aload 4 /* columnReaders */
        31: .line 341
            aload 5 /* columnReaderTemplates */
        32: .line 342
            aload 6 /* formulaTemplates */
        33: .line 343
            aload 7 /* factory */
        34: .line 336
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.initComponentPropertyPaths:(Ljava/lang/String;Lorg/hibernate/type/CompositeType;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
        35: .line 345
            aload 8 /* actype */
            invokeinterface org.hibernate.type.CompositeType.isEmbedded:()Z
            ifeq 56
        36: .line 346
            aload 0 /* this */
        37: .line 347
            aload 1 /* path */
            ifnonnull 38
            aconst_null
            goto 39
      StackMap locals: org.hibernate.persister.entity.AbstractPropertyMapping java.lang.String org.hibernate.type.Type java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] org.hibernate.engine.spi.Mapping org.hibernate.type.CompositeType
      StackMap stack: org.hibernate.persister.entity.AbstractPropertyMapping
        38: aload 1 /* path */
            invokestatic org.hibernate.internal.util.StringHelper.qualifier:(Ljava/lang/String;)Ljava/lang/String;
        39: .line 348
      StackMap locals: org.hibernate.persister.entity.AbstractPropertyMapping java.lang.String org.hibernate.type.Type java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] org.hibernate.engine.spi.Mapping org.hibernate.type.CompositeType
      StackMap stack: org.hibernate.persister.entity.AbstractPropertyMapping java.lang.String
            aload 8 /* actype */
        40: .line 349
            aload 3 /* columns */
        41: .line 350
            aload 4 /* columnReaders */
        42: .line 351
            aload 5 /* columnReaderTemplates */
        43: .line 352
            aload 6 /* formulaTemplates */
        44: .line 353
            aload 7 /* factory */
        45: .line 346
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.initComponentPropertyPaths:(Ljava/lang/String;Lorg/hibernate/type/CompositeType;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
        end local 8 // org.hibernate.type.CompositeType actype
        46: .line 356
            goto 56
        47: .line 357
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokeinterface org.hibernate.type.Type.isEntityType:()Z
            ifeq 56
        48: .line 358
            aload 0 /* this */
        49: .line 359
            aload 1 /* path */
        50: .line 360
            aload 2 /* type */
            checkcast org.hibernate.type.EntityType
        51: .line 361
            aload 3 /* columns */
        52: .line 362
            aload 4 /* columnReaders */
        53: .line 363
            aload 5 /* columnReaderTemplates */
        54: .line 364
            aload 7 /* factory */
        55: .line 358
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.initIdentifierPropertyPaths:(Ljava/lang/String;Lorg/hibernate/type/EntityType;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
        56: .line 367
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.hibernate.engine.spi.Mapping factory
        end local 6 // java.lang.String[] formulaTemplates
        end local 5 // java.lang.String[] columnReaderTemplates
        end local 4 // java.lang.String[] columnReaders
        end local 3 // java.lang.String[] columns
        end local 2 // org.hibernate.type.Type type
        end local 1 // java.lang.String path
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   57     0                   this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0   57     1                   path  Ljava/lang/String;
            0   57     2                   type  Lorg/hibernate/type/Type;
            0   57     3                columns  [Ljava/lang/String;
            0   57     4          columnReaders  [Ljava/lang/String;
            0   57     5  columnReaderTemplates  [Ljava/lang/String;
            0   57     6       formulaTemplates  [Ljava/lang/String;
            0   57     7                factory  Lorg/hibernate/engine/spi/Mapping;
           10   22     8                 actype  Lorg/hibernate/type/AssociationType;
           16   22     9     foreignKeyProperty  Ljava/lang/String;
           26   46     8                 actype  Lorg/hibernate/type/CompositeType;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                       Name  Flags
      path                   final
      type                   final
      columns                
      columnReaders          
      columnReaderTemplates  
      formulaTemplates       final
      factory                final

  protected void initIdentifierPropertyPaths(java.lang.String, org.hibernate.type.EntityType, java.lang.String[], java.lang.String[], java.lang.String[], org.hibernate.engine.spi.Mapping);
    descriptor: (Ljava/lang/String;Lorg/hibernate/type/EntityType;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=11, args_size=7
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String path
        start local 2 // org.hibernate.type.EntityType etype
        start local 3 // java.lang.String[] columns
        start local 4 // java.lang.String[] columnReaders
        start local 5 // java.lang.String[] columnReaderTemplates
        start local 6 // org.hibernate.engine.spi.Mapping factory
         0: .line 377
            aload 2 /* etype */
            aload 6 /* factory */
            invokevirtual org.hibernate.type.EntityType.getIdentifierOrUniqueKeyType:(Lorg/hibernate/engine/spi/Mapping;)Lorg/hibernate/type/Type;
            astore 7 /* idtype */
        start local 7 // org.hibernate.type.Type idtype
         1: .line 378
            aload 2 /* etype */
            aload 6 /* factory */
            invokevirtual org.hibernate.type.EntityType.getIdentifierOrUniqueKeyPropertyName:(Lorg/hibernate/engine/spi/Mapping;)Ljava/lang/String;
            astore 8 /* idPropName */
        start local 8 // java.lang.String idPropName
         2: .line 379
            aload 0 /* this */
            aload 2 /* etype */
            aload 6 /* factory */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.hasNonIdentifierPropertyNamedId:(Lorg/hibernate/type/EntityType;Lorg/hibernate/engine/spi/Mapping;)Z
            istore 9 /* hasNonIdentifierPropertyNamedId */
        start local 9 // boolean hasNonIdentifierPropertyNamedId
         3: .line 381
            aload 2 /* etype */
            invokevirtual org.hibernate.type.EntityType.isReferenceToPrimaryKey:()Z
            ifeq 8
         4: .line 382
            iload 9 /* hasNonIdentifierPropertyNamedId */
            ifne 8
         5: .line 383
            aload 1 /* path */
            ldc "id"
            invokestatic org.hibernate.persister.entity.AbstractPropertyMapping.extendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* idpath1 */
        start local 10 // java.lang.String idpath1
         6: .line 384
            aload 0 /* this */
            aload 10 /* idpath1 */
            aload 7 /* idtype */
            aload 3 /* columns */
            aload 4 /* columnReaders */
            aload 5 /* columnReaderTemplates */
            aconst_null
            aload 6 /* factory */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.addPropertyPath:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
         7: .line 385
            aload 0 /* this */
            aload 10 /* idpath1 */
            aload 7 /* idtype */
            aload 3 /* columns */
            aload 4 /* columnReaders */
            aload 5 /* columnReaderTemplates */
            aconst_null
            aload 6 /* factory */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.initPropertyPaths:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
        end local 10 // java.lang.String idpath1
         8: .line 389
      StackMap locals: org.hibernate.type.Type java.lang.String int
      StackMap stack:
            aload 8 /* idPropName */
            ifnull 12
         9: .line 390
            aload 1 /* path */
            aload 8 /* idPropName */
            invokestatic org.hibernate.persister.entity.AbstractPropertyMapping.extendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* idpath2 */
        start local 10 // java.lang.String idpath2
        10: .line 391
            aload 0 /* this */
            aload 10 /* idpath2 */
            aload 7 /* idtype */
            aload 3 /* columns */
            aload 4 /* columnReaders */
            aload 5 /* columnReaderTemplates */
            aconst_null
            aload 6 /* factory */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.addPropertyPath:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
        11: .line 392
            aload 0 /* this */
            aload 10 /* idpath2 */
            aload 7 /* idtype */
            aload 3 /* columns */
            aload 4 /* columnReaders */
            aload 5 /* columnReaderTemplates */
            aconst_null
            aload 6 /* factory */
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.initPropertyPaths:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
        end local 10 // java.lang.String idpath2
        12: .line 394
      StackMap locals:
      StackMap stack:
            return
        end local 9 // boolean hasNonIdentifierPropertyNamedId
        end local 8 // java.lang.String idPropName
        end local 7 // org.hibernate.type.Type idtype
        end local 6 // org.hibernate.engine.spi.Mapping factory
        end local 5 // java.lang.String[] columnReaderTemplates
        end local 4 // java.lang.String[] columnReaders
        end local 3 // java.lang.String[] columns
        end local 2 // org.hibernate.type.EntityType etype
        end local 1 // java.lang.String path
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0   13     0                             this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0   13     1                             path  Ljava/lang/String;
            0   13     2                            etype  Lorg/hibernate/type/EntityType;
            0   13     3                          columns  [Ljava/lang/String;
            0   13     4                    columnReaders  [Ljava/lang/String;
            0   13     5            columnReaderTemplates  [Ljava/lang/String;
            0   13     6                          factory  Lorg/hibernate/engine/spi/Mapping;
            1   13     7                           idtype  Lorg/hibernate/type/Type;
            2   13     8                       idPropName  Ljava/lang/String;
            3   13     9  hasNonIdentifierPropertyNamedId  Z
            6    8    10                          idpath1  Ljava/lang/String;
           10   12    10                          idpath2  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                       Name  Flags
      path                   final
      etype                  final
      columns                final
      columnReaders          final
      columnReaderTemplates  final
      factory                final

  private boolean hasNonIdentifierPropertyNamedId(org.hibernate.type.EntityType, org.hibernate.engine.spi.Mapping);
    descriptor: (Lorg/hibernate/type/EntityType;Lorg/hibernate/engine/spi/Mapping;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // org.hibernate.type.EntityType entityType
        start local 2 // org.hibernate.engine.spi.Mapping factory
         0: .line 401
            aload 2 /* factory */
         1: .line 402
            aload 1 /* entityType */
            invokevirtual org.hibernate.type.EntityType.getAssociatedEntityName:()Ljava/lang/String;
         2: .line 403
            ldc "id"
         3: .line 401
            invokeinterface org.hibernate.engine.spi.Mapping.getReferencedPropertyType:(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/type/Type;
            ifnull 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
         5: ireturn
         6: .line 406
      StackMap locals:
      StackMap stack: org.hibernate.MappingException
            pop
         7: .line 407
            iconst_0
            ireturn
        end local 2 // org.hibernate.engine.spi.Mapping factory
        end local 1 // org.hibernate.type.EntityType entityType
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0    8     1  entityType  Lorg/hibernate/type/EntityType;
            0    8     2     factory  Lorg/hibernate/engine/spi/Mapping;
      Exception table:
        from    to  target  type
           0     5       6  Class org.hibernate.MappingException
    MethodParameters:
            Name  Flags
      entityType  final
      factory     final

  protected void initComponentPropertyPaths(java.lang.String, org.hibernate.type.CompositeType, java.lang.String[], java.lang.String[], java.lang.String[], java.lang.String[], org.hibernate.engine.spi.Mapping);
    descriptor: (Ljava/lang/String;Lorg/hibernate/type/CompositeType;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=18, args_size=8
        start local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
        start local 1 // java.lang.String path
        start local 2 // org.hibernate.type.CompositeType type
        start local 3 // java.lang.String[] columns
        start local 4 // java.lang.String[] columnReaders
        start local 5 // java.lang.String[] columnReaderTemplates
        start local 6 // java.lang.String[] formulaTemplates
        start local 7 // org.hibernate.engine.spi.Mapping factory
         0: .line 419
            aload 2 /* type */
            invokeinterface org.hibernate.type.CompositeType.getSubtypes:()[Lorg/hibernate/type/Type;
            astore 8 /* types */
        start local 8 // org.hibernate.type.Type[] types
         1: .line 420
            aload 2 /* type */
            invokeinterface org.hibernate.type.CompositeType.getPropertyNames:()[Ljava/lang/String;
            astore 9 /* properties */
        start local 9 // java.lang.String[] properties
         2: .line 421
            iconst_0
            istore 10 /* begin */
        start local 10 // int begin
         3: .line 422
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         4: goto 28
         5: .line 423
      StackMap locals: org.hibernate.persister.entity.AbstractPropertyMapping java.lang.String org.hibernate.type.CompositeType java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] org.hibernate.engine.spi.Mapping org.hibernate.type.Type[] java.lang.String[] int int
      StackMap stack:
            aload 1 /* path */
            aload 9 /* properties */
            iload 11 /* i */
            aaload
            invokestatic org.hibernate.persister.entity.AbstractPropertyMapping.extendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* subpath */
        start local 12 // java.lang.String subpath
         6: .line 425
            aload 8 /* types */
            iload 11 /* i */
            aaload
            aload 7 /* factory */
            invokeinterface org.hibernate.type.Type.getColumnSpan:(Lorg/hibernate/engine/spi/Mapping;)I
            istore 13 /* length */
        start local 13 // int length
         7: .line 426
            aload 3 /* columns */
            iload 10 /* begin */
            iload 13 /* length */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.slice:([Ljava/lang/String;II)[Ljava/lang/String;
            astore 14 /* columnSlice */
        start local 14 // java.lang.String[] columnSlice
         8: .line 427
            aload 4 /* columnReaders */
            iload 10 /* begin */
            iload 13 /* length */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.slice:([Ljava/lang/String;II)[Ljava/lang/String;
            astore 15 /* columnReaderSlice */
        start local 15 // java.lang.String[] columnReaderSlice
         9: .line 428
            aload 5 /* columnReaderTemplates */
            iload 10 /* begin */
            iload 13 /* length */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.slice:([Ljava/lang/String;II)[Ljava/lang/String;
            astore 16 /* columnReaderTemplateSlice */
        start local 16 // java.lang.String[] columnReaderTemplateSlice
        10: .line 429
            aload 6 /* formulaTemplates */
            ifnonnull 12
        11: .line 430
            aconst_null
            goto 13
      StackMap locals: org.hibernate.persister.entity.AbstractPropertyMapping java.lang.String org.hibernate.type.CompositeType java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] org.hibernate.engine.spi.Mapping org.hibernate.type.Type[] java.lang.String[] int int java.lang.String int java.lang.String[] java.lang.String[] java.lang.String[]
      StackMap stack:
        12: aload 6 /* formulaTemplates */
            iload 10 /* begin */
            iload 13 /* length */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.slice:([Ljava/lang/String;II)[Ljava/lang/String;
        13: .line 429
      StackMap locals:
      StackMap stack: java.lang.String[]
            astore 17 /* formulaSlice */
        start local 17 // java.lang.String[] formulaSlice
        14: .line 431
            aload 0 /* this */
        15: .line 432
            aload 12 /* subpath */
        16: .line 433
            aload 8 /* types */
            iload 11 /* i */
            aaload
        17: .line 434
            aload 14 /* columnSlice */
        18: .line 435
            aload 15 /* columnReaderSlice */
        19: .line 436
            aload 16 /* columnReaderTemplateSlice */
        20: .line 437
            aload 17 /* formulaSlice */
        21: .line 438
            aload 7 /* factory */
        22: .line 431
            invokevirtual org.hibernate.persister.entity.AbstractPropertyMapping.initPropertyPaths:(Ljava/lang/String;Lorg/hibernate/type/Type;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Lorg/hibernate/engine/spi/Mapping;)V
        23: .line 440
            iload 10 /* begin */
            iload 13 /* length */
            iadd
            istore 10 /* begin */
        end local 17 // java.lang.String[] formulaSlice
        end local 16 // java.lang.String[] columnReaderTemplateSlice
        end local 15 // java.lang.String[] columnReaderSlice
        end local 14 // java.lang.String[] columnSlice
        end local 13 // int length
        24: .line 441
            goto 27
        25: .line 442
      StackMap locals: org.hibernate.persister.entity.AbstractPropertyMapping java.lang.String org.hibernate.type.CompositeType java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] org.hibernate.engine.spi.Mapping org.hibernate.type.Type[] java.lang.String[] int int java.lang.String
      StackMap stack: java.lang.Exception
            astore 13 /* e */
        start local 13 // java.lang.Exception e
        26: .line 443
            new org.hibernate.MappingException
            dup
            ldc "bug in initComponentPropertyPaths"
            aload 13 /* e */
            invokespecial org.hibernate.MappingException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.lang.Exception e
        end local 12 // java.lang.String subpath
        27: .line 422
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 11 /* i */
            aload 9 /* properties */
            arraylength
            if_icmplt 5
        end local 11 // int i
        29: .line 446
            return
        end local 10 // int begin
        end local 9 // java.lang.String[] properties
        end local 8 // org.hibernate.type.Type[] types
        end local 7 // org.hibernate.engine.spi.Mapping factory
        end local 6 // java.lang.String[] formulaTemplates
        end local 5 // java.lang.String[] columnReaderTemplates
        end local 4 // java.lang.String[] columnReaders
        end local 3 // java.lang.String[] columns
        end local 2 // org.hibernate.type.CompositeType type
        end local 1 // java.lang.String path
        end local 0 // org.hibernate.persister.entity.AbstractPropertyMapping this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   30     0                       this  Lorg/hibernate/persister/entity/AbstractPropertyMapping;
            0   30     1                       path  Ljava/lang/String;
            0   30     2                       type  Lorg/hibernate/type/CompositeType;
            0   30     3                    columns  [Ljava/lang/String;
            0   30     4              columnReaders  [Ljava/lang/String;
            0   30     5      columnReaderTemplates  [Ljava/lang/String;
            0   30     6           formulaTemplates  [Ljava/lang/String;
            0   30     7                    factory  Lorg/hibernate/engine/spi/Mapping;
            1   30     8                      types  [Lorg/hibernate/type/Type;
            2   30     9                 properties  [Ljava/lang/String;
            3   30    10                      begin  I
            4   29    11                          i  I
            6   27    12                    subpath  Ljava/lang/String;
            7   24    13                     length  I
            8   24    14                columnSlice  [Ljava/lang/String;
            9   24    15          columnReaderSlice  [Ljava/lang/String;
           10   24    16  columnReaderTemplateSlice  [Ljava/lang/String;
           14   24    17               formulaSlice  [Ljava/lang/String;
           26   27    13                          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           6    24      25  Class java.lang.Exception
    Exceptions:
      throws org.hibernate.MappingException
    MethodParameters:
                       Name  Flags
      path                   final
      type                   final
      columns                final
      columnReaders          final
      columnReaderTemplates  final
      formulaTemplates       
      factory                final

  private static java.lang.String extendPath(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String path
        start local 1 // java.lang.String property
         0: .line 449
            aload 0 /* path */
            invokestatic org.hibernate.internal.util.StringHelper.isEmpty:(Ljava/lang/String;)Z
            ifeq 1
            aload 1 /* property */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* path */
            aload 1 /* property */
            invokestatic org.hibernate.internal.util.StringHelper.qualify:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // java.lang.String property
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      path  Ljava/lang/String;
            0    3     1  property  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      path      
      property  
}
SourceFile: "AbstractPropertyMapping.java"