public class io.ebeaninternal.server.deploy.parse.DeployCreateProperties
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.ebeaninternal.server.deploy.parse.DeployCreateProperties
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final io.ebeaninternal.server.deploy.DetermineManyType determineManyType;
    descriptor: Lio/ebeaninternal/server/deploy/DetermineManyType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebeaninternal.server.type.TypeManager typeManager;
    descriptor: Lio/ebeaninternal/server/type/TypeManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 40
            ldc Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic io.ebeaninternal.server.deploy.parse.DeployCreateProperties.logger:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.ebeaninternal.server.type.TypeManager);
    descriptor: (Lio/ebeaninternal/server/type/TypeManager;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
        start local 1 // io.ebeaninternal.server.type.TypeManager typeManager
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            aload 1 /* typeManager */
            putfield io.ebeaninternal.server.deploy.parse.DeployCreateProperties.typeManager:Lio/ebeaninternal/server/type/TypeManager;
         2: .line 48
            aload 0 /* this */
            new io.ebeaninternal.server.deploy.DetermineManyType
            dup
            invokespecial io.ebeaninternal.server.deploy.DetermineManyType.<init>:()V
            putfield io.ebeaninternal.server.deploy.parse.DeployCreateProperties.determineManyType:Lio/ebeaninternal/server/deploy/DetermineManyType;
         3: .line 49
            return
        end local 1 // io.ebeaninternal.server.type.TypeManager typeManager
        end local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            0    4     1  typeManager  Lio/ebeaninternal/server/type/TypeManager;
    MethodParameters:
             Name  Flags
      typeManager  

  public void createProperties(io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor<?>);
    descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor desc
         0: .line 55
            aload 0 /* this */
            aload 1 /* desc */
            aload 1 /* desc */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor.getBeanType:()Ljava/lang/Class;
            iconst_0
            invokevirtual io.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProperties:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;I)V
         1: .line 56
            aload 1 /* desc */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor.sortProperties:()V
         2: .line 57
            return
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor desc
        end local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            0    3     1  desc  Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;
    Signature: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;)V
    MethodParameters:
      Name  Flags
      desc  

  private boolean ignoreFieldByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
        start local 1 // java.lang.String fieldName
         0: .line 66
            aload 1 /* fieldName */
            ldc "_ebean_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 68
            iconst_1
            ireturn
         2: .line 71
      StackMap locals:
      StackMap stack:
            aload 1 /* fieldName */
            ldc "ajc$instance$"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String fieldName
        end local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            0    3     1  fieldName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      fieldName  

  private boolean ignoreField(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
        start local 1 // java.lang.reflect.Field field
         0: .line 75
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifne 4
         1: .line 76
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isTransient:(I)Z
            ifne 4
         2: .line 77
            aload 0 /* this */
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.deploy.parse.DeployCreateProperties.ignoreFieldByName:(Ljava/lang/String;)Z
            ifne 4
         3: .line 75
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 1 // java.lang.reflect.Field field
        end local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            0    5     1  field  Ljava/lang/reflect/Field;
    MethodParameters:
       Name  Flags
      field  

  private void createProperties(io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor<?>, java.lang.Class<?>, );
    descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor desc
        start local 2 // java.lang.Class beanType
        start local 3 // int level
         0: .line 86
            aload 2 /* beanType */
            ldc Lio/ebean/Model;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 88
            return
         2: .line 92
      StackMap locals:
      StackMap stack:
            aload 2 /* beanType */
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            astore 4 /* fields */
        start local 4 // java.lang.reflect.Field[] fields
         3: .line 94
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 17
         5: .line 95
      StackMap locals: java.lang.reflect.Field[] int
      StackMap stack:
            aload 4 /* fields */
            iload 5 /* i */
            aaload
            astore 6 /* field */
        start local 6 // java.lang.reflect.Field field
         6: .line 96
            aload 0 /* this */
            aload 6 /* field */
            invokevirtual io.ebeaninternal.server.deploy.parse.DeployCreateProperties.ignoreField:(Ljava/lang/reflect/Field;)Z
            ifne 16
         7: .line 97
            aload 0 /* this */
            aload 1 /* desc */
            aload 6 /* field */
            aload 2 /* beanType */
            invokevirtual io.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProp:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/reflect/Field;Ljava/lang/Class;)Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
            astore 7 /* prop */
        start local 7 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty prop
         8: .line 98
            aload 7 /* prop */
            ifnull 16
         9: .line 101
            aload 7 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.getSortOverride:()I
            istore 8 /* sortOverride */
        start local 8 // int sortOverride
        10: .line 102
            aload 7 /* prop */
            iload 3 /* level */
            sipush 10000
            imul
            bipush 100
            iadd
            iload 5 /* i */
            isub
            iload 8 /* sortOverride */
            iadd
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.setSortOrder:(I)V
        11: .line 104
            aload 1 /* desc */
            aload 7 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor.addBeanProperty:(Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;)Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
            astore 9 /* replaced */
        start local 9 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty replaced
        12: .line 105
            aload 9 /* replaced */
            ifnull 16
            aload 9 /* replaced */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.isTransient:()Z
            ifne 16
        13: .line 106
            new java.lang.StringBuilder
            dup
            ldc "Huh??? property "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.getFullBeanName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " being defined twice"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* msg */
        start local 10 // java.lang.String msg
        14: .line 107
            new java.lang.StringBuilder
            dup
            aload 10 /* msg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " but replaced property was not transient? This is not expected?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* msg */
        15: .line 108
            getstatic io.ebeaninternal.server.deploy.parse.DeployCreateProperties.logger:Lorg/slf4j/Logger;
            aload 10 /* msg */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
        end local 10 // java.lang.String msg
        end local 9 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty replaced
        end local 8 // int sortOverride
        end local 7 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty prop
        end local 6 // java.lang.reflect.Field field
        16: .line 94
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            aload 4 /* fields */
            arraylength
            if_icmplt 5
        end local 5 // int i
        18: .line 114
            aload 2 /* beanType */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 5 /* superClass */
        start local 5 // java.lang.Class superClass
        19: .line 116
            aload 5 /* superClass */
            ldc Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 26
        20: .line 119
            aload 0 /* this */
            aload 1 /* desc */
            aload 5 /* superClass */
            iload 3 /* level */
            iconst_1
            iadd
            invokevirtual io.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProperties:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;I)V
        end local 5 // java.lang.Class superClass
        end local 4 // java.lang.reflect.Field[] fields
        21: .line 122
            goto 26
      StackMap locals: io.ebeaninternal.server.deploy.parse.DeployCreateProperties io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor java.lang.Class int
      StackMap stack: javax.persistence.PersistenceException
        22: astore 4 /* ex */
        start local 4 // javax.persistence.PersistenceException ex
        23: .line 123
            aload 4 /* ex */
            athrow
        end local 4 // javax.persistence.PersistenceException ex
        24: .line 125
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* ex */
        start local 4 // java.lang.Exception ex
        25: .line 126
            new javax.persistence.PersistenceException
            dup
            aload 4 /* ex */
            invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception ex
        26: .line 128
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int level
        end local 2 // java.lang.Class beanType
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor desc
        end local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0          this  Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            0   27     1          desc  Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;
            0   27     2      beanType  Ljava/lang/Class<*>;
            0   27     3         level  I
            3   21     4        fields  [Ljava/lang/reflect/Field;
            4   18     5             i  I
            6   16     6         field  Ljava/lang/reflect/Field;
            8   16     7          prop  Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
           10   16     8  sortOverride  I
           12   16     9      replaced  Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
           14   16    10           msg  Ljava/lang/String;
           19   21     5    superClass  Ljava/lang/Class<*>;
           23   24     4            ex  Ljavax/persistence/PersistenceException;
           25   26     4            ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2    21      22  Class javax.persistence.PersistenceException
           2    21      24  Class java.lang.Exception
    Signature: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;Ljava/lang/Class<*>;I)V
    MethodParameters:
          Name  Flags
      desc      
      beanType  
      level     

  private io.ebeaninternal.server.deploy.meta.DeployBeanProperty createManyType(io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor<?>, java.lang.Class<?>, io.ebeaninternal.server.deploy.ManyType);
    descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;Lio/ebeaninternal/server/deploy/ManyType;)Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor desc
        start local 2 // java.lang.Class targetType
        start local 3 // io.ebeaninternal.server.deploy.ManyType manyType
         0: .line 134
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.parse.DeployCreateProperties.typeManager:Lio/ebeaninternal/server/type/TypeManager;
            aload 2 /* targetType */
            invokeinterface io.ebeaninternal.server.type.TypeManager.getScalarType:(Ljava/lang/Class;)Lio/ebean/core/type/ScalarType;
            astore 4 /* scalarType */
        start local 4 // io.ebean.core.type.ScalarType scalarType
         1: .line 135
            aload 4 /* scalarType */
            ifnull 6
         2: .line 136
            new io.ebeaninternal.server.deploy.meta.DeployBeanPropertySimpleCollection
            dup
            aload 1 /* desc */
            aload 2 /* targetType */
            aload 3 /* manyType */
            invokespecial io.ebeaninternal.server.deploy.meta.DeployBeanPropertySimpleCollection.<init>:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;Lio/ebeaninternal/server/deploy/ManyType;)V
         3: areturn
        end local 4 // io.ebean.core.type.ScalarType scalarType
         4: .line 138
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
            astore 4 /* e */
        start local 4 // java.lang.NullPointerException e
         5: .line 139
            getstatic io.ebeaninternal.server.deploy.parse.DeployCreateProperties.logger:Lorg/slf4j/Logger;
            ldc "expected non-scalar type {}"
            aload 4 /* e */
            invokevirtual java.lang.NullPointerException.getMessage:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 4 // java.lang.NullPointerException e
         6: .line 141
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany
            dup
            aload 1 /* desc */
            aload 2 /* targetType */
            aload 3 /* manyType */
            invokespecial io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.<init>:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;Lio/ebeaninternal/server/deploy/ManyType;)V
            areturn
        end local 3 // io.ebeaninternal.server.deploy.ManyType manyType
        end local 2 // java.lang.Class targetType
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor desc
        end local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            0    7     1        desc  Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;
            0    7     2  targetType  Ljava/lang/Class<*>;
            0    7     3    manyType  Lio/ebeaninternal/server/deploy/ManyType;
            1    4     4  scalarType  Lio/ebean/core/type/ScalarType<*>;
            5    6     4           e  Ljava/lang/NullPointerException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.NullPointerException
    Signature: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;Ljava/lang/Class<*>;Lio/ebeaninternal/server/deploy/ManyType;)Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
    MethodParameters:
            Name  Flags
      desc        
      targetType  
      manyType    

  private io.ebeaninternal.server.deploy.meta.DeployBeanProperty createProp(io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor<?>, java.lang.reflect.Field);
    descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/reflect/Field;)Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor desc
        start local 2 // java.lang.reflect.Field field
         0: .line 147
            aload 2 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            astore 3 /* propertyType */
        start local 3 // java.lang.Class propertyType
         1: .line 149
            aload 2 /* field */
            ldc Ljavax/persistence/ManyToOne;
            invokestatic io.ebean.util.AnnotationUtil.get:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.persistence.ManyToOne
            astore 4 /* manyToOne */
        start local 4 // javax.persistence.ManyToOne manyToOne
         2: .line 150
            aload 4 /* manyToOne */
            ifnull 6
         3: .line 151
            aload 4 /* manyToOne */
            invokeinterface javax.persistence.ManyToOne.targetEntity:()Ljava/lang/Class;
            astore 5 /* tt */
        start local 5 // java.lang.Class tt
         4: .line 152
            aload 5 /* tt */
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 153
            aload 5 /* tt */
            astore 3 /* propertyType */
        end local 5 // java.lang.Class tt
         6: .line 156
      StackMap locals: java.lang.Class javax.persistence.ManyToOne
      StackMap stack:
            aload 0 /* this */
            aload 2 /* field */
            invokevirtual io.ebeaninternal.server.deploy.parse.DeployCreateProperties.isSpecialScalarType:(Ljava/lang/reflect/Field;)Z
            ifeq 8
         7: .line 157
            new io.ebeaninternal.server.deploy.meta.DeployBeanProperty
            dup
            aload 1 /* desc */
            aload 3 /* propertyType */
            aload 2 /* field */
            invokevirtual java.lang.reflect.Field.getGenericType:()Ljava/lang/reflect/Type;
            invokespecial io.ebeaninternal.server.deploy.meta.DeployBeanProperty.<init>:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;Ljava/lang/reflect/Type;)V
            areturn
         8: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.parse.DeployCreateProperties.determineManyType:Lio/ebeaninternal/server/deploy/DetermineManyType;
            aload 3 /* propertyType */
            invokevirtual io.ebeaninternal.server.deploy.DetermineManyType.getManyType:(Ljava/lang/Class;)Lio/ebeaninternal/server/deploy/ManyType;
            astore 5 /* manyType */
        start local 5 // io.ebeaninternal.server.deploy.ManyType manyType
         9: .line 162
            aload 5 /* manyType */
            ifnull 16
        10: .line 164
            aload 0 /* this */
            aload 2 /* field */
            invokevirtual io.ebeaninternal.server.deploy.parse.DeployCreateProperties.determineTargetType:(Ljava/lang/reflect/Field;)Ljava/lang/Class;
            astore 6 /* targetType */
        start local 6 // java.lang.Class targetType
        11: .line 165
            aload 6 /* targetType */
            ifnonnull 15
        12: .line 166
            aload 2 /* field */
            ldc Ljavax/persistence/Transient;
            invokestatic io.ebean.util.AnnotationUtil.has:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
            ifeq 14
        13: .line 168
            aconst_null
            areturn
        14: .line 170
      StackMap locals: io.ebeaninternal.server.deploy.ManyType java.lang.Class
      StackMap stack:
            getstatic io.ebeaninternal.server.deploy.parse.DeployCreateProperties.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Could not find parameter type (via reflection) on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* desc */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor.getFullName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
        15: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* desc */
            aload 6 /* targetType */
            aload 5 /* manyType */
            invokevirtual io.ebeaninternal.server.deploy.parse.DeployCreateProperties.createManyType:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;Lio/ebeaninternal/server/deploy/ManyType;)Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
            areturn
        end local 6 // java.lang.Class targetType
        16: .line 175
      StackMap locals:
      StackMap stack:
            aload 3 /* propertyType */
            invokevirtual java.lang.Class.isEnum:()Z
            ifne 17
            aload 3 /* propertyType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 18
        17: .line 176
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.deploy.meta.DeployBeanProperty
            dup
            aload 1 /* desc */
            aload 3 /* propertyType */
            aconst_null
            aconst_null
            invokespecial io.ebeaninternal.server.deploy.meta.DeployBeanProperty.<init>:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;Lio/ebean/core/type/ScalarType;Lio/ebean/config/ScalarTypeConverter;)V
            areturn
        18: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.parse.DeployCreateProperties.typeManager:Lio/ebeaninternal/server/type/TypeManager;
            aload 3 /* propertyType */
            invokeinterface io.ebeaninternal.server.type.TypeManager.getScalarType:(Ljava/lang/Class;)Lio/ebean/core/type/ScalarType;
            astore 6 /* scalarType */
        start local 6 // io.ebean.core.type.ScalarType scalarType
        19: .line 180
            aload 6 /* scalarType */
            ifnull 21
        20: .line 181
            new io.ebeaninternal.server.deploy.meta.DeployBeanProperty
            dup
            aload 1 /* desc */
            aload 3 /* propertyType */
            aload 6 /* scalarType */
            aconst_null
            invokespecial io.ebeaninternal.server.deploy.meta.DeployBeanProperty.<init>:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;Lio/ebean/core/type/ScalarType;Lio/ebean/config/ScalarTypeConverter;)V
            areturn
        21: .line 184
      StackMap locals: io.ebean.core.type.ScalarType
      StackMap stack:
            aload 0 /* this */
            aload 2 /* field */
            invokevirtual io.ebeaninternal.server.deploy.parse.DeployCreateProperties.isTransientField:(Ljava/lang/reflect/Field;)Z
            ifeq 23
        22: .line 186
            new io.ebeaninternal.server.deploy.meta.DeployBeanProperty
            dup
            aload 1 /* desc */
            aload 3 /* propertyType */
            aconst_null
            aconst_null
            invokespecial io.ebeaninternal.server.deploy.meta.DeployBeanProperty.<init>:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;Lio/ebean/core/type/ScalarType;Lio/ebean/config/ScalarTypeConverter;)V
            areturn
        23: .line 189
      StackMap locals:
      StackMap stack:
            new io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne
            dup
            aload 1 /* desc */
            aload 3 /* propertyType */
            invokespecial io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocOne.<init>:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/Class;)V
        24: areturn
        25: .line 191
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        26: .line 192
            getstatic io.ebeaninternal.server.deploy.parse.DeployCreateProperties.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Error with "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " field:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        27: .line 193
            aconst_null
            areturn
        end local 7 // java.lang.Exception e
        end local 6 // io.ebean.core.type.ScalarType scalarType
        end local 5 // io.ebeaninternal.server.deploy.ManyType manyType
        end local 4 // javax.persistence.ManyToOne manyToOne
        end local 3 // java.lang.Class propertyType
        end local 2 // java.lang.reflect.Field field
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor desc
        end local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   28     0          this  Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            0   28     1          desc  Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;
            0   28     2         field  Ljava/lang/reflect/Field;
            1   28     3  propertyType  Ljava/lang/Class<*>;
            2   28     4     manyToOne  Ljavax/persistence/ManyToOne;
            4    6     5            tt  Ljava/lang/Class<*>;
            9   28     5      manyType  Lio/ebeaninternal/server/deploy/ManyType;
           11   16     6    targetType  Ljava/lang/Class<*>;
           19   28     6    scalarType  Lio/ebean/core/type/ScalarType<*>;
           26   28     7             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          23    24      25  Class java.lang.Exception
    Signature: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;Ljava/lang/reflect/Field;)Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
    MethodParameters:
       Name  Flags
      desc   
      field  

  private boolean isSpecialScalarType(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
        start local 1 // java.lang.reflect.Field field
         0: .line 201
            aload 1 /* field */
            ldc Lio/ebean/annotation/DbJson;
            invokestatic io.ebean.util.AnnotationUtil.has:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
            ifne 6
         1: .line 202
            aload 1 /* field */
            ldc Lio/ebean/annotation/DbJsonB;
            invokestatic io.ebean.util.AnnotationUtil.has:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
            ifne 6
         2: .line 203
            aload 1 /* field */
            ldc Lio/ebean/annotation/DbArray;
            invokestatic io.ebean.util.AnnotationUtil.has:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
            ifne 6
         3: .line 204
            aload 1 /* field */
            ldc Lio/ebean/annotation/DbMap;
            invokestatic io.ebean.util.AnnotationUtil.has:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
            ifne 6
         4: .line 205
            aload 1 /* field */
            ldc Lio/ebean/annotation/UnmappedJson;
            invokestatic io.ebean.util.AnnotationUtil.has:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
            ifne 6
         5: .line 201
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_1
            ireturn
        end local 1 // java.lang.reflect.Field field
        end local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            0    7     1  field  Ljava/lang/reflect/Field;
    MethodParameters:
       Name  Flags
      field  

  private boolean isTransientField(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
        start local 1 // java.lang.reflect.Field field
         0: .line 209
            aload 1 /* field */
            ldc Ljavax/persistence/Transient;
            invokestatic io.ebean.util.AnnotationUtil.has:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.reflect.Field field
        end local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            0    1     1  field  Ljava/lang/reflect/Field;
    MethodParameters:
       Name  Flags
      field  

  private io.ebeaninternal.server.deploy.meta.DeployBeanProperty createProp(io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor<?>, java.lang.reflect.Field, java.lang.Class<?>);
    descriptor: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/reflect/Field;Ljava/lang/Class;)Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
        start local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor desc
        start local 2 // java.lang.reflect.Field field
        start local 3 // java.lang.Class beanType
         0: .line 213
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* field */
            invokevirtual io.ebeaninternal.server.deploy.parse.DeployCreateProperties.createProp:(Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor;Ljava/lang/reflect/Field;)Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
            astore 4 /* prop */
        start local 4 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty prop
         1: .line 214
            aload 4 /* prop */
            ifnonnull 3
         2: .line 216
            aconst_null
            areturn
         3: .line 218
      StackMap locals: io.ebeaninternal.server.deploy.meta.DeployBeanProperty
      StackMap stack:
            aload 4 /* prop */
            aload 3 /* beanType */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.setOwningType:(Ljava/lang/Class;)V
         4: .line 219
            aload 4 /* prop */
            aload 2 /* field */
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.setName:(Ljava/lang/String;)V
         5: .line 220
            aload 4 /* prop */
            aload 2 /* field */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanProperty.setField:(Ljava/lang/reflect/Field;)V
         6: .line 221
            aload 4 /* prop */
            areturn
        end local 4 // io.ebeaninternal.server.deploy.meta.DeployBeanProperty prop
        end local 3 // java.lang.Class beanType
        end local 2 // java.lang.reflect.Field field
        end local 1 // io.ebeaninternal.server.deploy.meta.DeployBeanDescriptor desc
        end local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            0    7     1      desc  Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;
            0    7     2     field  Ljava/lang/reflect/Field;
            0    7     3  beanType  Ljava/lang/Class<*>;
            1    7     4      prop  Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
    Signature: (Lio/ebeaninternal/server/deploy/meta/DeployBeanDescriptor<*>;Ljava/lang/reflect/Field;Ljava/lang/Class<*>;)Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;
    MethodParameters:
          Name  Flags
      desc      
      field     
      beanType  

  private java.lang.Class<?> determineTargetType(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
        start local 1 // java.lang.reflect.Field field
         0: .line 231
            aload 1 /* field */
            invokevirtual java.lang.reflect.Field.getGenericType:()Ljava/lang/reflect/Type;
            astore 2 /* genType */
        start local 2 // java.lang.reflect.Type genType
         1: .line 232
            aload 2 /* genType */
            instanceof java.lang.reflect.ParameterizedType
            ifeq 18
         2: .line 233
            aload 2 /* genType */
            checkcast java.lang.reflect.ParameterizedType
            astore 3 /* ptype */
        start local 3 // java.lang.reflect.ParameterizedType ptype
         3: .line 235
            aload 3 /* ptype */
            invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
            astore 4 /* typeArgs */
        start local 4 // java.lang.reflect.Type[] typeArgs
         4: .line 236
            aload 4 /* typeArgs */
            arraylength
            iconst_1
            if_icmpne 12
         5: .line 238
            aload 4 /* typeArgs */
            iconst_0
            aaload
            instanceof java.lang.Class
            ifeq 7
         6: .line 239
            aload 4 /* typeArgs */
            iconst_0
            aaload
            checkcast java.lang.Class
            areturn
         7: .line 241
      StackMap locals: java.lang.reflect.Type java.lang.reflect.ParameterizedType java.lang.reflect.Type[]
      StackMap stack:
            aload 4 /* typeArgs */
            iconst_0
            aaload
            instanceof java.lang.reflect.WildcardType
            ifeq 11
         8: .line 242
            aload 4 /* typeArgs */
            iconst_0
            aaload
            checkcast java.lang.reflect.WildcardType
            invokeinterface java.lang.reflect.WildcardType.getUpperBounds:()[Ljava/lang/reflect/Type;
            astore 5 /* upperBounds */
        start local 5 // java.lang.reflect.Type[] upperBounds
         9: .line 243
            aload 5 /* upperBounds */
            arraylength
            iconst_1
            if_icmpne 11
            aload 5 /* upperBounds */
            iconst_0
            aaload
            instanceof java.lang.Class
            ifeq 11
        10: .line 245
            aload 5 /* upperBounds */
            iconst_0
            aaload
            checkcast java.lang.Class
            areturn
        end local 5 // java.lang.reflect.Type[] upperBounds
        11: .line 249
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        12: .line 251
      StackMap locals:
      StackMap stack:
            aload 4 /* typeArgs */
            arraylength
            iconst_2
            if_icmpne 18
        13: .line 253
            aload 4 /* typeArgs */
            iconst_1
            aaload
            instanceof java.lang.reflect.ParameterizedType
            ifeq 15
        14: .line 255
            aconst_null
            areturn
        15: .line 257
      StackMap locals:
      StackMap stack:
            aload 4 /* typeArgs */
            iconst_1
            aaload
            instanceof java.lang.reflect.WildcardType
            ifeq 17
        16: .line 258
            ldc Ljava/lang/Object;
            areturn
        17: .line 260
      StackMap locals:
      StackMap stack:
            aload 4 /* typeArgs */
            iconst_1
            aaload
            checkcast java.lang.Class
            areturn
        end local 4 // java.lang.reflect.Type[] typeArgs
        end local 3 // java.lang.reflect.ParameterizedType ptype
        18: .line 264
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.reflect.Type genType
        end local 1 // java.lang.reflect.Field field
        end local 0 // io.ebeaninternal.server.deploy.parse.DeployCreateProperties this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lio/ebeaninternal/server/deploy/parse/DeployCreateProperties;
            0   19     1        field  Ljava/lang/reflect/Field;
            1   19     2      genType  Ljava/lang/reflect/Type;
            3   18     3        ptype  Ljava/lang/reflect/ParameterizedType;
            4   18     4     typeArgs  [Ljava/lang/reflect/Type;
            9   11     5  upperBounds  [Ljava/lang/reflect/Type;
    Signature: (Ljava/lang/reflect/Field;)Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      field  
}
SourceFile: "DeployCreateProperties.java"