public abstract class io.ebeaninternal.server.deploy.BeanPropertyAssoc<T> extends io.ebeaninternal.server.deploy.BeanProperty implements io.ebeaninternal.server.query.STreePropertyAssoc
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.ebeaninternal.server.deploy.BeanPropertyAssoc
  super_class: io.ebeaninternal.server.deploy.BeanProperty
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  io.ebeaninternal.server.deploy.BeanDescriptor<T> targetDescriptor;
    descriptor: Lio/ebeaninternal/server/deploy/BeanDescriptor;
    flags: (0x0000) 
    Signature: Lio/ebeaninternal/server/deploy/BeanDescriptor<TT;>;

  io.ebeaninternal.server.deploy.id.IdBinder targetIdBinder;
    descriptor: Lio/ebeaninternal/server/deploy/id/IdBinder;
    flags: (0x0000) 

  io.ebeaninternal.server.deploy.InheritInfo targetInheritInfo;
    descriptor: Lio/ebeaninternal/server/deploy/InheritInfo;
    flags: (0x0000) 

  java.lang.String targetIdProperty;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  io.ebeaninternal.server.deploy.ExportedProperty[] exportedProperties;
    descriptor: [Lio/ebeaninternal/server/deploy/ExportedProperty;
    flags: (0x0000) 

  final io.ebeaninternal.server.deploy.BeanCascadeInfo cascadeInfo;
    descriptor: Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
    flags: (0x0010) ACC_FINAL

  final io.ebeaninternal.server.deploy.TableJoin tableJoin;
    descriptor: Lio/ebeaninternal/server/deploy/TableJoin;
    flags: (0x0010) ACC_FINAL

  final io.ebeaninternal.server.deploy.PropertyForeignKey foreignKey;
    descriptor: Lio/ebeaninternal/server/deploy/PropertyForeignKey;
    flags: (0x0010) ACC_FINAL

  private final java.lang.Class<T> targetType;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<TT;>;

  final io.ebeaninternal.server.deploy.BeanTable beanTable;
    descriptor: Lio/ebeaninternal/server/deploy/BeanTable;
    flags: (0x0010) ACC_FINAL

  final java.lang.String mappedBy;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  private final java.lang.String docStoreDoc;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String extraWhere;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int fetchPreference;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  void <init>(io.ebeaninternal.server.deploy.BeanDescriptor<?>, io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc<T>);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/meta/DeployBeanPropertyAssoc;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptor descriptor
        start local 2 // io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc deploy
         0: .line 94
            aload 0 /* this */
            aload 1 /* descriptor */
            aload 2 /* deploy */
            invokespecial io.ebeaninternal.server.deploy.BeanProperty.<init>:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/meta/DeployBeanProperty;)V
         1: .line 95
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc.getForeignKey:()Lio/ebeaninternal/server/deploy/PropertyForeignKey;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.foreignKey:Lio/ebeaninternal/server/deploy/PropertyForeignKey;
         2: .line 96
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc.getExtraWhere:()Ljava/lang/String;
            invokestatic io.ebeaninternal.server.core.InternString.intern:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.extraWhere:Ljava/lang/String;
         3: .line 97
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc.getBeanTable:()Lio/ebeaninternal/server/deploy/BeanTable;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.beanTable:Lio/ebeaninternal/server/deploy/BeanTable;
         4: .line 98
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc.getMappedBy:()Ljava/lang/String;
            invokestatic io.ebeaninternal.server.core.InternString.intern:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.mappedBy:Ljava/lang/String;
         5: .line 99
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc.getDocStoreDoc:()Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.docStoreDoc:Ljava/lang/String;
         6: .line 100
            aload 0 /* this */
            new io.ebeaninternal.server.deploy.TableJoin
            dup
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc.getTableJoin:()Lio/ebeaninternal/server/deploy/meta/DeployTableJoin;
            invokespecial io.ebeaninternal.server.deploy.TableJoin.<init>:(Lio/ebeaninternal/server/deploy/meta/DeployTableJoin;)V
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.tableJoin:Lio/ebeaninternal/server/deploy/TableJoin;
         7: .line 102
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc.getTargetType:()Ljava/lang/Class;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetType:Ljava/lang/Class;
         8: .line 103
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc.getCascadeInfo:()Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.cascadeInfo:Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
         9: .line 104
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc.getFetchPreference:()I
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.fetchPreference:I
        10: .line 105
            return
        end local 2 // io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssoc deploy
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptor descriptor
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0   11     1  descriptor  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            0   11     2      deploy  Lio/ebeaninternal/server/deploy/meta/DeployBeanPropertyAssoc<TT;>;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Lio/ebeaninternal/server/deploy/meta/DeployBeanPropertyAssoc<TT;>;)V
    MethodParameters:
            Name  Flags
      descriptor  
      deploy      

  void <init>(io.ebeaninternal.server.deploy.BeanPropertyAssoc, io.ebeaninternal.server.deploy.BeanPropertyOverride);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;Lio/ebeaninternal/server/deploy/BeanPropertyOverride;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssoc source
        start local 2 // io.ebeaninternal.server.deploy.BeanPropertyOverride override
         0: .line 112
            aload 0 /* this */
            aload 1 /* source */
            aload 2 /* override */
            invokespecial io.ebeaninternal.server.deploy.BeanProperty.<init>:(Lio/ebeaninternal/server/deploy/BeanProperty;Lio/ebeaninternal/server/deploy/BeanPropertyOverride;)V
         1: .line 113
            aload 0 /* this */
            aload 1 /* source */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.foreignKey:Lio/ebeaninternal/server/deploy/PropertyForeignKey;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.foreignKey:Lio/ebeaninternal/server/deploy/PropertyForeignKey;
         2: .line 114
            aload 0 /* this */
            aload 1 /* source */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.extraWhere:Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.extraWhere:Ljava/lang/String;
         3: .line 115
            aload 0 /* this */
            aload 1 /* source */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.beanTable:Lio/ebeaninternal/server/deploy/BeanTable;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.beanTable:Lio/ebeaninternal/server/deploy/BeanTable;
         4: .line 116
            aload 0 /* this */
            aload 1 /* source */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.mappedBy:Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.mappedBy:Ljava/lang/String;
         5: .line 117
            aload 0 /* this */
            aload 1 /* source */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.docStoreDoc:Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.docStoreDoc:Ljava/lang/String;
         6: .line 118
            aload 0 /* this */
            aload 1 /* source */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetType:Ljava/lang/Class;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetType:Ljava/lang/Class;
         7: .line 119
            aload 0 /* this */
            aload 1 /* source */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.cascadeInfo:Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.cascadeInfo:Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
         8: .line 120
            aload 0 /* this */
            aload 1 /* source */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.fetchPreference:I
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.fetchPreference:I
         9: .line 121
            aload 0 /* this */
            aload 1 /* source */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.tableJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            aload 2 /* override */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyOverride.getDbColumn:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.withOverrideColumn:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/TableJoin;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.tableJoin:Lio/ebeaninternal/server/deploy/TableJoin;
        10: .line 122
            return
        end local 2 // io.ebeaninternal.server.deploy.BeanPropertyOverride override
        end local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssoc source
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0   11     1    source  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;
            0   11     2  override  Lio/ebeaninternal/server/deploy/BeanPropertyOverride;
    MethodParameters:
          Name  Flags
      source    
      override  

  public void initialise(io.ebeaninternal.server.deploy.BeanDescriptorInitContext);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptorInitContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptorInitContext initContext
         0: .line 131
            aload 0 /* this */
            aload 1 /* initContext */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.initialiseTargetDescriptor:(Lio/ebeaninternal/server/deploy/BeanDescriptorInitContext;)V
         1: .line 132
            return
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptorInitContext initContext
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    2     1  initContext  Lio/ebeaninternal/server/deploy/BeanDescriptorInitContext;
    MethodParameters:
             Name  Flags
      initContext  

  void initialiseTargetDescriptor(io.ebeaninternal.server.deploy.BeanDescriptorInitContext);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptorInitContext;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptorInitContext initContext
         0: .line 135
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetType:Ljava/lang/Class;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBeanDescriptor:(Ljava/lang/Class;)Lio/ebeaninternal/server/deploy/BeanDescriptor;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
         1: .line 136
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.isTransient:Z
            ifne 7
         2: .line 137
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdBinder:()Lio/ebeaninternal/server/deploy/id/IdBinder;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetIdBinder:Lio/ebeaninternal/server/deploy/id/IdBinder;
         3: .line 138
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getInheritInfo:()Lio/ebeaninternal/server/deploy/InheritInfo;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetInheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
         4: .line 139
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isSaveRecurseSkippable:()Z
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.saveRecurseSkippable:Z
         5: .line 140
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetIdBinder:Lio/ebeaninternal/server/deploy/id/IdBinder;
            invokeinterface io.ebeaninternal.server.deploy.id.IdBinder.isComplexId:()Z
            ifne 7
         6: .line 141
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetIdBinder:Lio/ebeaninternal/server/deploy/id/IdBinder;
            invokeinterface io.ebeaninternal.server.deploy.id.IdBinder.getIdProperty:()Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetIdProperty:Ljava/lang/String;
         7: .line 144
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptorInitContext initContext
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    8     1  initContext  Lio/ebeaninternal/server/deploy/BeanDescriptorInitContext;
    MethodParameters:
             Name  Flags
      initContext  

  public int getFetchPreference();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 148
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.fetchPreference:I
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public io.ebeaninternal.server.deploy.PropertyForeignKey getForeignKey();
    descriptor: ()Lio/ebeaninternal/server/deploy/PropertyForeignKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 155
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.foreignKey:Lio/ebeaninternal/server/deploy/PropertyForeignKey;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public boolean hasForeignKeyConstraint();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 162
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.foreignKey:Lio/ebeaninternal/server/deploy/PropertyForeignKey;
            ifnull 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.foreignKey:Lio/ebeaninternal/server/deploy/PropertyForeignKey;
            invokevirtual io.ebeaninternal.server.deploy.PropertyForeignKey.isNoConstraint:()Z
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public boolean hasForeignKeyIndex();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 169
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.foreignKey:Lio/ebeaninternal/server/deploy/PropertyForeignKey;
            ifnull 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.foreignKey:Lio/ebeaninternal/server/deploy/PropertyForeignKey;
            invokevirtual io.ebeaninternal.server.deploy.PropertyForeignKey.isNoIndex:()Z
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  io.ebeaninternal.server.el.ElPropertyValue createElPropertyValue(java.lang.String, java.lang.String, io.ebeaninternal.server.el.ElPropertyChainBuilder, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/server/el/ElPropertyChainBuilder;Z)Lio/ebeaninternal/server/el/ElPropertyValue;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // java.lang.String propName
        start local 2 // java.lang.String remainder
        start local 3 // io.ebeaninternal.server.el.ElPropertyChainBuilder chain
        start local 4 // boolean propertyDeploy
         0: .line 178
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            astore 5 /* embDesc */
        start local 5 // io.ebeaninternal.server.deploy.BeanDescriptor embDesc
         1: .line 180
            aload 3 /* chain */
            ifnonnull 3
         2: .line 181
            new io.ebeaninternal.server.el.ElPropertyChainBuilder
            dup
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.isEmbedded:()Z
            aload 1 /* propName */
            invokespecial io.ebeaninternal.server.el.ElPropertyChainBuilder.<init>:(ZLjava/lang/String;)V
            astore 3 /* chain */
         3: .line 183
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptor
      StackMap stack:
            aload 3 /* chain */
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.el.ElPropertyChainBuilder.add:(Lio/ebeaninternal/server/el/ElPropertyValue;)Lio/ebeaninternal/server/el/ElPropertyChainBuilder;
            pop
         4: .line 184
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.containsMany:()Z
            ifeq 6
         5: .line 185
            aload 3 /* chain */
            invokevirtual io.ebeaninternal.server.el.ElPropertyChainBuilder.setContainsMany:()V
         6: .line 187
      StackMap locals:
      StackMap stack:
            aload 5 /* embDesc */
            aload 2 /* remainder */
            aload 3 /* chain */
            iload 4 /* propertyDeploy */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.buildElGetValue:(Ljava/lang/String;Lio/ebeaninternal/server/el/ElPropertyChainBuilder;Z)Lio/ebeaninternal/server/el/ElPropertyValue;
            areturn
        end local 5 // io.ebeaninternal.server.deploy.BeanDescriptor embDesc
        end local 4 // boolean propertyDeploy
        end local 3 // io.ebeaninternal.server.el.ElPropertyChainBuilder chain
        end local 2 // java.lang.String remainder
        end local 1 // java.lang.String propName
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    7     1        propName  Ljava/lang/String;
            0    7     2       remainder  Ljava/lang/String;
            0    7     3           chain  Lio/ebeaninternal/server/el/ElPropertyChainBuilder;
            0    7     4  propertyDeploy  Z
            1    7     5         embDesc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
    MethodParameters:
                Name  Flags
      propName        
      remainder       
      chain           
      propertyDeploy  

  public io.ebeaninternal.server.query.SqlJoinType addJoin(io.ebeaninternal.server.query.SqlJoinType, java.lang.String, io.ebeaninternal.server.deploy.DbSqlContext);
    descriptor: (Lio/ebeaninternal/server/query/SqlJoinType;Ljava/lang/String;Lio/ebeaninternal/server/deploy/DbSqlContext;)Lio/ebeaninternal/server/query/SqlJoinType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.server.query.SqlJoinType joinType
        start local 2 // java.lang.String prefix
        start local 3 // io.ebeaninternal.server.deploy.DbSqlContext ctx
         0: .line 195
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.tableJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            aload 1 /* joinType */
            aload 2 /* prefix */
            aload 3 /* ctx */
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.addJoin:(Lio/ebeaninternal/server/query/SqlJoinType;Ljava/lang/String;Lio/ebeaninternal/server/deploy/DbSqlContext;)Lio/ebeaninternal/server/query/SqlJoinType;
            areturn
        end local 3 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 2 // java.lang.String prefix
        end local 1 // io.ebeaninternal.server.query.SqlJoinType joinType
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    1     1  joinType  Lio/ebeaninternal/server/query/SqlJoinType;
            0    1     2    prefix  Ljava/lang/String;
            0    1     3       ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
    MethodParameters:
          Name  Flags
      joinType  
      prefix    
      ctx       

  public io.ebeaninternal.server.query.SqlJoinType addJoin(io.ebeaninternal.server.query.SqlJoinType, java.lang.String, java.lang.String, io.ebeaninternal.server.deploy.DbSqlContext);
    descriptor: (Lio/ebeaninternal/server/query/SqlJoinType;Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/server/deploy/DbSqlContext;)Lio/ebeaninternal/server/query/SqlJoinType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.server.query.SqlJoinType joinType
        start local 2 // java.lang.String a1
        start local 3 // java.lang.String a2
        start local 4 // io.ebeaninternal.server.deploy.DbSqlContext ctx
         0: .line 203
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.tableJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            aload 1 /* joinType */
            aload 2 /* a1 */
            aload 3 /* a2 */
            aload 4 /* ctx */
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.addJoin:(Lio/ebeaninternal/server/query/SqlJoinType;Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/server/deploy/DbSqlContext;)Lio/ebeaninternal/server/query/SqlJoinType;
            areturn
        end local 4 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 3 // java.lang.String a2
        end local 2 // java.lang.String a1
        end local 1 // io.ebeaninternal.server.query.SqlJoinType joinType
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    1     1  joinType  Lio/ebeaninternal/server/query/SqlJoinType;
            0    1     2        a1  Ljava/lang/String;
            0    1     3        a2  Ljava/lang/String;
            0    1     4       ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
    MethodParameters:
          Name  Flags
      joinType  
      a1        
      a2        
      ctx       

  public boolean isScalar();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 211
            iconst_0
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public java.lang.String getMappedBy();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 219
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.mappedBy:Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public java.lang.String getTargetIdProperty();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 229
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetIdProperty:Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public io.ebeaninternal.server.deploy.BeanDescriptor<T> getTargetDescriptor();
    descriptor: ()Lio/ebeaninternal/server/deploy/BeanDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 236
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
    Signature: ()Lio/ebeaninternal/server/deploy/BeanDescriptor<TT;>;

  io.ebeaninternal.api.SpiEbeanServer server();
    descriptor: ()Lio/ebeaninternal/api/SpiEbeanServer;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 240
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getEbeanServer:()Lio/ebeaninternal/api/SpiEbeanServer;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public io.ebeaninternal.api.SpiQuery<T> newQuery(io.ebeaninternal.api.SpiEbeanServer);
    descriptor: (Lio/ebeaninternal/api/SpiEbeanServer;)Lio/ebeaninternal/api/SpiQuery;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.api.SpiEbeanServer server
         0: .line 249
            new io.ebeaninternal.server.querydefn.DefaultOrmQuery
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* server */
            aload 1 /* server */
            invokeinterface io.ebeaninternal.api.SpiEbeanServer.getExpressionFactory:()Lio/ebean/ExpressionFactory;
            invokespecial io.ebeaninternal.server.querydefn.DefaultOrmQuery.<init>:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/api/SpiEbeanServer;Lio/ebean/ExpressionFactory;)V
            areturn
        end local 1 // io.ebeaninternal.api.SpiEbeanServer server
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    1     1  server  Lio/ebeaninternal/api/SpiEbeanServer;
    Signature: (Lio/ebeaninternal/api/SpiEbeanServer;)Lio/ebeaninternal/api/SpiQuery<TT;>;
    MethodParameters:
        Name  Flags
      server  

  public io.ebeaninternal.server.deploy.id.IdBinder getIdBinder();
    descriptor: ()Lio/ebeaninternal/server/deploy/id/IdBinder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 254
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdBinder:()Lio/ebeaninternal/server/deploy/id/IdBinder;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public io.ebeaninternal.server.query.STreeType target();
    descriptor: ()Lio/ebeaninternal/server/query/STreeType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 259
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public boolean isTargetSoftDelete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 266
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isSoftDelete:()Z
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  boolean isCascadeRefresh();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 273
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.cascadeInfo:Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
            invokevirtual io.ebeaninternal.server.deploy.BeanCascadeInfo.isRefresh:()Z
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public boolean isSaveRecurseSkippable(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // java.lang.Object bean
         0: .line 277
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.saveRecurseSkippable:Z
            ifeq 1
            aload 1 /* bean */
            instanceof io.ebean.bean.EntityBean
            ifeq 1
            aload 1 /* bean */
            checkcast io.ebean.bean.EntityBean
            invokeinterface io.ebean.bean.EntityBean._ebean_getIntercept:()Lio/ebean/bean/EntityBeanIntercept;
            invokevirtual io.ebean.bean.EntityBeanIntercept.isNewOrDirty:()Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object bean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    2     1  bean  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      bean  

  public boolean isSaveRecurseSkippable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 290
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.saveRecurseSkippable:Z
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public boolean hasId(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebean.bean.EntityBean bean
         0: .line 298
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            astore 2 /* targetDesc */
        start local 2 // io.ebeaninternal.server.deploy.BeanDescriptor targetDesc
         1: .line 299
            aload 2 /* targetDesc */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdProperty:()Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 3 /* idProp */
        start local 3 // io.ebeaninternal.server.deploy.BeanProperty idProp
         2: .line 301
            aload 3 /* idProp */
            ifnull 3
            aload 3 /* idProp */
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            ifnonnull 3
            iconst_0
            ireturn
      StackMap locals: io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.deploy.BeanProperty
      StackMap stack:
         3: iconst_1
            ireturn
        end local 3 // io.ebeaninternal.server.deploy.BeanProperty idProp
        end local 2 // io.ebeaninternal.server.deploy.BeanDescriptor targetDesc
        end local 1 // io.ebean.bean.EntityBean bean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    4     1        bean  Lio/ebean/bean/EntityBean;
            1    4     2  targetDesc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            2    4     3      idProp  Lio/ebeaninternal/server/deploy/BeanProperty;
    MethodParameters:
      Name  Flags
      bean  

  public java.lang.Class<?> getTargetType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 312
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetType:Ljava/lang/Class;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
    Signature: ()Ljava/lang/Class<*>;

  public java.lang.String getExtraWhere();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 321
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.extraWhere:Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  private java.lang.String getDocStoreDoc();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 328
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.docStoreDoc:Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public void docStoreInclude(boolean, io.ebeanservice.docstore.api.support.DocStructure);
    descriptor: (ZLio/ebeanservice/docstore/api/support/DocStructure;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // boolean includeByDefault
        start local 2 // io.ebeanservice.docstore.api.support.DocStructure docStructure
         0: .line 337
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.getDocStoreDoc:()Ljava/lang/String;
            astore 3 /* embeddedDoc */
        start local 3 // java.lang.String embeddedDoc
         1: .line 338
            aload 3 /* embeddedDoc */
            ifnonnull 5
         2: .line 341
            iload 1 /* includeByDefault */
            ifeq 9
         3: .line 342
            aload 0 /* this */
            aload 2 /* docStructure */
            invokevirtual io.ebeanservice.docstore.api.support.DocStructure.doc:()Lio/ebean/text/PathProperties;
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.docStoreIncludeByDefault:(Lio/ebean/text/PathProperties;)V
         4: .line 344
            goto 9
         5: .line 346
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* embeddedDoc */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 7
         6: .line 347
            ldc "*"
            astore 3 /* embeddedDoc */
         7: .line 350
      StackMap locals:
      StackMap stack:
            aload 3 /* embeddedDoc */
            invokestatic io.ebean.text.PathProperties.parse:(Ljava/lang/String;)Lio/ebean/text/PathProperties;
            astore 4 /* embDoc */
        start local 4 // io.ebean.text.PathProperties embDoc
         8: .line 351
            aload 2 /* docStructure */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.name:Ljava/lang/String;
            aload 4 /* embDoc */
            invokevirtual io.ebeanservice.docstore.api.support.DocStructure.addNested:(Ljava/lang/String;Lio/ebean/text/PathProperties;)V
        end local 4 // io.ebean.text.PathProperties embDoc
         9: .line 353
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String embeddedDoc
        end local 2 // io.ebeanservice.docstore.api.support.DocStructure docStructure
        end local 1 // boolean includeByDefault
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0   10     1  includeByDefault  Z
            0   10     2      docStructure  Lio/ebeanservice/docstore/api/support/DocStructure;
            1   10     3       embeddedDoc  Ljava/lang/String;
            8    9     4            embDoc  Lio/ebean/text/PathProperties;
    MethodParameters:
                  Name  Flags
      includeByDefault  
      docStructure      

  void docStoreIncludeByDefault(io.ebean.text.PathProperties);
    descriptor: (Lio/ebean/text/PathProperties;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebean.text.PathProperties pathProps
         0: .line 359
            aload 1 /* pathProps */
            aconst_null
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.name:Ljava/lang/String;
            invokevirtual io.ebean.text.PathProperties.addToPath:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 360
            return
        end local 1 // io.ebean.text.PathProperties pathProps
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    2     1  pathProps  Lio/ebean/text/PathProperties;
    MethodParameters:
           Name  Flags
      pathProps  

  public void docStoreMapping(io.ebeanservice.docstore.api.mapping.DocMappingBuilder, java.lang.String);
    descriptor: (Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder mapping
        start local 2 // java.lang.String prefix
         0: .line 365
            aload 1 /* mapping */
            aload 2 /* prefix */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.name:Ljava/lang/String;
            invokevirtual io.ebeanservice.docstore.api.mapping.DocMappingBuilder.includesPath:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 11
         1: .line 366
            aload 2 /* prefix */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.name:Ljava/lang/String;
            invokestatic io.ebean.util.SplitName.add:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* fullName */
        start local 3 // java.lang.String fullName
         2: .line 368
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.isMany:()Z
            ifeq 3
            getstatic io.ebean.core.type.DocPropertyType.LIST:Lio/ebean/core/type/DocPropertyType;
            goto 4
      StackMap locals: java.lang.String
      StackMap stack:
         3: getstatic io.ebean.core.type.DocPropertyType.OBJECT:Lio/ebean/core/type/DocPropertyType;
      StackMap locals:
      StackMap stack: io.ebean.core.type.DocPropertyType
         4: astore 4 /* type */
        start local 4 // io.ebean.core.type.DocPropertyType type
         5: .line 369
            new io.ebeanservice.docstore.api.mapping.DocPropertyMapping
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.name:Ljava/lang/String;
            aload 4 /* type */
            invokespecial io.ebeanservice.docstore.api.mapping.DocPropertyMapping.<init>:(Ljava/lang/String;Lio/ebean/core/type/DocPropertyType;)V
            astore 5 /* nested */
        start local 5 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping nested
         6: .line 371
            aload 1 /* mapping */
            aload 5 /* nested */
            invokevirtual io.ebeanservice.docstore.api.mapping.DocMappingBuilder.push:(Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;)V
         7: .line 372
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* mapping */
            aload 3 /* fullName */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.docStoreMapping:(Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;Ljava/lang/String;)V
         8: .line 373
            aload 1 /* mapping */
            invokevirtual io.ebeanservice.docstore.api.mapping.DocMappingBuilder.pop:()V
         9: .line 375
            aload 5 /* nested */
            invokevirtual io.ebeanservice.docstore.api.mapping.DocPropertyMapping.getChildren:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 11
        10: .line 376
            aload 1 /* mapping */
            aload 5 /* nested */
            invokevirtual io.ebeanservice.docstore.api.mapping.DocMappingBuilder.add:(Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;)V
        end local 5 // io.ebeanservice.docstore.api.mapping.DocPropertyMapping nested
        end local 4 // io.ebean.core.type.DocPropertyType type
        end local 3 // java.lang.String fullName
        11: .line 379
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String prefix
        end local 1 // io.ebeanservice.docstore.api.mapping.DocMappingBuilder mapping
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0   12     1   mapping  Lio/ebeanservice/docstore/api/mapping/DocMappingBuilder;
            0   12     2    prefix  Ljava/lang/String;
            2   11     3  fullName  Ljava/lang/String;
            5   11     4      type  Lio/ebean/core/type/DocPropertyType;
            6   11     5    nested  Lio/ebeanservice/docstore/api/mapping/DocPropertyMapping;
    MethodParameters:
         Name  Flags
      mapping  
      prefix   

  public boolean isUpdateable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 385
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.tableJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.columns:()[Lio/ebeaninternal/server/deploy/TableJoinColumn;
            astore 1 /* columns */
        start local 1 // io.ebeaninternal.server.deploy.TableJoinColumn[] columns
         1: .line 386
            aload 1 /* columns */
            arraylength
            ifgt 3
         2: .line 387
            iconst_1
            ireturn
         3: .line 389
      StackMap locals: io.ebeaninternal.server.deploy.TableJoinColumn[]
      StackMap stack:
            aload 1 /* columns */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 8
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssoc io.ebeaninternal.server.deploy.TableJoinColumn[] top int int io.ebeaninternal.server.deploy.TableJoinColumn[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* column */
        start local 2 // io.ebeaninternal.server.deploy.TableJoinColumn column
         5: .line 390
            aload 2 /* column */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.isUpdateable:()Z
            ifeq 7
         6: .line 392
            iconst_1
            ireturn
        end local 2 // io.ebeaninternal.server.deploy.TableJoinColumn column
         7: .line 389
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         8: iload 3
            iload 4
            if_icmplt 4
         9: .line 395
            iconst_0
            ireturn
        end local 1 // io.ebeaninternal.server.deploy.TableJoinColumn[] columns
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            1   10     1  columns  [Lio/ebeaninternal/server/deploy/TableJoinColumn;
            5    7     2   column  Lio/ebeaninternal/server/deploy/TableJoinColumn;

  public boolean isInsertable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 402
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.tableJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.columns:()[Lio/ebeaninternal/server/deploy/TableJoinColumn;
            astore 1 /* columns */
        start local 1 // io.ebeaninternal.server.deploy.TableJoinColumn[] columns
         1: .line 403
            aload 1 /* columns */
            arraylength
            ifgt 3
         2: .line 404
            iconst_1
            ireturn
         3: .line 406
      StackMap locals: io.ebeaninternal.server.deploy.TableJoinColumn[]
      StackMap stack:
            aload 1 /* columns */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 8
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssoc io.ebeaninternal.server.deploy.TableJoinColumn[] top int int io.ebeaninternal.server.deploy.TableJoinColumn[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* column */
        start local 2 // io.ebeaninternal.server.deploy.TableJoinColumn column
         5: .line 407
            aload 2 /* column */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.isInsertable:()Z
            ifeq 7
         6: .line 409
            iconst_1
            ireturn
        end local 2 // io.ebeaninternal.server.deploy.TableJoinColumn column
         7: .line 406
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         8: iload 3
            iload 4
            if_icmplt 4
         9: .line 412
            iconst_0
            ireturn
        end local 1 // io.ebeaninternal.server.deploy.TableJoinColumn[] columns
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            1   10     1  columns  [Lio/ebeaninternal/server/deploy/TableJoinColumn;
            5    7     2   column  Lio/ebeaninternal/server/deploy/TableJoinColumn;

  public io.ebeaninternal.server.deploy.BeanTable getBeanTable();
    descriptor: ()Lio/ebeaninternal/server/deploy/BeanTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 419
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.beanTable:Lio/ebeaninternal/server/deploy/BeanTable;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public io.ebeaninternal.server.deploy.TableJoin getTableJoin();
    descriptor: ()Lio/ebeaninternal/server/deploy/TableJoin;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 426
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.tableJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  public io.ebeaninternal.server.deploy.BeanCascadeInfo getCascadeInfo();
    descriptor: ()Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 433
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.cascadeInfo:Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  io.ebeaninternal.server.deploy.id.ImportedId createImportedId(io.ebeaninternal.server.deploy.BeanPropertyAssoc<?>, io.ebeaninternal.server.deploy.BeanDescriptor<?>, io.ebeaninternal.server.deploy.TableJoin);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/TableJoin;)Lio/ebeaninternal/server/deploy/id/ImportedId;
    flags: (0x0000) 
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssoc owner
        start local 2 // io.ebeaninternal.server.deploy.BeanDescriptor target
        start local 3 // io.ebeaninternal.server.deploy.TableJoin join
         0: .line 442
            aload 2 /* target */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdProperty:()Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 4 /* idProp */
        start local 4 // io.ebeaninternal.server.deploy.BeanProperty idProp
         1: .line 443
            aload 2 /* target */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.propertiesBaseScalar:()[Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 5 /* others */
        start local 5 // io.ebeaninternal.server.deploy.BeanProperty[] others
         2: .line 445
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isRawSqlBased:()Z
            ifeq 5
         3: .line 446
            aload 1 /* owner */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.getDbColumn:()Ljava/lang/String;
            astore 6 /* dbColumn */
        start local 6 // java.lang.String dbColumn
         4: .line 447
            new io.ebeaninternal.server.deploy.id.ImportedIdSimple
            dup
            aload 1 /* owner */
            aload 6 /* dbColumn */
            aconst_null
            aload 4 /* idProp */
            iconst_0
            invokespecial io.ebeaninternal.server.deploy.id.ImportedIdSimple.<init>:(Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/server/deploy/BeanProperty;I)V
            areturn
        end local 6 // java.lang.String dbColumn
         5: .line 450
      StackMap locals: io.ebeaninternal.server.deploy.BeanProperty io.ebeaninternal.server.deploy.BeanProperty[]
      StackMap stack:
            aload 3 /* join */
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.columns:()[Lio/ebeaninternal/server/deploy/TableJoinColumn;
            astore 6 /* cols */
        start local 6 // io.ebeaninternal.server.deploy.TableJoinColumn[] cols
         6: .line 452
            aload 4 /* idProp */
            ifnonnull 8
         7: .line 453
            aconst_null
            areturn
         8: .line 455
      StackMap locals: io.ebeaninternal.server.deploy.TableJoinColumn[]
      StackMap stack:
            aload 4 /* idProp */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.isEmbedded:()Z
            ifne 15
         9: .line 457
            aload 6 /* cols */
            arraylength
            iconst_1
            if_icmpeq 13
        10: .line 458
            new java.lang.StringBuilder
            dup
            ldc "No Imported Id column for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* idProp */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] in table ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* join */
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.getTable:()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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* msg */
        start local 7 // java.lang.String msg
        11: .line 459
            getstatic io.ebeaninternal.server.deploy.BeanPropertyAssoc.logger:Lorg/slf4j/Logger;
            aload 7 /* msg */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
        12: .line 460
            aconst_null
            areturn
        end local 7 // java.lang.String msg
        13: .line 462
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray io.ebeaninternal.server.deploy.BeanProperty
            dup
            iconst_0
            aload 4 /* idProp */
            aastore
            astore 7 /* idProps */
        start local 7 // io.ebeaninternal.server.deploy.BeanProperty[] idProps
        14: .line 463
            aload 0 /* this */
            aload 1 /* owner */
            aload 6 /* cols */
            iconst_0
            aaload
            aload 7 /* idProps */
            aload 5 /* others */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.createImportedScalar:(Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;Lio/ebeaninternal/server/deploy/TableJoinColumn;[Lio/ebeaninternal/server/deploy/BeanProperty;[Lio/ebeaninternal/server/deploy/BeanProperty;)Lio/ebeaninternal/server/deploy/id/ImportedIdSimple;
            areturn
        end local 7 // io.ebeaninternal.server.deploy.BeanProperty[] idProps
        15: .line 467
      StackMap locals:
      StackMap stack:
            aload 4 /* idProp */
            checkcast io.ebeaninternal.server.deploy.BeanPropertyAssocOne
            astore 7 /* embProp */
        start local 7 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne embProp
        16: .line 468
            aload 7 /* embProp */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.propertiesBaseScalar:()[Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 8 /* embBaseProps */
        start local 8 // io.ebeaninternal.server.deploy.BeanProperty[] embBaseProps
        17: .line 469
            aload 0 /* this */
            aload 1 /* owner */
            aload 6 /* cols */
            aload 8 /* embBaseProps */
            aload 5 /* others */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.createImportedList:(Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;[Lio/ebeaninternal/server/deploy/TableJoinColumn;[Lio/ebeaninternal/server/deploy/BeanProperty;[Lio/ebeaninternal/server/deploy/BeanProperty;)[Lio/ebeaninternal/server/deploy/id/ImportedIdSimple;
            astore 9 /* scalars */
        start local 9 // io.ebeaninternal.server.deploy.id.ImportedIdSimple[] scalars
        18: .line 471
            new io.ebeaninternal.server.deploy.id.ImportedIdEmbedded
            dup
            aload 1 /* owner */
            aload 7 /* embProp */
            aload 9 /* scalars */
            invokespecial io.ebeaninternal.server.deploy.id.ImportedIdEmbedded.<init>:(Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;[Lio/ebeaninternal/server/deploy/id/ImportedIdSimple;)V
            areturn
        end local 9 // io.ebeaninternal.server.deploy.id.ImportedIdSimple[] scalars
        end local 8 // io.ebeaninternal.server.deploy.BeanProperty[] embBaseProps
        end local 7 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne embProp
        end local 6 // io.ebeaninternal.server.deploy.TableJoinColumn[] cols
        end local 5 // io.ebeaninternal.server.deploy.BeanProperty[] others
        end local 4 // io.ebeaninternal.server.deploy.BeanProperty idProp
        end local 3 // io.ebeaninternal.server.deploy.TableJoin join
        end local 2 // io.ebeaninternal.server.deploy.BeanDescriptor target
        end local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssoc owner
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0   19     1         owner  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<*>;
            0   19     2        target  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            0   19     3          join  Lio/ebeaninternal/server/deploy/TableJoin;
            1   19     4        idProp  Lio/ebeaninternal/server/deploy/BeanProperty;
            2   19     5        others  [Lio/ebeaninternal/server/deploy/BeanProperty;
            4    5     6      dbColumn  Ljava/lang/String;
            6   19     6          cols  [Lio/ebeaninternal/server/deploy/TableJoinColumn;
           11   13     7           msg  Ljava/lang/String;
           14   15     7       idProps  [Lio/ebeaninternal/server/deploy/BeanProperty;
           16   19     7       embProp  Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;
           17   19     8  embBaseProps  [Lio/ebeaninternal/server/deploy/BeanProperty;
           18   19     9       scalars  [Lio/ebeaninternal/server/deploy/id/ImportedIdSimple;
    Signature: (Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<*>;Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Lio/ebeaninternal/server/deploy/TableJoin;)Lio/ebeaninternal/server/deploy/id/ImportedId;
    MethodParameters:
        Name  Flags
      owner   
      target  
      join    

  private io.ebeaninternal.server.deploy.id.ImportedIdSimple[] createImportedList(io.ebeaninternal.server.deploy.BeanPropertyAssoc<?>, io.ebeaninternal.server.deploy.TableJoinColumn[], io.ebeaninternal.server.deploy.BeanProperty[], io.ebeaninternal.server.deploy.BeanProperty[]);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;[Lio/ebeaninternal/server/deploy/TableJoinColumn;[Lio/ebeaninternal/server/deploy/BeanProperty;[Lio/ebeaninternal/server/deploy/BeanProperty;)[Lio/ebeaninternal/server/deploy/id/ImportedIdSimple;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssoc owner
        start local 2 // io.ebeaninternal.server.deploy.TableJoinColumn[] cols
        start local 3 // io.ebeaninternal.server.deploy.BeanProperty[] props
        start local 4 // io.ebeaninternal.server.deploy.BeanProperty[] others
         0: .line 477
            new java.util.ArrayList
            dup
            aload 2 /* cols */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* list */
        start local 5 // java.util.ArrayList list
         1: .line 479
            aload 2 /* cols */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 5
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssoc io.ebeaninternal.server.deploy.BeanPropertyAssoc io.ebeaninternal.server.deploy.TableJoinColumn[] io.ebeaninternal.server.deploy.BeanProperty[] io.ebeaninternal.server.deploy.BeanProperty[] java.util.ArrayList top int int io.ebeaninternal.server.deploy.TableJoinColumn[]
      StackMap stack:
         2: aload 9
            iload 7
            aaload
            astore 6 /* col */
        start local 6 // io.ebeaninternal.server.deploy.TableJoinColumn col
         3: .line 480
            aload 5 /* list */
            aload 0 /* this */
            aload 1 /* owner */
            aload 6 /* col */
            aload 3 /* props */
            aload 4 /* others */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.createImportedScalar:(Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;Lio/ebeaninternal/server/deploy/TableJoinColumn;[Lio/ebeaninternal/server/deploy/BeanProperty;[Lio/ebeaninternal/server/deploy/BeanProperty;)Lio/ebeaninternal/server/deploy/id/ImportedIdSimple;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // io.ebeaninternal.server.deploy.TableJoinColumn col
         4: .line 479
            iinc 7 1
      StackMap locals:
      StackMap stack:
         5: iload 7
            iload 8
            if_icmplt 2
         6: .line 483
            aload 5 /* list */
            invokestatic io.ebeaninternal.server.deploy.id.ImportedIdSimple.sort:(Ljava/util/List;)[Lio/ebeaninternal/server/deploy/id/ImportedIdSimple;
            areturn
        end local 5 // java.util.ArrayList list
        end local 4 // io.ebeaninternal.server.deploy.BeanProperty[] others
        end local 3 // io.ebeaninternal.server.deploy.BeanProperty[] props
        end local 2 // io.ebeaninternal.server.deploy.TableJoinColumn[] cols
        end local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssoc owner
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    7     1   owner  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<*>;
            0    7     2    cols  [Lio/ebeaninternal/server/deploy/TableJoinColumn;
            0    7     3   props  [Lio/ebeaninternal/server/deploy/BeanProperty;
            0    7     4  others  [Lio/ebeaninternal/server/deploy/BeanProperty;
            1    7     5    list  Ljava/util/ArrayList<Lio/ebeaninternal/server/deploy/id/ImportedIdSimple;>;
            3    4     6     col  Lio/ebeaninternal/server/deploy/TableJoinColumn;
    Signature: (Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<*>;[Lio/ebeaninternal/server/deploy/TableJoinColumn;[Lio/ebeaninternal/server/deploy/BeanProperty;[Lio/ebeaninternal/server/deploy/BeanProperty;)[Lio/ebeaninternal/server/deploy/id/ImportedIdSimple;
    MethodParameters:
        Name  Flags
      owner   
      cols    
      props   
      others  

  private io.ebeaninternal.server.deploy.id.ImportedIdSimple createImportedScalar(io.ebeaninternal.server.deploy.BeanPropertyAssoc<?>, io.ebeaninternal.server.deploy.TableJoinColumn, io.ebeaninternal.server.deploy.BeanProperty[], io.ebeaninternal.server.deploy.BeanProperty[]);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;Lio/ebeaninternal/server/deploy/TableJoinColumn;[Lio/ebeaninternal/server/deploy/BeanProperty;[Lio/ebeaninternal/server/deploy/BeanProperty;)Lio/ebeaninternal/server/deploy/id/ImportedIdSimple;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssoc owner
        start local 2 // io.ebeaninternal.server.deploy.TableJoinColumn col
        start local 3 // io.ebeaninternal.server.deploy.BeanProperty[] props
        start local 4 // io.ebeaninternal.server.deploy.BeanProperty[] others
         0: .line 488
            aload 2 /* col */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.getForeignDbColumn:()Ljava/lang/String;
            astore 5 /* matchColumn */
        start local 5 // java.lang.String matchColumn
         1: .line 489
            aload 2 /* col */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.getLocalDbColumn:()Ljava/lang/String;
            astore 6 /* localColumn */
        start local 6 // java.lang.String localColumn
         2: .line 490
            aload 2 /* col */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.getLocalSqlFormula:()Ljava/lang/String;
            astore 7 /* localSqlFormula */
        start local 7 // java.lang.String localSqlFormula
         3: .line 491
            aload 2 /* col */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.isInsertable:()Z
            istore 8 /* insertable */
        start local 8 // boolean insertable
         4: .line 492
            aload 2 /* col */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.isUpdateable:()Z
            istore 9 /* updateable */
        start local 9 // boolean updateable
         5: .line 494
            iconst_0
            istore 10 /* j */
        start local 10 // int j
         6: goto 10
         7: .line 495
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssoc io.ebeaninternal.server.deploy.BeanPropertyAssoc io.ebeaninternal.server.deploy.TableJoinColumn io.ebeaninternal.server.deploy.BeanProperty[] io.ebeaninternal.server.deploy.BeanProperty[] java.lang.String java.lang.String java.lang.String int int int
      StackMap stack:
            aload 3 /* props */
            iload 10 /* j */
            aaload
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getDbColumn:()Ljava/lang/String;
            aload 5 /* matchColumn */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 496
            new io.ebeaninternal.server.deploy.id.ImportedIdSimple
            dup
            aload 1 /* owner */
            aload 6 /* localColumn */
            aload 7 /* localSqlFormula */
            aload 3 /* props */
            iload 10 /* j */
            aaload
            iload 10 /* j */
            iload 8 /* insertable */
            iload 9 /* updateable */
            invokespecial io.ebeaninternal.server.deploy.id.ImportedIdSimple.<init>:(Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/server/deploy/BeanProperty;IZZ)V
            areturn
         9: .line 494
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        10: iload 10 /* j */
            aload 3 /* props */
            arraylength
            if_icmplt 7
        end local 10 // int j
        11: .line 500
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        12: goto 16
        13: .line 501
      StackMap locals:
      StackMap stack:
            aload 4 /* others */
            iload 10 /* j */
            aaload
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getDbColumn:()Ljava/lang/String;
            aload 5 /* matchColumn */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 15
        14: .line 502
            new io.ebeaninternal.server.deploy.id.ImportedIdSimple
            dup
            aload 1 /* owner */
            aload 6 /* localColumn */
            aload 7 /* localSqlFormula */
            aload 4 /* others */
            iload 10 /* j */
            aaload
            iload 10 /* j */
            aload 3 /* props */
            arraylength
            iadd
            iload 8 /* insertable */
            iload 9 /* updateable */
            invokespecial io.ebeaninternal.server.deploy.id.ImportedIdSimple.<init>:(Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/server/deploy/BeanProperty;IZZ)V
            areturn
        15: .line 500
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        16: iload 10 /* j */
            aload 4 /* others */
            arraylength
            if_icmplt 13
        end local 10 // int j
        17: .line 506
            new java.lang.StringBuilder
            dup
            ldc "Error with the Join on ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.getFullBeanName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 507
            ldc "]. Could not find the local match for ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* matchColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 508
            ldc " Perhaps an error in a @JoinColumn"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 506
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* msg */
        start local 10 // java.lang.String msg
        21: .line 509
            new javax.persistence.PersistenceException
            dup
            aload 10 /* msg */
            invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.lang.String msg
        end local 9 // boolean updateable
        end local 8 // boolean insertable
        end local 7 // java.lang.String localSqlFormula
        end local 6 // java.lang.String localColumn
        end local 5 // java.lang.String matchColumn
        end local 4 // io.ebeaninternal.server.deploy.BeanProperty[] others
        end local 3 // io.ebeaninternal.server.deploy.BeanProperty[] props
        end local 2 // io.ebeaninternal.server.deploy.TableJoinColumn col
        end local 1 // io.ebeaninternal.server.deploy.BeanPropertyAssoc owner
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0   22     1            owner  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<*>;
            0   22     2              col  Lio/ebeaninternal/server/deploy/TableJoinColumn;
            0   22     3            props  [Lio/ebeaninternal/server/deploy/BeanProperty;
            0   22     4           others  [Lio/ebeaninternal/server/deploy/BeanProperty;
            1   22     5      matchColumn  Ljava/lang/String;
            2   22     6      localColumn  Ljava/lang/String;
            3   22     7  localSqlFormula  Ljava/lang/String;
            4   22     8       insertable  Z
            5   22     9       updateable  Z
            6   11    10                j  I
           12   17    10                j  I
           21   22    10              msg  Ljava/lang/String;
    Signature: (Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<*>;Lio/ebeaninternal/server/deploy/TableJoinColumn;[Lio/ebeaninternal/server/deploy/BeanProperty;[Lio/ebeaninternal/server/deploy/BeanProperty;)Lio/ebeaninternal/server/deploy/id/ImportedIdSimple;
    MethodParameters:
        Name  Flags
      owner   
      col     
      props   
      others  

  private java.util.List<java.lang.Object> flattenParentIds(java.util.List<java.lang.Object>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // java.util.List parentIds
         0: .line 513
            new java.util.ArrayList
            dup
            aload 1 /* parentIds */
            invokeinterface java.util.List.size:()I
            iconst_3
            imul
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* bindValues */
        start local 2 // java.util.List bindValues
         1: .line 514
            aload 1 /* parentIds */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssoc java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* parentId */
        start local 3 // java.lang.Object parentId
         3: .line 515
            aload 0 /* this */
            aload 2 /* bindValues */
            aload 3 /* parentId */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.flatten:(Ljava/util/List;Ljava/lang/Object;)V
        end local 3 // java.lang.Object parentId
         4: .line 514
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 517
            aload 2 /* bindValues */
            areturn
        end local 2 // java.util.List bindValues
        end local 1 // java.util.List parentIds
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    6     1   parentIds  Ljava/util/List<Ljava/lang/Object;>;
            1    6     2  bindValues  Ljava/util/List<Ljava/lang/Object;>;
            3    4     3    parentId  Ljava/lang/Object;
    Signature: (Ljava/util/List<Ljava/lang/Object;>;)Ljava/util/List<Ljava/lang/Object;>;
    MethodParameters:
           Name  Flags
      parentIds  

  private java.util.List<java.lang.Object> flattenParentId();
    descriptor: (Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // java.lang.Object parentId
         0: .line 521
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* bindValues */
        start local 2 // java.util.List bindValues
         1: .line 522
            aload 0 /* this */
            aload 2 /* bindValues */
            aload 1 /* parentId */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.flatten:(Ljava/util/List;Ljava/lang/Object;)V
         2: .line 523
            aload 2 /* bindValues */
            areturn
        end local 2 // java.util.List bindValues
        end local 1 // java.lang.Object parentId
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    3     1    parentId  Ljava/lang/Object;
            1    3     2  bindValues  Ljava/util/List<Ljava/lang/Object;>;
    Signature: (Ljava/lang/Object;)Ljava/util/List<Ljava/lang/Object;>;
    MethodParameters:
          Name  Flags
      parentId  

  private void flatten(java.util.List<java.lang.Object>, );
    descriptor: (Ljava/util/List;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // java.util.List bindValues
        start local 2 // java.lang.Object parentId
         0: .line 528
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.isExportedSimple:()Z
            ifeq 3
         1: .line 529
            aload 1 /* bindValues */
            aload 2 /* parentId */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 531
            goto 9
         3: .line 532
      StackMap locals:
      StackMap stack:
            aload 2 /* parentId */
            checkcast io.ebean.bean.EntityBean
            astore 3 /* parent */
        start local 3 // io.ebean.bean.EntityBean parent
         4: .line 533
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssoc java.util.List java.lang.Object io.ebean.bean.EntityBean top int int io.ebeaninternal.server.deploy.ExportedProperty[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* exportedProperty */
        start local 4 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         6: .line 534
            aload 1 /* bindValues */
            aload 4 /* exportedProperty */
            aload 3 /* parent */
            invokevirtual io.ebeaninternal.server.deploy.ExportedProperty.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         7: .line 533
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 5
        end local 3 // io.ebean.bean.EntityBean parent
         9: .line 537
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssoc java.util.List java.lang.Object
      StackMap stack:
            return
        end local 2 // java.lang.Object parentId
        end local 1 // java.util.List bindValues
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0   10     1        bindValues  Ljava/util/List<Ljava/lang/Object;>;
            0   10     2          parentId  Ljava/lang/Object;
            4    9     3            parent  Lio/ebean/bean/EntityBean;
            6    7     4  exportedProperty  Lio/ebeaninternal/server/deploy/ExportedProperty;
    Signature: (Ljava/util/List<Ljava/lang/Object;>;Ljava/lang/Object;)V
    MethodParameters:
            Name  Flags
      bindValues  
      parentId    

  void bindParentIds(io.ebeaninternal.server.core.DefaultSqlUpdate, java.util.List<java.lang.Object>);
    descriptor: (Lio/ebeaninternal/server/core/DefaultSqlUpdate;Ljava/util/List;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.server.core.DefaultSqlUpdate delete
        start local 2 // java.util.List parentIds
         0: .line 541
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.isExportedSimple:()Z
            ifeq 3
         1: .line 542
            aload 1 /* delete */
            new io.ebeaninternal.server.persist.MultiValueWrapper
            dup
            aload 2 /* parentIds */
            invokespecial io.ebeaninternal.server.persist.MultiValueWrapper.<init>:(Ljava/util/Collection;)V
            invokevirtual io.ebeaninternal.server.core.DefaultSqlUpdate.setParameter:(Ljava/lang/Object;)Lio/ebean/SqlUpdate;
            pop
         2: .line 543
            goto 8
         3: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* parentIds */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.flattenParentIds:(Ljava/util/List;)Ljava/util/List;
            astore 3 /* bindValues */
        start local 3 // java.util.List bindValues
         4: .line 546
            aload 3 /* bindValues */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssoc io.ebeaninternal.server.core.DefaultSqlUpdate java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* bindValue */
        start local 4 // java.lang.Object bindValue
         6: .line 547
            aload 1 /* delete */
            aload 4 /* bindValue */
            invokevirtual io.ebeaninternal.server.core.DefaultSqlUpdate.setParameter:(Ljava/lang/Object;)Lio/ebean/SqlUpdate;
            pop
        end local 4 // java.lang.Object bindValue
         7: .line 546
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 3 // java.util.List bindValues
         8: .line 550
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssoc io.ebeaninternal.server.core.DefaultSqlUpdate java.util.List
      StackMap stack:
            return
        end local 2 // java.util.List parentIds
        end local 1 // io.ebeaninternal.server.core.DefaultSqlUpdate delete
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    9     1      delete  Lio/ebeaninternal/server/core/DefaultSqlUpdate;
            0    9     2   parentIds  Ljava/util/List<Ljava/lang/Object;>;
            4    8     3  bindValues  Ljava/util/List<Ljava/lang/Object;>;
            6    7     4   bindValue  Ljava/lang/Object;
    Signature: (Lio/ebeaninternal/server/core/DefaultSqlUpdate;Ljava/util/List<Ljava/lang/Object;>;)V
    MethodParameters:
           Name  Flags
      delete     
      parentIds  

  void bindParentId(io.ebeaninternal.server.core.DefaultSqlUpdate, java.lang.Object);
    descriptor: (Lio/ebeaninternal/server/core/DefaultSqlUpdate;Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // io.ebeaninternal.server.core.DefaultSqlUpdate sqlUpd
        start local 2 // java.lang.Object parentId
         0: .line 554
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.isExportedSimple:()Z
            ifeq 3
         1: .line 555
            aload 1 /* sqlUpd */
            aload 2 /* parentId */
            invokevirtual io.ebeaninternal.server.core.DefaultSqlUpdate.setParameter:(Ljava/lang/Object;)Lio/ebean/SqlUpdate;
            pop
         2: .line 556
            return
         3: .line 558
      StackMap locals:
      StackMap stack:
            aload 2 /* parentId */
            checkcast io.ebean.bean.EntityBean
            astore 3 /* parent */
        start local 3 // io.ebean.bean.EntityBean parent
         4: .line 559
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssoc io.ebeaninternal.server.core.DefaultSqlUpdate java.lang.Object io.ebean.bean.EntityBean top int int io.ebeaninternal.server.deploy.ExportedProperty[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* exportedProperty */
        start local 4 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         6: .line 560
            aload 1 /* sqlUpd */
            aload 4 /* exportedProperty */
            aload 3 /* parent */
            invokevirtual io.ebeaninternal.server.deploy.ExportedProperty.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            invokevirtual io.ebeaninternal.server.core.DefaultSqlUpdate.setParameter:(Ljava/lang/Object;)Lio/ebean/SqlUpdate;
            pop
        end local 4 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         7: .line 559
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 5
         9: .line 562
            return
        end local 3 // io.ebean.bean.EntityBean parent
        end local 2 // java.lang.Object parentId
        end local 1 // io.ebeaninternal.server.core.DefaultSqlUpdate sqlUpd
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0   10     1            sqlUpd  Lio/ebeaninternal/server/core/DefaultSqlUpdate;
            0   10     2          parentId  Ljava/lang/Object;
            4   10     3            parent  Lio/ebean/bean/EntityBean;
            6    7     4  exportedProperty  Lio/ebeaninternal/server/deploy/ExportedProperty;
    MethodParameters:
          Name  Flags
      sqlUpd    
      parentId  

  void bindParentIdEq(java.lang.String, , io.ebean.Query<?>);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Lio/ebean/Query;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // java.lang.String expr
        start local 2 // java.lang.Object parentId
        start local 3 // io.ebean.Query q
         0: .line 565
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.isExportedSimple:()Z
            ifeq 3
         1: .line 566
            aload 3 /* q */
            invokeinterface io.ebean.Query.where:()Lio/ebean/ExpressionList;
            aload 1 /* expr */
            aload 2 /* parentId */
            invokeinterface io.ebean.ExpressionList.raw:(Ljava/lang/String;Ljava/lang/Object;)Lio/ebean/ExpressionList;
            pop
         2: .line 567
            goto 5
         3: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* parentId */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.flattenParentId:(Ljava/lang/Object;)Ljava/util/List;
            astore 4 /* bindValues */
        start local 4 // java.util.List bindValues
         4: .line 570
            aload 3 /* q */
            invokeinterface io.ebean.Query.where:()Lio/ebean/ExpressionList;
            aload 1 /* expr */
            aload 4 /* bindValues */
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            invokeinterface io.ebean.ExpressionList.raw:(Ljava/lang/String;[Ljava/lang/Object;)Lio/ebean/ExpressionList;
            pop
        end local 4 // java.util.List bindValues
         5: .line 572
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.ebean.Query q
        end local 2 // java.lang.Object parentId
        end local 1 // java.lang.String expr
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    6     1        expr  Ljava/lang/String;
            0    6     2    parentId  Ljava/lang/Object;
            0    6     3           q  Lio/ebean/Query<*>;
            4    5     4  bindValues  Ljava/util/List<Ljava/lang/Object;>;
    Signature: (Ljava/lang/String;Ljava/lang/Object;Lio/ebean/Query<*>;)V
    MethodParameters:
          Name  Flags
      expr      
      parentId  
      q         

  void bindParentIdsIn(java.lang.String, java.util.List<java.lang.Object>, io.ebean.Query<?>);
    descriptor: (Ljava/lang/String;Ljava/util/List;Lio/ebean/Query;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // java.lang.String expr
        start local 2 // java.util.List parentIds
        start local 3 // io.ebean.Query q
         0: .line 575
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.isExportedSimple:()Z
            ifeq 3
         1: .line 576
            aload 3 /* q */
            invokeinterface io.ebean.Query.where:()Lio/ebean/ExpressionList;
            aload 1 /* expr */
            new io.ebeaninternal.server.persist.MultiValueWrapper
            dup
            aload 2 /* parentIds */
            invokespecial io.ebeaninternal.server.persist.MultiValueWrapper.<init>:(Ljava/util/Collection;)V
            invokeinterface io.ebean.ExpressionList.raw:(Ljava/lang/String;Ljava/lang/Object;)Lio/ebean/ExpressionList;
            pop
         2: .line 577
            goto 5
         3: .line 579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* parentIds */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.flattenParentIds:(Ljava/util/List;)Ljava/util/List;
            astore 4 /* bindValues */
        start local 4 // java.util.List bindValues
         4: .line 580
            aload 3 /* q */
            invokeinterface io.ebean.Query.where:()Lio/ebean/ExpressionList;
            aload 1 /* expr */
            aload 4 /* bindValues */
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            invokeinterface io.ebean.ExpressionList.raw:(Ljava/lang/String;[Ljava/lang/Object;)Lio/ebean/ExpressionList;
            pop
        end local 4 // java.util.List bindValues
         5: .line 582
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.ebean.Query q
        end local 2 // java.util.List parentIds
        end local 1 // java.lang.String expr
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0    6     1        expr  Ljava/lang/String;
            0    6     2   parentIds  Ljava/util/List<Ljava/lang/Object;>;
            0    6     3           q  Lio/ebean/Query<*>;
            4    5     4  bindValues  Ljava/util/List<Ljava/lang/Object;>;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/Object;>;Lio/ebean/Query<*>;)V
    MethodParameters:
           Name  Flags
      expr       
      parentIds  
      q          

  private boolean isExportedSimple();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
         0: .line 585
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssoc.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            arraylength
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;

  io.ebeaninternal.server.deploy.ExportedProperty findMatch(boolean, io.ebeaninternal.server.deploy.BeanProperty, java.lang.String, io.ebeaninternal.server.deploy.TableJoin);
    descriptor: (ZLio/ebeaninternal/server/deploy/BeanProperty;Ljava/lang/String;Lio/ebeaninternal/server/deploy/TableJoin;)Lio/ebeaninternal/server/deploy/ExportedProperty;
    flags: (0x0000) 
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
        start local 1 // boolean embedded
        start local 2 // io.ebeaninternal.server.deploy.BeanProperty prop
        start local 3 // java.lang.String matchColumn
        start local 4 // io.ebeaninternal.server.deploy.TableJoin tableJoin
         0: .line 593
            aload 4 /* tableJoin */
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.getTable:()Ljava/lang/String;
            astore 5 /* searchTable */
        start local 5 // java.lang.String searchTable
         1: .line 595
            aload 4 /* tableJoin */
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.columns:()[Lio/ebeaninternal/server/deploy/TableJoinColumn;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 8
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssoc int io.ebeaninternal.server.deploy.BeanProperty java.lang.String io.ebeaninternal.server.deploy.TableJoin java.lang.String top int int io.ebeaninternal.server.deploy.TableJoinColumn[]
      StackMap stack:
         2: aload 9
            iload 7
            aaload
            astore 6 /* column */
        start local 6 // io.ebeaninternal.server.deploy.TableJoinColumn column
         3: .line 596
            aload 6 /* column */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.getLocalDbColumn:()Ljava/lang/String;
            astore 10 /* matchTo */
        start local 10 // java.lang.String matchTo
         4: .line 598
            aload 3 /* matchColumn */
            aload 10 /* matchTo */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         5: .line 599
            aload 6 /* column */
            invokevirtual io.ebeaninternal.server.deploy.TableJoinColumn.getForeignDbColumn:()Ljava/lang/String;
            astore 11 /* foreignCol */
        start local 11 // java.lang.String foreignCol
         6: .line 600
            new io.ebeaninternal.server.deploy.ExportedProperty
            dup
            iload 1 /* embedded */
            aload 11 /* foreignCol */
            aload 2 /* prop */
            invokespecial io.ebeaninternal.server.deploy.ExportedProperty.<init>:(ZLjava/lang/String;Lio/ebeaninternal/server/deploy/BeanProperty;)V
            areturn
        end local 11 // java.lang.String foreignCol
        end local 10 // java.lang.String matchTo
        end local 6 // io.ebeaninternal.server.deploy.TableJoinColumn column
         7: .line 595
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
         8: iload 7
            iload 8
            if_icmplt 2
         9: .line 604
            new java.lang.StringBuilder
            dup
            ldc "Error with the Join on ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssoc.getFullBeanName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 605
            ldc "]. Could not find the matching foreign key for ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* matchColumn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] in table["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* searchTable */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 606
            ldc " Perhaps using a @JoinColumn with the name/referencedColumnName attributes swapped?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 604
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
        13: .line 607
            new javax.persistence.PersistenceException
            dup
            aload 6 /* msg */
            invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String msg
        end local 5 // java.lang.String searchTable
        end local 4 // io.ebeaninternal.server.deploy.TableJoin tableJoin
        end local 3 // java.lang.String matchColumn
        end local 2 // io.ebeaninternal.server.deploy.BeanProperty prop
        end local 1 // boolean embedded
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssoc this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;
            0   14     1     embedded  Z
            0   14     2         prop  Lio/ebeaninternal/server/deploy/BeanProperty;
            0   14     3  matchColumn  Ljava/lang/String;
            0   14     4    tableJoin  Lio/ebeaninternal/server/deploy/TableJoin;
            1   14     5  searchTable  Ljava/lang/String;
            3    7     6       column  Lio/ebeaninternal/server/deploy/TableJoinColumn;
            4    7    10      matchTo  Ljava/lang/String;
            6    7    11   foreignCol  Ljava/lang/String;
           13   14     6          msg  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      embedded     
      prop         
      matchColumn  
      tableJoin    
}
Signature: <T:Ljava/lang/Object;>Lio/ebeaninternal/server/deploy/BeanProperty;Lio/ebeaninternal/server/query/STreePropertyAssoc;
SourceFile: "BeanPropertyAssoc.java"