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

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

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

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

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

  private final boolean orphanRemoval;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.ebeaninternal.server.deploy.IntersectionTable intersectionTable;
    descriptor: Lio/ebeaninternal/server/deploy/IntersectionTable;
    flags: (0x0002) ACC_PRIVATE

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

  private final boolean unidirectional;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean o2mJoinTable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean hasOrderColumn;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean manyToMany;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean elementCollection;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final io.ebeaninternal.server.deploy.BeanDescriptor<T> elementDescriptor;
    descriptor: Lio/ebeaninternal/server/deploy/BeanDescriptor;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/ebeaninternal/server/deploy/BeanDescriptor<TT;>;

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

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

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

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

  private final io.ebean.bean.BeanCollection$ModifyListenMode modifyListenMode;
    descriptor: Lio/ebean/bean/BeanCollection$ModifyListenMode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.ebeaninternal.server.deploy.BeanProperty mapKeyProperty;
    descriptor: Lio/ebeaninternal/server/deploy/BeanProperty;
    flags: (0x0002) ACC_PRIVATE

  private io.ebeaninternal.server.deploy.BeanPropertyAssocOne<?> childMasterProperty;
    descriptor: Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;

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

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

  private io.ebeaninternal.server.deploy.BeanCollectionHelp<T> help;
    descriptor: Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/ebeaninternal/server/deploy/BeanCollectionHelp<TT;>;

  private io.ebeaninternal.server.deploy.id.ImportedId importedId;
    descriptor: Lio/ebeaninternal/server/deploy/id/ImportedId;
    flags: (0x0002) ACC_PRIVATE

  private io.ebeaninternal.server.deploy.BeanPropertyAssocManySqlHelp<T> sqlHelp;
    descriptor: Lio/ebeaninternal/server/deploy/BeanPropertyAssocManySqlHelp;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/ebeaninternal/server/deploy/BeanPropertyAssocManySqlHelp<TT;>;

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

  public void <init>(io.ebeaninternal.server.deploy.BeanDescriptor<?>, io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany<T>);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/meta/DeployBeanPropertyAssocMany;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptor descriptor
        start local 2 // io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany deploy
         0: .line 126
            aload 0 /* this */
            aload 1 /* descriptor */
            aload 2 /* deploy */
            invokespecial io.ebeaninternal.server.deploy.BeanPropertyAssoc.<init>:(Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/meta/DeployBeanPropertyAssoc;)V
         1: .line 127
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.isUnidirectional:()Z
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.unidirectional:Z
         2: .line 128
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.isOrphanRemoval:()Z
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.orphanRemoval:Z
         3: .line 129
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.isO2mJoinTable:()Z
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.o2mJoinTable:Z
         4: .line 130
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.hasOrderColumn:()Z
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasOrderColumn:Z
         5: .line 131
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.isManyToMany:()Z
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.manyToMany:Z
         6: .line 132
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.isElementCollection:()Z
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementCollection:Z
         7: .line 133
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.getElementDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
         8: .line 134
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.getManyType:()Lio/ebeaninternal/server/deploy/ManyType;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.manyType:Lio/ebeaninternal/server/deploy/ManyType;
         9: .line 135
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.getMapKey:()Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.mapKey:Ljava/lang/String;
        10: .line 136
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.getFetchOrderBy:()Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.fetchOrderBy:Ljava/lang/String;
        11: .line 137
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.createIntersectionTableJoin:()Lio/ebeaninternal/server/deploy/TableJoin;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionJoin:Lio/ebeaninternal/server/deploy/TableJoin;
        12: .line 138
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            ifnull 16
        13: .line 139
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.getTable:()Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionPublishTable:Ljava/lang/String;
        14: .line 140
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.getIntersectionDraftTable:()Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionDraftTable:Ljava/lang/String;
        15: .line 141
            goto 18
        16: .line 142
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionPublishTable:Ljava/lang/String;
        17: .line 143
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionDraftTable:Ljava/lang/String;
        18: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.createInverseTableJoin:()Lio/ebeaninternal/server/deploy/TableJoin;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.inverseJoin:Lio/ebeaninternal/server/deploy/TableJoin;
        19: .line 146
            aload 0 /* this */
            aload 2 /* deploy */
            invokevirtual io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany.getModifyListenMode:()Lio/ebean/bean/BeanCollection$ModifyListenMode;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.modifyListenMode:Lio/ebean/bean/BeanCollection$ModifyListenMode;
        20: .line 147
            aload 0 /* this */
            aload 1 /* descriptor */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isJacksonCorePresent:()Z
            ifeq 21
            new io.ebeaninternal.server.deploy.BeanPropertyAssocManyJsonHelp
            dup
            aload 0 /* this */
            invokespecial io.ebeaninternal.server.deploy.BeanPropertyAssocManyJsonHelp.<init>:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;)V
            goto 22
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.deploy.BeanPropertyAssocMany
        21: aconst_null
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany
      StackMap stack: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.server.deploy.BeanPropertyAssocManyJsonHelp
        22: putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.jsonHelp:Lio/ebeaninternal/server/deploy/BeanPropertyAssocManyJsonHelp;
        23: .line 148
            return
        end local 2 // io.ebeaninternal.server.deploy.meta.DeployBeanPropertyAssocMany deploy
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptor descriptor
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0   24     1  descriptor  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            0   24     2      deploy  Lio/ebeaninternal/server/deploy/meta/DeployBeanPropertyAssocMany<TT;>;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Lio/ebeaninternal/server/deploy/meta/DeployBeanPropertyAssocMany<TT;>;)V
    MethodParameters:
            Name  Flags
      descriptor  
      deploy      

  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.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptorInitContext initContext
         0: .line 152
            aload 0 /* this */
            aload 1 /* initContext */
            invokespecial io.ebeaninternal.server.deploy.BeanPropertyAssoc.initialise:(Lio/ebeaninternal/server/deploy/BeanDescriptorInitContext;)V
         1: .line 153
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.initialiseAssocMany:()V
         2: .line 154
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementCollection:Z
            ifeq 4
         3: .line 156
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* initContext */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.initialiseOther:(Lio/ebeaninternal/server/deploy/BeanDescriptorInitContext;)V
         4: .line 158
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptorInitContext initContext
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    5     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=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptorInitContext initContext
         0: .line 162
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementCollection:Z
            ifeq 3
         1: .line 163
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
         2: .line 164
            goto 4
         3: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* initContext */
            invokespecial io.ebeaninternal.server.deploy.BeanPropertyAssoc.initialiseTargetDescriptor:(Lio/ebeaninternal/server/deploy/BeanDescriptorInitContext;)V
         4: .line 167
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptorInitContext initContext
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    5     1  initContext  Lio/ebeaninternal/server/deploy/BeanDescriptorInitContext;
    MethodParameters:
             Name  Flags
      initContext  

  private void initialiseAssocMany();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 170
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.isTransient:Z
            ifne 16
         1: .line 171
            aload 0 /* this */
            aload 0 /* this */
            invokestatic io.ebeaninternal.server.deploy.BeanCollectionHelpFactory.create:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;)Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
         2: .line 172
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasJoinTable:()Z
            ifne 3
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementCollection:Z
            ifeq 5
         3: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.tableJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.createImportedId:(Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;Lio/ebeaninternal/server/deploy/BeanDescriptor;Lio/ebeaninternal/server/deploy/TableJoin;)Lio/ebeaninternal/server/deploy/id/ImportedId;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.importedId:Lio/ebeaninternal/server/deploy/id/ImportedId;
         4: .line 174
            goto 8
         5: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.initChildMasterProperty:()Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterProperty:Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
         6: .line 178
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterProperty:Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            ifnull 8
         7: .line 179
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterProperty:Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.setRelationshipProperty:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;)V
         8: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.mapKey:Ljava/lang/String;
            ifnull 10
         9: .line 183
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.initMapKeyProperty:()Lio/ebeaninternal/server/deploy/BeanProperty;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.mapKeyProperty:Lio/ebeaninternal/server/deploy/BeanProperty;
        10: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.createExported:()[Lio/ebeaninternal/server/deploy/ExportedProperty;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
        11: .line 186
            aload 0 /* this */
            new io.ebeaninternal.server.deploy.BeanPropertyAssocManySqlHelp
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            invokespecial io.ebeaninternal.server.deploy.BeanPropertyAssocManySqlHelp.<init>:(Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;[Lio/ebeaninternal/server/deploy/ExportedProperty;)V
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.sqlHelp:Lio/ebeaninternal/server/deploy/BeanPropertyAssocManySqlHelp;
        12: .line 187
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            arraylength
            ifle 16
        13: .line 188
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            iconst_0
            aaload
            invokevirtual io.ebeaninternal.server.deploy.ExportedProperty.isEmbedded:()Z
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.embeddedExportedProperties:Z
        14: .line 189
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.fetchOrderBy:Ljava/lang/String;
            ifnull 16
        15: .line 190
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.sqlHelp:Lio/ebeaninternal/server/deploy/BeanPropertyAssocManySqlHelp;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.fetchOrderBy:Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocManySqlHelp.lazyFetchOrderBy:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.lazyFetchOrderBy:Ljava/lang/String;
        16: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;

  java.lang.String targetTable();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 197
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.beanTable:Lio/ebeaninternal/server/deploy/BeanTable;
            invokevirtual io.ebeaninternal.server.deploy.BeanTable.getBaseTable:()Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;

  void initialisePostTarget();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 204
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterProperty:Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            ifnull 4
         1: .line 205
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterProperty:Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdProperty:()Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 1 /* masterId */
        start local 1 // io.ebeaninternal.server.deploy.BeanProperty masterId
         2: .line 206
            aload 1 /* masterId */
            ifnull 4
         3: .line 207
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterProperty:Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* masterId */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterIdProperty:Ljava/lang/String;
        end local 1 // io.ebeaninternal.server.deploy.BeanProperty masterId
         4: .line 210
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            2    4     1  masterId  Lio/ebeaninternal/server/deploy/BeanProperty;

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

  public boolean isManyToManyWithHistory();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 219
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.manyToMany:Z
            ifeq 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.excludedFromHistory:Z
            ifne 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isHistorySupport:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;

  protected void docStoreIncludeByDefault(io.ebean.text.PathProperties);
    descriptor: (Lio/ebean/text/PathProperties;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.text.PathProperties pathProps
         0: .line 225
            return
        end local 1 // io.ebean.text.PathProperties pathProps
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1  pathProps  Lio/ebean/text/PathProperties;
    MethodParameters:
           Name  Flags
      pathProps  

  public void registerColumn(io.ebeaninternal.server.deploy.BeanDescriptor<?>, java.lang.String);
    descriptor: (Lio/ebeaninternal/server/deploy/BeanDescriptor;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        start local 2 // java.lang.String prefix
         0: .line 229
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            ifnull 2
         1: .line 230
            aload 1 /* desc */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBaseTable:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.registerTable:(Ljava/lang/String;Lio/ebeaninternal/server/deploy/BeanPropertyAssoc;)V
         2: .line 232
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String prefix
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptor desc
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    3     1    desc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            0    3     2  prefix  Ljava/lang/String;
    Signature: (Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;Ljava/lang/String;)V
    MethodParameters:
        Name  Flags
      desc    
      prefix  

  public java.util.Collection getRawCollection(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean bean
         0: .line 238
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            aload 0 /* this */
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getVal:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface io.ebeaninternal.server.deploy.BeanCollectionHelp.underlying:(Ljava/lang/Object;)Ljava/util/Collection;
            areturn
        end local 1 // io.ebean.bean.EntityBean bean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1  bean  Lio/ebean/bean/EntityBean;
    MethodParameters:
      Name  Flags
      bean  

  public void merge(io.ebean.bean.EntityBean, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean bean
        start local 2 // io.ebean.bean.EntityBean existing
         0: .line 246
            aload 0 /* this */
            aload 2 /* existing */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getVal:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* existingCollection */
        start local 3 // java.lang.Object existingCollection
         1: .line 247
            aload 3 /* existingCollection */
            instanceof io.ebean.bean.BeanCollection
            ifeq 9
         2: .line 248
            aload 3 /* existingCollection */
            checkcast io.ebean.bean.BeanCollection
            astore 4 /* toBC */
        start local 4 // io.ebean.bean.BeanCollection toBC
         3: .line 249
            aload 4 /* toBC */
            invokeinterface io.ebean.bean.BeanCollection.isPopulated:()Z
            ifne 9
         4: .line 250
            aload 0 /* this */
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getVal:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* fromCollection */
        start local 5 // java.lang.Object fromCollection
         5: .line 251
            aload 5 /* fromCollection */
            instanceof io.ebean.bean.BeanCollection
            ifeq 9
         6: .line 252
            aload 5 /* fromCollection */
            checkcast io.ebean.bean.BeanCollection
            astore 6 /* fromBC */
        start local 6 // io.ebean.bean.BeanCollection fromBC
         7: .line 253
            aload 6 /* fromBC */
            invokeinterface io.ebean.bean.BeanCollection.isPopulated:()Z
            ifeq 9
         8: .line 254
            aload 4 /* toBC */
            aload 6 /* fromBC */
            invokeinterface io.ebean.bean.BeanCollection.loadFrom:(Lio/ebean/bean/BeanCollection;)V
        end local 6 // io.ebean.bean.BeanCollection fromBC
        end local 5 // java.lang.Object fromCollection
        end local 4 // io.ebean.bean.BeanCollection toBC
         9: .line 259
      StackMap locals: java.lang.Object
      StackMap stack:
            return
        end local 3 // java.lang.Object existingCollection
        end local 2 // io.ebean.bean.EntityBean existing
        end local 1 // io.ebean.bean.EntityBean bean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0   10     1                bean  Lio/ebean/bean/EntityBean;
            0   10     2            existing  Lio/ebean/bean/EntityBean;
            1   10     3  existingCollection  Ljava/lang/Object;
            3    9     4                toBC  Lio/ebean/bean/BeanCollection<*>;
            5    9     5      fromCollection  Ljava/lang/Object;
            7    9     6              fromBC  Lio/ebean/bean/BeanCollection<*>;
    MethodParameters:
          Name  Flags
      bean      
      existing  

  public void addBeanToCollectionWithCreate(io.ebean.bean.EntityBean, io.ebean.bean.EntityBean, boolean);
    descriptor: (Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean parentBean
        start local 2 // io.ebean.bean.EntityBean detailBean
        start local 3 // boolean withCheck
         0: .line 266
            aload 0 /* this */
            aload 1 /* parentBean */
            invokespecial io.ebeaninternal.server.deploy.BeanPropertyAssoc.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            checkcast io.ebean.bean.BeanCollection
            astore 4 /* bc */
        start local 4 // io.ebean.bean.BeanCollection bc
         1: .line 267
            aload 4 /* bc */
            ifnonnull 4
         2: .line 268
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            aload 1 /* parentBean */
            invokeinterface io.ebeaninternal.server.deploy.BeanCollectionHelp.createEmpty:(Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection;
            astore 4 /* bc */
         3: .line 269
            aload 0 /* this */
            aload 1 /* parentBean */
            aload 4 /* bc */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.setValue:(Lio/ebean/bean/EntityBean;Ljava/lang/Object;)V
         4: .line 271
      StackMap locals: io.ebean.bean.BeanCollection
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            aload 4 /* bc */
            aload 2 /* detailBean */
            iload 3 /* withCheck */
            invokeinterface io.ebeaninternal.server.deploy.BeanCollectionHelp.add:(Lio/ebean/bean/BeanCollection;Lio/ebean/bean/EntityBean;Z)V
         5: .line 272
            return
        end local 4 // io.ebean.bean.BeanCollection bc
        end local 3 // boolean withCheck
        end local 2 // io.ebean.bean.EntityBean detailBean
        end local 1 // io.ebean.bean.EntityBean parentBean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    6     1  parentBean  Lio/ebean/bean/EntityBean;
            0    6     2  detailBean  Lio/ebean/bean/EntityBean;
            0    6     3   withCheck  Z
            1    6     4          bc  Lio/ebean/bean/BeanCollection<*>;
    MethodParameters:
            Name  Flags
      parentBean  
      detailBean  
      withCheck   

  public boolean isSkipSaveBeanCollection(io.ebean.bean.EntityBean, boolean);
    descriptor: (Lio/ebean/bean/EntityBean;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean bean
        start local 2 // boolean insertedParent
         0: .line 278
            aload 0 /* this */
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            astore 3 /* val */
        start local 3 // java.lang.Object val
         1: .line 279
            aload 3 /* val */
            ifnonnull 3
         2: .line 280
            iconst_1
            ireturn
         3: .line 282
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* val */
            instanceof io.ebean.bean.BeanCollection
            ifeq 5
         4: .line 283
            aload 3 /* val */
            checkcast io.ebean.bean.BeanCollection
            invokeinterface io.ebean.bean.BeanCollection.isSkipSave:()Z
            ireturn
         5: .line 285
      StackMap locals:
      StackMap stack:
            iload 2 /* insertedParent */
            ifeq 10
         6: .line 287
            aload 3 /* val */
            instanceof java.util.Collection
            ifeq 8
         7: .line 288
            aload 3 /* val */
            checkcast java.util.Collection
            invokeinterface java.util.Collection.isEmpty:()Z
            ireturn
         8: .line 290
      StackMap locals:
      StackMap stack:
            aload 3 /* val */
            instanceof java.util.Map
            ifeq 10
         9: .line 291
            aload 3 /* val */
            checkcast java.util.Map
            invokeinterface java.util.Map.isEmpty:()Z
            ireturn
        10: .line 294
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.Object val
        end local 2 // boolean insertedParent
        end local 1 // io.ebean.bean.EntityBean bean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0   11     1            bean  Lio/ebean/bean/EntityBean;
            0   11     2  insertedParent  Z
            1   11     3             val  Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      bean            
      insertedParent  

  public void resetMany(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean bean
         0: .line 303
            aload 0 /* this */
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         1: .line 304
            aload 2 /* value */
            instanceof io.ebean.bean.BeanCollection
            ifeq 4
         2: .line 306
            aload 2 /* value */
            checkcast io.ebean.bean.BeanCollection
            aload 1 /* bean */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.name:Ljava/lang/String;
            invokeinterface io.ebean.bean.BeanCollection.reset:(Lio/ebean/bean/EntityBean;Ljava/lang/String;)V
         3: .line 307
            goto 5
         4: .line 308
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.createReference:(Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection;
            pop
         5: .line 310
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object value
        end local 1 // io.ebean.bean.EntityBean bean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    6     1   bean  Lio/ebean/bean/EntityBean;
            1    6     2  value  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      bean  

  public io.ebeaninternal.server.el.ElPropertyValue buildElPropertyValue(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: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany 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 314
            aload 0 /* this */
            aload 1 /* propName */
            aload 2 /* remainder */
            aload 3 /* chain */
            iload 4 /* propertyDeploy */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.createElPropertyValue:(Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/server/el/ElPropertyChainBuilder;Z)Lio/ebeaninternal/server/el/ElPropertyValue;
            areturn
        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.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1        propName  Ljava/lang/String;
            0    1     2       remainder  Ljava/lang/String;
            0    1     3           chain  Lio/ebeaninternal/server/el/ElPropertyChainBuilder;
            0    1     4  propertyDeploy  Z
    MethodParameters:
                Name  Flags
      propName        
      remainder       
      chain           
      propertyDeploy  

  public void buildRawSqlSelectChain(java.lang.String, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // java.lang.String prefix
        start local 2 // java.util.List selectChain
         0: .line 320
            return
        end local 2 // java.util.List selectChain
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1       prefix  Ljava/lang/String;
            0    1     2  selectChain  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
             Name  Flags
      prefix       
      selectChain  

  public io.ebeaninternal.api.SpiSqlUpdate deleteByParentId(, java.util.List<java.lang.Object>);
    descriptor: (Ljava/lang/Object;Ljava/util/List;)Lio/ebeaninternal/api/SpiSqlUpdate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // java.lang.Object parentId
        start local 2 // java.util.List parentIdist
         0: .line 323
            aload 1 /* parentId */
            ifnull 2
         1: .line 324
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.sqlHelp:Lio/ebeaninternal/server/deploy/BeanPropertyAssocManySqlHelp;
            aload 1 /* parentId */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocManySqlHelp.deleteByParentId:(Ljava/lang/Object;)Lio/ebeaninternal/api/SpiSqlUpdate;
            areturn
         2: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.sqlHelp:Lio/ebeaninternal/server/deploy/BeanPropertyAssocManySqlHelp;
            aload 2 /* parentIdist */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocManySqlHelp.deleteByParentIdList:(Ljava/util/List;)Lio/ebeaninternal/api/SpiSqlUpdate;
            areturn
        end local 2 // java.util.List parentIdist
        end local 1 // java.lang.Object parentId
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    3     1     parentId  Ljava/lang/Object;
            0    3     2  parentIdist  Ljava/util/List<Ljava/lang/Object;>;
    Signature: (Ljava/lang/Object;Ljava/util/List<Ljava/lang/Object;>;)Lio/ebeaninternal/api/SpiSqlUpdate;
    MethodParameters:
             Name  Flags
      parentId     
      parentIdist  

  public java.util.List<java.lang.Object> findIdsByParentId(, java.util.List<java.lang.Object>, io.ebean.Transaction, java.util.List<java.lang.Object>, boolean);
    descriptor: (Ljava/lang/Object;Ljava/util/List;Lio/ebean/Transaction;Ljava/util/List;Z)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // java.lang.Object parentId
        start local 2 // java.util.List parentIdList
        start local 3 // io.ebean.Transaction t
        start local 4 // java.util.List excludeDetailIds
        start local 5 // boolean hard
         0: .line 334
            aload 1 /* parentId */
            ifnull 2
         1: .line 335
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.sqlHelp:Lio/ebeaninternal/server/deploy/BeanPropertyAssocManySqlHelp;
            aload 1 /* parentId */
            aload 3 /* t */
            aload 4 /* excludeDetailIds */
            iload 5 /* hard */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocManySqlHelp.findIdsByParentId:(Ljava/lang/Object;Lio/ebean/Transaction;Ljava/util/List;Z)Ljava/util/List;
            areturn
         2: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.sqlHelp:Lio/ebeaninternal/server/deploy/BeanPropertyAssocManySqlHelp;
            aload 2 /* parentIdList */
            aload 3 /* t */
            aload 4 /* excludeDetailIds */
            iload 5 /* hard */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocManySqlHelp.findIdsByParentIdList:(Ljava/util/List;Lio/ebean/Transaction;Ljava/util/List;Z)Ljava/util/List;
            areturn
        end local 5 // boolean hard
        end local 4 // java.util.List excludeDetailIds
        end local 3 // io.ebean.Transaction t
        end local 2 // java.util.List parentIdList
        end local 1 // java.lang.Object parentId
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    3     1          parentId  Ljava/lang/Object;
            0    3     2      parentIdList  Ljava/util/List<Ljava/lang/Object;>;
            0    3     3                 t  Lio/ebean/Transaction;
            0    3     4  excludeDetailIds  Ljava/util/List<Ljava/lang/Object;>;
            0    3     5              hard  Z
    Signature: (Ljava/lang/Object;Ljava/util/List<Ljava/lang/Object;>;Lio/ebean/Transaction;Ljava/util/List<Ljava/lang/Object;>;Z)Ljava/util/List<Ljava/lang/Object;>;
    MethodParameters:
                  Name  Flags
      parentId          
      parentIdList      
      t                 
      excludeDetailIds  
      hard              

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

  public void lazyLoadMany(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean current
         0: .line 357
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterProperty:Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            aload 1 /* current */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.getValueAsEntityBean:(Lio/ebean/bean/EntityBean;)Lio/ebean/bean/EntityBean;
            astore 2 /* parentBean */
        start local 2 // io.ebean.bean.EntityBean parentBean
         1: .line 358
            aload 2 /* parentBean */
            ifnull 3
         2: .line 359
            aload 0 /* this */
            aload 2 /* parentBean */
            aload 1 /* current */
            iconst_1
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.addBeanToCollectionWithCreate:(Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;Z)V
         3: .line 361
      StackMap locals: io.ebean.bean.EntityBean
      StackMap stack:
            return
        end local 2 // io.ebean.bean.EntityBean parentBean
        end local 1 // io.ebean.bean.EntityBean current
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    4     1     current  Lio/ebean/bean/EntityBean;
            1    4     2  parentBean  Lio/ebean/bean/EntityBean;
    MethodParameters:
         Name  Flags
      current  

  public void addWhereParentIdIn(io.ebeaninternal.api.SpiQuery<?>, java.util.List<java.lang.Object>, );
    descriptor: (Lio/ebeaninternal/api/SpiQuery;Ljava/util/List;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.api.SpiQuery query
        start local 2 // java.util.List parentIds
        start local 3 // boolean useDocStore
         0: .line 364
            iload 3 /* useDocStore */
            ifeq 3
         1: .line 366
            aload 1 /* query */
            invokeinterface io.ebeaninternal.api.SpiQuery.where:()Lio/ebean/ExpressionList;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterIdProperty:Ljava/lang/String;
            aload 2 /* parentIds */
            invokeinterface io.ebean.ExpressionList.in:(Ljava/lang/String;Ljava/util/Collection;)Lio/ebean/ExpressionList;
            pop
         2: .line 367
            goto 4
         3: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.sqlHelp:Lio/ebeaninternal/server/deploy/BeanPropertyAssocManySqlHelp;
            aload 1 /* query */
            aload 2 /* parentIds */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocManySqlHelp.addWhereParentIdIn:(Lio/ebeaninternal/api/SpiQuery;Ljava/util/List;)V
         4: .line 370
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean useDocStore
        end local 2 // java.util.List parentIds
        end local 1 // io.ebeaninternal.api.SpiQuery query
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    5     1        query  Lio/ebeaninternal/api/SpiQuery<*>;
            0    5     2    parentIds  Ljava/util/List<Ljava/lang/Object;>;
            0    5     3  useDocStore  Z
    Signature: (Lio/ebeaninternal/api/SpiQuery<*>;Ljava/util/List<Ljava/lang/Object;>;Z)V
    MethodParameters:
             Name  Flags
      query        
      parentIds    
      useDocStore  

  public void setEbeanServer(io.ebeaninternal.api.SpiEbeanServer);
    descriptor: (Lio/ebeaninternal/api/SpiEbeanServer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.api.SpiEbeanServer server
         0: .line 377
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            ifnull 2
         1: .line 378
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            aload 1 /* server */
            invokeinterface io.ebeaninternal.server.deploy.BeanCollectionHelp.setLoader:(Lio/ebean/bean/BeanCollectionLoader;)V
         2: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.manyToMany:Z
            ifeq 4
         3: .line 381
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.initIntersectionTable:()Lio/ebeaninternal/server/deploy/IntersectionTable;
            putfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionTable:Lio/ebeaninternal/server/deploy/IntersectionTable;
         4: .line 383
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebeaninternal.api.SpiEbeanServer server
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    5     1  server  Lio/ebeaninternal/api/SpiEbeanServer;
    MethodParameters:
        Name  Flags
      server  

  private io.ebeaninternal.server.deploy.IntersectionTable initIntersectionTable();
    descriptor: ()Lio/ebeaninternal/server/deploy/IntersectionTable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 386
            new io.ebeaninternal.server.deploy.IntersectionBuilder
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionPublishTable:Ljava/lang/String;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionDraftTable:Ljava/lang/String;
            invokespecial io.ebeaninternal.server.deploy.IntersectionBuilder.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* row */
        start local 1 // io.ebeaninternal.server.deploy.IntersectionBuilder row
         1: .line 387
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.server.deploy.IntersectionBuilder top int int io.ebeaninternal.server.deploy.ExportedProperty[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* exportedProperty */
        start local 2 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         3: .line 388
            aload 1 /* row */
            aload 2 /* exportedProperty */
            invokevirtual io.ebeaninternal.server.deploy.ExportedProperty.getForeignDbColumn:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.deploy.IntersectionBuilder.addColumn:(Ljava/lang/String;)V
        end local 2 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         4: .line 387
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 390
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.importedId:Lio/ebeaninternal/server/deploy/id/ImportedId;
            aload 1 /* row */
            invokeinterface io.ebeaninternal.server.deploy.id.ImportedId.buildImport:(Lio/ebeaninternal/server/deploy/IntersectionBuilder;)V
         7: .line 391
            aload 1 /* row */
            invokevirtual io.ebeaninternal.server.deploy.IntersectionBuilder.build:()Lio/ebeaninternal/server/deploy/IntersectionTable;
            areturn
        end local 1 // io.ebeaninternal.server.deploy.IntersectionBuilder row
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            1    8     1               row  Lio/ebeaninternal/server/deploy/IntersectionBuilder;
            3    4     2  exportedProperty  Lio/ebeaninternal/server/deploy/ExportedProperty;

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

  public io.ebean.bean.BeanCollection$ModifyListenMode getModifyListenMode();
    descriptor: ()Lio/ebean/bean/BeanCollection$ModifyListenMode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 406
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.modifyListenMode:Lio/ebean/bean/BeanCollection$ModifyListenMode;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;

  public void appendSelect(io.ebeaninternal.server.deploy.DbSqlContext, boolean);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        start local 2 // boolean subQuery
         0: .line 411
            return
        end local 2 // boolean subQuery
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1       ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            0    1     2  subQuery  Z
    MethodParameters:
          Name  Flags
      ctx       
      subQuery  

  public void loadIgnore(io.ebeaninternal.server.deploy.DbReadContext);
    descriptor: (Lio/ebeaninternal/server/deploy/DbReadContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.DbReadContext ctx
         0: .line 416
            return
        end local 1 // io.ebeaninternal.server.deploy.DbReadContext ctx
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1   ctx  Lio/ebeaninternal/server/deploy/DbReadContext;
    MethodParameters:
      Name  Flags
      ctx   

  public void load(io.ebeaninternal.server.query.SqlBeanLoad);
    descriptor: (Lio/ebeaninternal/server/query/SqlBeanLoad;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.query.SqlBeanLoad sqlBeanLoad
         0: .line 423
            return
        end local 1 // io.ebeaninternal.server.query.SqlBeanLoad sqlBeanLoad
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1  sqlBeanLoad  Lio/ebeaninternal/server/query/SqlBeanLoad;
    MethodParameters:
             Name  Flags
      sqlBeanLoad  

  public java.lang.Object readSet(io.ebeaninternal.server.deploy.DbReadContext, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebeaninternal/server/deploy/DbReadContext;Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.DbReadContext ctx
        start local 2 // io.ebean.bean.EntityBean bean
         0: .line 427
            aconst_null
            areturn
        end local 2 // io.ebean.bean.EntityBean bean
        end local 1 // io.ebeaninternal.server.deploy.DbReadContext ctx
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1   ctx  Lio/ebeaninternal/server/deploy/DbReadContext;
            0    1     2  bean  Lio/ebean/bean/EntityBean;
    MethodParameters:
      Name  Flags
      ctx   
      bean  

  public java.lang.Object read(io.ebeaninternal.server.deploy.DbReadContext);
    descriptor: (Lio/ebeaninternal/server/deploy/DbReadContext;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.DbReadContext ctx
         0: .line 432
            aconst_null
            areturn
        end local 1 // io.ebeaninternal.server.deploy.DbReadContext ctx
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1   ctx  Lio/ebeaninternal/server/deploy/DbReadContext;
    MethodParameters:
      Name  Flags
      ctx   

  public void add(io.ebean.bean.BeanCollection<?>, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/BeanCollection;Lio/ebean/bean/EntityBean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.BeanCollection collection
        start local 2 // io.ebean.bean.EntityBean bean
         0: .line 436
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            aload 1 /* collection */
            aload 2 /* bean */
            iconst_0
            invokeinterface io.ebeaninternal.server.deploy.BeanCollectionHelp.add:(Lio/ebean/bean/BeanCollection;Lio/ebean/bean/EntityBean;Z)V
         1: .line 437
            return
        end local 2 // io.ebean.bean.EntityBean bean
        end local 1 // io.ebean.bean.BeanCollection collection
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    2     1  collection  Lio/ebean/bean/BeanCollection<*>;
            0    2     2        bean  Lio/ebean/bean/EntityBean;
    Signature: (Lio/ebean/bean/BeanCollection<*>;Lio/ebean/bean/EntityBean;)V
    MethodParameters:
            Name  Flags
      collection  
      bean        

  public java.lang.String getAssocIsEmpty(io.ebeaninternal.api.SpiExpressionRequest, java.lang.String);
    descriptor: (Lio/ebeaninternal/api/SpiExpressionRequest;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.api.SpiExpressionRequest request
        start local 2 // java.lang.String path
         0: .line 441
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isSoftDelete:()Z
            istore 3 /* softDelete */
        start local 3 // boolean softDelete
         1: .line 442
            new java.lang.StringBuilder
            dup
            bipush 50
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         2: .line 443
            aload 1 /* request */
            invokeinterface io.ebeaninternal.api.SpiExpressionRequest.getQueryRequest:()Lio/ebeaninternal/server/core/SpiOrmQueryRequest;
            invokeinterface io.ebeaninternal.server.core.SpiOrmQueryRequest.getQuery:()Lio/ebeaninternal/api/SpiQuery;
            astore 5 /* query */
        start local 5 // io.ebeaninternal.api.SpiQuery query
         3: .line 444
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasJoinTable:()Z
            ifeq 8
         4: .line 445
            aload 4 /* sb */
            aload 5 /* query */
            invokeinterface io.ebeaninternal.api.SpiQuery.isAsDraft:()Z
            ifeq 5
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionDraftTable:Ljava/lang/String;
            goto 6
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.api.SpiExpressionRequest java.lang.String int java.lang.StringBuilder io.ebeaninternal.api.SpiQuery
      StackMap stack: java.lang.StringBuilder
         5: aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionPublishTable:Ljava/lang/String;
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.api.SpiExpressionRequest java.lang.String int java.lang.StringBuilder io.ebeaninternal.api.SpiQuery
      StackMap stack: java.lang.StringBuilder java.lang.String
         6: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 446
            goto 9
         8: .line 447
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 5 /* query */
            invokeinterface io.ebeaninternal.api.SpiQuery.getTemporalMode:()Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBaseTable:(Lio/ebeaninternal/api/SpiQuery$TemporalMode;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 449
      StackMap locals:
      StackMap stack:
            iload 3 /* softDelete */
            ifeq 15
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasJoinTable:()Z
            ifeq 15
        10: .line 450
            aload 4 /* sb */
            ldc " x join "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 451
            aload 4 /* sb */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 5 /* query */
            invokeinterface io.ebeaninternal.api.SpiQuery.getTemporalMode:()Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBaseTable:(Lio/ebeaninternal/api/SpiQuery$TemporalMode;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 452
            aload 4 /* sb */
            ldc " x2 on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 453
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.inverseJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            ldc "x2"
            ldc "x"
            aload 4 /* sb */
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.addJoin:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/StringBuilder;)V
        14: .line 454
            goto 16
        15: .line 455
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc " x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 457
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc " where "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 458
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        18: goto 23
        19: .line 459
      StackMap locals: int
      StackMap stack:
            iload 6 /* i */
            ifle 21
        20: .line 460
            aload 4 /* sb */
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            iload 6 /* i */
            aaload
            aload 4 /* sb */
            ldc "x."
            aload 2 /* path */
            invokevirtual io.ebeaninternal.server.deploy.ExportedProperty.appendWhere:(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)V
        22: .line 458
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 6 /* i */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            arraylength
            if_icmplt 19
        end local 6 // int i
        24: .line 464
            iload 3 /* softDelete */
            ifeq 29
        25: .line 465
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasJoinTable:()Z
            ifeq 26
            ldc "x2"
            goto 27
      StackMap locals:
      StackMap stack:
        26: ldc "x"
      StackMap locals:
      StackMap stack: java.lang.String
        27: astore 6 /* alias */
        start local 6 // java.lang.String alias
        28: .line 466
            aload 4 /* sb */
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 6 /* alias */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getSoftDeletePredicate:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 6 // java.lang.String alias
        29: .line 468
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // io.ebeaninternal.api.SpiQuery query
        end local 4 // java.lang.StringBuilder sb
        end local 3 // boolean softDelete
        end local 2 // java.lang.String path
        end local 1 // io.ebeaninternal.api.SpiExpressionRequest request
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0   30     1     request  Lio/ebeaninternal/api/SpiExpressionRequest;
            0   30     2        path  Ljava/lang/String;
            1   30     3  softDelete  Z
            2   30     4          sb  Ljava/lang/StringBuilder;
            3   30     5       query  Lio/ebeaninternal/api/SpiQuery<*>;
           18   24     6           i  I
           28   29     6       alias  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      request  
      path     

  public java.lang.Object[] getAssocIdValues(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean bean
         0: .line 476
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdBinder:()Lio/ebeaninternal/server/deploy/id/IdBinder;
            aload 1 /* bean */
            invokeinterface io.ebeaninternal.server.deploy.id.IdBinder.getIdValues:(Lio/ebean/bean/EntityBean;)[Ljava/lang/Object;
            areturn
        end local 1 // io.ebean.bean.EntityBean bean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1  bean  Lio/ebean/bean/EntityBean;
    MethodParameters:
      Name  Flags
      bean  

  public java.lang.String getAssocIdExpression(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // java.lang.String prefix
        start local 2 // java.lang.String operator
         0: .line 484
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdBinder:()Lio/ebeaninternal/server/deploy/id/IdBinder;
            aload 1 /* prefix */
            aload 2 /* operator */
            invokeinterface io.ebeaninternal.server.deploy.id.IdBinder.getAssocOneIdExpr:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String operator
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1    prefix  Ljava/lang/String;
            0    1     2  operator  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      prefix    
      operator  

  public java.lang.String getAssocIdInValueExpr(boolean, int);
    descriptor: (ZI)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // boolean not
        start local 2 // int size
         0: .line 492
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdBinder:()Lio/ebeaninternal/server/deploy/id/IdBinder;
            iload 1 /* not */
            iload 2 /* size */
            invokeinterface io.ebeaninternal.server.deploy.id.IdBinder.getIdInValueExpr:(ZI)Ljava/lang/String;
            areturn
        end local 2 // int size
        end local 1 // boolean not
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1   not  Z
            0    1     2  size  I
    MethodParameters:
      Name  Flags
      not   
      size  

  public java.lang.String getAssocIdInExpr(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // java.lang.String prefix
         0: .line 500
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdBinder:()Lio/ebeaninternal/server/deploy/id/IdBinder;
            aload 1 /* prefix */
            invokeinterface io.ebeaninternal.server.deploy.id.IdBinder.getAssocIdInExpr:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

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

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

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

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

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

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

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

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

  public boolean hasJoinTable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 551
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.manyToMany:Z
            ifne 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.o2mJoinTable:Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;

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

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

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

  public io.ebeaninternal.server.deploy.BeanDescriptor<T> getElementDescriptor();
    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.BeanPropertyAssocMany this
         0: .line 576
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
    Signature: ()Lio/ebeaninternal/server/deploy/BeanDescriptor<TT;>;

  public io.ebeaninternal.server.deploy.TableJoin getIntersectionTableJoin();
    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.BeanPropertyAssocMany this
         0: .line 584
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;

  public void setJoinValuesToChild(io.ebean.bean.EntityBean, io.ebean.bean.EntityBean, java.lang.Object);
    descriptor: (Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean parent
        start local 2 // io.ebean.bean.EntityBean child
        start local 3 // java.lang.Object mapKeyValue
         0: .line 592
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.mapKeyProperty:Lio/ebeaninternal/server/deploy/BeanProperty;
            ifnull 2
         1: .line 593
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.mapKeyProperty:Lio/ebeaninternal/server/deploy/BeanProperty;
            aload 2 /* child */
            aload 3 /* mapKeyValue */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.setValue:(Lio/ebean/bean/EntityBean;Ljava/lang/Object;)V
         2: .line 595
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.manyToMany:Z
            ifne 4
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterProperty:Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            ifnull 4
         3: .line 598
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterProperty:Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            aload 2 /* child */
            aload 1 /* parent */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.setValue:(Lio/ebean/bean/EntityBean;Ljava/lang/Object;)V
         4: .line 600
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object mapKeyValue
        end local 2 // io.ebean.bean.EntityBean child
        end local 1 // io.ebean.bean.EntityBean parent
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    5     1       parent  Lio/ebean/bean/EntityBean;
            0    5     2        child  Lio/ebean/bean/EntityBean;
            0    5     3  mapKeyValue  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      parent       
      child        
      mapKeyValue  

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

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

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

  public io.ebean.bean.BeanCollection<?> createReference(io.ebean.bean.EntityBean, boolean);
    descriptor: (Lio/ebean/bean/EntityBean;Z)Lio/ebean/bean/BeanCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean localBean
        start local 2 // boolean forceNewReference
         0: .line 626
            iload 2 /* forceNewReference */
            ifeq 1
            aload 0 /* this */
            aload 1 /* localBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.createReference:(Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 1 /* localBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.createReferenceIfNull:(Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection;
      StackMap locals:
      StackMap stack: io.ebean.bean.BeanCollection
         2: areturn
        end local 2 // boolean forceNewReference
        end local 1 // io.ebean.bean.EntityBean localBean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    3     1          localBean  Lio/ebean/bean/EntityBean;
            0    3     2  forceNewReference  Z
    Signature: (Lio/ebean/bean/EntityBean;Z)Lio/ebean/bean/BeanCollection<*>;
    MethodParameters:
                   Name  Flags
      localBean          
      forceNewReference  

  public io.ebean.bean.BeanCollection<?> createReferenceIfNull(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean parentBean
         0: .line 631
            aload 0 /* this */
            aload 1 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            astore 2 /* v */
        start local 2 // java.lang.Object v
         1: .line 632
            aload 2 /* v */
            instanceof io.ebean.bean.BeanCollection
            ifeq 6
         2: .line 633
            aload 2 /* v */
            checkcast io.ebean.bean.BeanCollection
            astore 3 /* bc */
        start local 3 // io.ebean.bean.BeanCollection bc
         3: .line 634
            aload 3 /* bc */
            invokeinterface io.ebean.bean.BeanCollection.isReference:()Z
            ifeq 4
            aload 3 /* bc */
            goto 5
      StackMap locals: java.lang.Object io.ebean.bean.BeanCollection
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: io.ebean.bean.BeanCollection
         5: areturn
        end local 3 // io.ebean.bean.BeanCollection bc
         6: .line 635
      StackMap locals:
      StackMap stack:
            aload 2 /* v */
            ifnull 8
         7: .line 636
            aconst_null
            areturn
         8: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.createReference:(Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection;
            areturn
        end local 2 // java.lang.Object v
        end local 1 // io.ebean.bean.EntityBean parentBean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    9     1  parentBean  Lio/ebean/bean/EntityBean;
            1    9     2           v  Ljava/lang/Object;
            3    6     3          bc  Lio/ebean/bean/BeanCollection<*>;
    Signature: (Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection<*>;
    MethodParameters:
            Name  Flags
      parentBean  

  public io.ebean.bean.BeanCollection<?> createReference(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean parentBean
         0: .line 643
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            aload 1 /* parentBean */
            invokeinterface io.ebeaninternal.server.deploy.BeanCollectionHelp.createReference:(Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection;
            astore 2 /* ref */
        start local 2 // io.ebean.bean.BeanCollection ref
         1: .line 644
            aload 0 /* this */
            aload 1 /* parentBean */
            aload 2 /* ref */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.setValue:(Lio/ebean/bean/EntityBean;Ljava/lang/Object;)V
         2: .line 645
            aload 2 /* ref */
            areturn
        end local 2 // io.ebean.bean.BeanCollection ref
        end local 1 // io.ebean.bean.EntityBean parentBean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    3     1  parentBean  Lio/ebean/bean/EntityBean;
            1    3     2         ref  Lio/ebean/bean/BeanCollection<*>;
    Signature: (Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection<*>;
    MethodParameters:
            Name  Flags
      parentBean  

  public io.ebean.bean.BeanCollection<T> createEmpty(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean parentBean
         0: .line 649
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            aload 1 /* parentBean */
            invokeinterface io.ebeaninternal.server.deploy.BeanCollectionHelp.createEmpty:(Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection;
            areturn
        end local 1 // io.ebean.bean.EntityBean parentBean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1  parentBean  Lio/ebean/bean/EntityBean;
    Signature: (Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection<TT;>;
    MethodParameters:
            Name  Flags
      parentBean  

  private io.ebean.bean.BeanCollectionAdd getBeanCollectionAdd(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/ebean/bean/BeanCollectionAdd;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // java.lang.Object bc
         0: .line 653
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            aload 1 /* bc */
            aconst_null
            invokeinterface io.ebeaninternal.server.deploy.BeanCollectionHelp.getBeanCollectionAdd:(Ljava/lang/Object;Ljava/lang/String;)Lio/ebean/bean/BeanCollectionAdd;
            areturn
        end local 1 // java.lang.Object bc
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1    bc  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      bc    

  public java.lang.Object getParentId(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean parentBean
         0: .line 657
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getId:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            areturn
        end local 1 // io.ebean.bean.EntityBean parentBean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1  parentBean  Lio/ebean/bean/EntityBean;
    MethodParameters:
            Name  Flags
      parentBean  

  public void addSelectExported(io.ebeaninternal.server.deploy.DbSqlContext, java.lang.String);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        start local 2 // java.lang.String tableAlias
         0: .line 662
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasJoinTable:()Z
            ifeq 1
            ldc "int_"
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* tableAlias */
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 3 /* alias */
        start local 3 // java.lang.String alias
         3: .line 663
            aload 3 /* alias */
            ifnonnull 5
         4: .line 664
            ldc "t0"
            astore 3 /* alias */
         5: .line 666
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.server.deploy.DbSqlContext java.lang.String java.lang.String top int int io.ebeaninternal.server.deploy.ExportedProperty[]
      StackMap stack:
         6: aload 7
            iload 5
            aaload
            astore 4 /* exportedProperty */
        start local 4 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         7: .line 667
            aload 1 /* ctx */
            aload 3 /* alias */
            aload 4 /* exportedProperty */
            invokevirtual io.ebeaninternal.server.deploy.ExportedProperty.getForeignDbColumn:()Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.appendColumn:(Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         8: .line 666
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 6
        10: .line 669
            return
        end local 3 // java.lang.String alias
        end local 2 // java.lang.String tableAlias
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0   11     1               ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            0   11     2        tableAlias  Ljava/lang/String;
            3   11     3             alias  Ljava/lang/String;
            7    8     4  exportedProperty  Lio/ebeaninternal/server/deploy/ExportedProperty;
    MethodParameters:
            Name  Flags
      ctx         
      tableAlias  

  private io.ebeaninternal.server.deploy.ExportedProperty[] createExported();
    descriptor: ()[Lio/ebeaninternal/server/deploy/ExportedProperty;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 675
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdProperty:()Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 1 /* idProp */
        start local 1 // io.ebeaninternal.server.deploy.BeanProperty idProp
         1: .line 676
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* list */
        start local 2 // java.util.ArrayList list
         2: .line 677
            aload 1 /* idProp */
            ifnull 13
            aload 1 /* idProp */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.isEmbedded:()Z
            ifeq 13
         3: .line 678
            aload 1 /* idProp */
            checkcast io.ebeaninternal.server.deploy.BeanPropertyAssocOne
            astore 3 /* one */
        start local 3 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne one
         4: .line 680
            aload 3 /* one */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.propertiesBaseScalar:()[Lio/ebeaninternal/server/deploy/BeanProperty;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.server.deploy.BeanProperty java.util.ArrayList io.ebeaninternal.server.deploy.BeanPropertyAssocOne top int int io.ebeaninternal.server.deploy.BeanProperty[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* emId */
        start local 4 // io.ebeaninternal.server.deploy.BeanProperty emId
         6: .line 681
            aload 2 /* list */
            aload 0 /* this */
            iconst_1
            aload 4 /* emId */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.findMatch:(ZLio/ebeaninternal/server/deploy/BeanProperty;)Lio/ebeaninternal/server/deploy/ExportedProperty;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // io.ebeaninternal.server.deploy.BeanProperty emId
         7: .line 680
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 5
         9: .line 683
            goto 15
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.server.deploy.BeanProperty java.util.ArrayList io.ebeaninternal.server.deploy.BeanPropertyAssocOne
      StackMap stack: javax.persistence.PersistenceException
        10: astore 4 /* e */
        start local 4 // javax.persistence.PersistenceException e
        11: .line 685
            getstatic io.ebeaninternal.server.deploy.BeanPropertyAssocMany.logger:Lorg/slf4j/Logger;
            ldc "Could not find a exported property?"
            aload 4 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 4 // javax.persistence.PersistenceException e
        end local 3 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne one
        12: .line 687
            goto 15
        13: .line 688
      StackMap locals:
      StackMap stack:
            aload 1 /* idProp */
            ifnull 15
        14: .line 689
            aload 2 /* list */
            aload 0 /* this */
            iconst_0
            aload 1 /* idProp */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.findMatch:(ZLio/ebeaninternal/server/deploy/BeanProperty;)Lio/ebeaninternal/server/deploy/ExportedProperty;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        15: .line 692
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iconst_0
            anewarray io.ebeaninternal.server.deploy.ExportedProperty
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast io.ebeaninternal.server.deploy.ExportedProperty[]
            areturn
        end local 2 // java.util.ArrayList list
        end local 1 // io.ebeaninternal.server.deploy.BeanProperty idProp
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            1   16     1  idProp  Lio/ebeaninternal/server/deploy/BeanProperty;
            2   16     2    list  Ljava/util/ArrayList<Lio/ebeaninternal/server/deploy/ExportedProperty;>;
            4   12     3     one  Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;
            6    7     4    emId  Lio/ebeaninternal/server/deploy/BeanProperty;
           11   12     4       e  Ljavax/persistence/PersistenceException;
      Exception table:
        from    to  target  type
           4     9      10  Class javax.persistence.PersistenceException

  private io.ebeaninternal.server.deploy.ExportedProperty findMatch(boolean, io.ebeaninternal.server.deploy.BeanProperty);
    descriptor: (ZLio/ebeaninternal/server/deploy/BeanProperty;)Lio/ebeaninternal/server/deploy/ExportedProperty;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // boolean embedded
        start local 2 // io.ebeaninternal.server.deploy.BeanProperty prop
         0: .line 699
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasJoinTable:()Z
            ifeq 2
         1: .line 701
            aload 0 /* this */
            iload 1 /* embedded */
            aload 2 /* prop */
            aload 2 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getDbColumn:()Ljava/lang/String;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.findMatch:(ZLio/ebeaninternal/server/deploy/BeanProperty;Ljava/lang/String;Lio/ebeaninternal/server/deploy/TableJoin;)Lio/ebeaninternal/server/deploy/ExportedProperty;
            areturn
         2: .line 703
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* embedded */
            aload 2 /* prop */
            aload 2 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getDbColumn:()Ljava/lang/String;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.tableJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.findMatch:(ZLio/ebeaninternal/server/deploy/BeanProperty;Ljava/lang/String;Lio/ebeaninternal/server/deploy/TableJoin;)Lio/ebeaninternal/server/deploy/ExportedProperty;
            areturn
        end local 2 // io.ebeaninternal.server.deploy.BeanProperty prop
        end local 1 // boolean embedded
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    3     1  embedded  Z
            0    3     2      prop  Lio/ebeaninternal/server/deploy/BeanProperty;
    MethodParameters:
          Name  Flags
      embedded  
      prop      

  private io.ebeaninternal.server.deploy.BeanPropertyAssocOne<?> initChildMasterProperty();
    descriptor: ()Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 715
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.unidirectional:Z
            ifeq 2
         1: .line 716
            aconst_null
            areturn
         2: .line 719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getBeanType:()Ljava/lang/Class;
            astore 1 /* beanType */
        start local 1 // java.lang.Class beanType
         3: .line 720
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            astore 2 /* targetDesc */
        start local 2 // io.ebeaninternal.server.deploy.BeanDescriptor targetDesc
         4: .line 721
            aload 2 /* targetDesc */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.propertiesOne:()[Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 12
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany java.lang.Class io.ebeaninternal.server.deploy.BeanDescriptor top int int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* prop */
        start local 3 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne prop
         6: .line 722
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.mappedBy:Ljava/lang/String;
            ifnull 9
         7: .line 724
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.mappedBy:Ljava/lang/String;
            aload 3 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 11
         8: .line 725
            aload 3 /* prop */
            areturn
         9: .line 729
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany java.lang.Class io.ebeaninternal.server.deploy.BeanDescriptor io.ebeaninternal.server.deploy.BeanPropertyAssocOne int int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack:
            aload 3 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.getTargetType:()Ljava/lang/Class;
            aload 1 /* beanType */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 731
            aload 3 /* prop */
            areturn
        end local 3 // io.ebeaninternal.server.deploy.BeanPropertyAssocOne prop
        11: .line 721
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany java.lang.Class io.ebeaninternal.server.deploy.BeanDescriptor top int int io.ebeaninternal.server.deploy.BeanPropertyAssocOne[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        12: iload 4
            iload 5
            if_icmplt 5
        13: .line 735
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can not find Master ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* beanType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] in Child["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* targetDesc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // io.ebeaninternal.server.deploy.BeanDescriptor targetDesc
        end local 1 // java.lang.Class beanType
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            3   14     1    beanType  Ljava/lang/Class<*>;
            4   14     2  targetDesc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            6   11     3        prop  Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;
    Signature: ()Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne<*>;

  private io.ebeaninternal.server.deploy.BeanProperty initMapKeyProperty();
    descriptor: ()Lio/ebeaninternal/server/deploy/BeanProperty;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 743
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            astore 1 /* targetDesc */
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptor targetDesc
         1: .line 744
            aload 1 /* targetDesc */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.propertiesAll:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.server.deploy.BeanDescriptor top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebeaninternal.server.deploy.BeanProperty
            astore 2 /* prop */
        start local 2 // io.ebeaninternal.server.deploy.BeanProperty prop
         3: .line 745
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.mapKey:Ljava/lang/String;
            aload 2 /* prop */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 746
            aload 2 /* prop */
            areturn
        end local 2 // io.ebeaninternal.server.deploy.BeanProperty prop
         5: .line 744
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 749
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getFullName:()Ljava/lang/String;
            astore 2 /* from */
        start local 2 // java.lang.String from
         7: .line 750
            aload 1 /* targetDesc */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getFullName:()Ljava/lang/String;
            astore 3 /* to */
        start local 3 // java.lang.String to
         8: .line 751
            new javax.persistence.PersistenceException
            dup
            new java.lang.StringBuilder
            dup
            aload 2 /* from */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": Could not find mapKey property ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.mapKey:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] on ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* to */
            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;
            invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String to
        end local 2 // java.lang.String from
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptor targetDesc
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            1    9     1  targetDesc  Lio/ebeaninternal/server/deploy/BeanDescriptor<*>;
            3    5     2        prop  Lio/ebeaninternal/server/deploy/BeanProperty;
            7    9     2        from  Ljava/lang/String;
            8    9     3          to  Ljava/lang/String;

  public io.ebeaninternal.server.deploy.IntersectionRow buildManyDeleteChildren(io.ebean.bean.EntityBean, java.util.List<java.lang.Object>);
    descriptor: (Lio/ebean/bean/EntityBean;Ljava/util/List;)Lio/ebeaninternal/server/deploy/IntersectionRow;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean parentBean
        start local 2 // java.util.List excludeDetailIds
         0: .line 755
            new io.ebeaninternal.server.deploy.IntersectionRow
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.tableJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.getTable:()Ljava/lang/String;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokespecial io.ebeaninternal.server.deploy.IntersectionRow.<init>:(Ljava/lang/String;Lio/ebeaninternal/server/deploy/BeanDescriptor;)V
            astore 3 /* row */
        start local 3 // io.ebeaninternal.server.deploy.IntersectionRow row
         1: .line 756
            aload 2 /* excludeDetailIds */
            ifnull 3
            aload 2 /* excludeDetailIds */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 3
         2: .line 757
            aload 3 /* row */
            aload 2 /* excludeDetailIds */
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getTargetDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.IntersectionRow.setExcludeIds:(Ljava/util/List;Lio/ebeaninternal/server/deploy/BeanDescriptor;)V
         3: .line 759
      StackMap locals: io.ebeaninternal.server.deploy.IntersectionRow
      StackMap stack:
            aload 0 /* this */
            aload 3 /* row */
            aload 1 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.buildExport:(Lio/ebeaninternal/server/deploy/IntersectionRow;Lio/ebean/bean/EntityBean;)V
         4: .line 760
            aload 3 /* row */
            areturn
        end local 3 // io.ebeaninternal.server.deploy.IntersectionRow row
        end local 2 // java.util.List excludeDetailIds
        end local 1 // io.ebean.bean.EntityBean parentBean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    5     1        parentBean  Lio/ebean/bean/EntityBean;
            0    5     2  excludeDetailIds  Ljava/util/List<Ljava/lang/Object;>;
            1    5     3               row  Lio/ebeaninternal/server/deploy/IntersectionRow;
    Signature: (Lio/ebean/bean/EntityBean;Ljava/util/List<Ljava/lang/Object;>;)Lio/ebeaninternal/server/deploy/IntersectionRow;
    MethodParameters:
                  Name  Flags
      parentBean        
      excludeDetailIds  

  public io.ebeaninternal.server.deploy.IntersectionRow buildManyToManyDeleteChildren(io.ebean.bean.EntityBean, boolean);
    descriptor: (Lio/ebean/bean/EntityBean;Z)Lio/ebeaninternal/server/deploy/IntersectionRow;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean parentBean
        start local 2 // boolean publish
         0: .line 764
            iload 2 /* publish */
            ifeq 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionPublishTable:Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionDraftTable:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 3 /* tableName */
        start local 3 // java.lang.String tableName
         3: .line 765
            new io.ebeaninternal.server.deploy.IntersectionRow
            dup
            aload 3 /* tableName */
            invokespecial io.ebeaninternal.server.deploy.IntersectionRow.<init>:(Ljava/lang/String;)V
            astore 4 /* row */
        start local 4 // io.ebeaninternal.server.deploy.IntersectionRow row
         4: .line 766
            aload 0 /* this */
            aload 4 /* row */
            aload 1 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.buildExport:(Lio/ebeaninternal/server/deploy/IntersectionRow;Lio/ebean/bean/EntityBean;)V
         5: .line 767
            aload 4 /* row */
            areturn
        end local 4 // io.ebeaninternal.server.deploy.IntersectionRow row
        end local 3 // java.lang.String tableName
        end local 2 // boolean publish
        end local 1 // io.ebean.bean.EntityBean parentBean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    6     1  parentBean  Lio/ebean/bean/EntityBean;
            0    6     2     publish  Z
            3    6     3   tableName  Ljava/lang/String;
            4    6     4         row  Lio/ebeaninternal/server/deploy/IntersectionRow;
    MethodParameters:
            Name  Flags
      parentBean  
      publish     

  public io.ebeaninternal.server.deploy.IntersectionRow buildManyToManyMapBean(io.ebean.bean.EntityBean, io.ebean.bean.EntityBean, boolean);
    descriptor: (Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;Z)Lio/ebeaninternal/server/deploy/IntersectionRow;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean parent
        start local 2 // io.ebean.bean.EntityBean other
        start local 3 // boolean publish
         0: .line 771
            iload 3 /* publish */
            ifeq 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionPublishTable:Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionDraftTable:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 4 /* tableName */
        start local 4 // java.lang.String tableName
         3: .line 772
            new io.ebeaninternal.server.deploy.IntersectionRow
            dup
            aload 4 /* tableName */
            invokespecial io.ebeaninternal.server.deploy.IntersectionRow.<init>:(Ljava/lang/String;)V
            astore 5 /* row */
        start local 5 // io.ebeaninternal.server.deploy.IntersectionRow row
         4: .line 773
            aload 0 /* this */
            aload 5 /* row */
            aload 1 /* parent */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.buildExport:(Lio/ebeaninternal/server/deploy/IntersectionRow;Lio/ebean/bean/EntityBean;)V
         5: .line 774
            aload 0 /* this */
            aload 5 /* row */
            aload 2 /* other */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.buildImport:(Lio/ebeaninternal/server/deploy/IntersectionRow;Lio/ebean/bean/EntityBean;)V
         6: .line 775
            aload 5 /* row */
            areturn
        end local 5 // io.ebeaninternal.server.deploy.IntersectionRow row
        end local 4 // java.lang.String tableName
        end local 3 // boolean publish
        end local 2 // io.ebean.bean.EntityBean other
        end local 1 // io.ebean.bean.EntityBean parent
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    7     1     parent  Lio/ebean/bean/EntityBean;
            0    7     2      other  Lio/ebean/bean/EntityBean;
            0    7     3    publish  Z
            3    7     4  tableName  Ljava/lang/String;
            4    7     5        row  Lio/ebeaninternal/server/deploy/IntersectionRow;
    MethodParameters:
         Name  Flags
      parent   
      other    
      publish  

  void registerDraftIntersectionTable(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.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.BeanDescriptorInitContext initContext
         0: .line 782
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasDraftIntersection:()Z
            ifeq 2
         1: .line 783
            aload 1 /* initContext */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionPublishTable:Ljava/lang/String;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionDraftTable:Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptorInitContext.addDraftIntersection:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 785
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebeaninternal.server.deploy.BeanDescriptorInitContext initContext
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    3     1  initContext  Lio/ebeaninternal/server/deploy/BeanDescriptorInitContext;
    MethodParameters:
             Name  Flags
      initContext  

  private boolean hasDraftIntersection();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 791
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionDraftTable:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionDraftTable:Ljava/lang/String;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.intersectionPublishTable:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;

  public void intersectionBind(io.ebean.SqlUpdate, io.ebean.bean.EntityBean, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/SqlUpdate;Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.SqlUpdate sql
        start local 2 // io.ebean.bean.EntityBean parentBean
        start local 3 // io.ebean.bean.EntityBean other
         0: .line 798
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.embeddedExportedProperties:Z
            ifeq 3
         1: .line 799
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getIdProperty:()Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 4 /* idProp */
        start local 4 // io.ebeaninternal.server.deploy.BeanProperty idProp
         2: .line 800
            aload 4 /* idProp */
            aload 2 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            checkcast io.ebean.bean.EntityBean
            astore 2 /* parentBean */
        end local 4 // io.ebeaninternal.server.deploy.BeanProperty idProp
         3: .line 802
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 7
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebean.SqlUpdate io.ebean.bean.EntityBean io.ebean.bean.EntityBean top int int io.ebeaninternal.server.deploy.ExportedProperty[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* exportedProperty */
        start local 4 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         5: .line 803
            aload 1 /* sql */
            aload 4 /* exportedProperty */
            aload 2 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.ExportedProperty.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            invokeinterface io.ebean.SqlUpdate.setParameter:(Ljava/lang/Object;)Lio/ebean/SqlUpdate;
            pop
        end local 4 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         6: .line 802
            iinc 5 1
      StackMap locals:
      StackMap stack:
         7: iload 5
            iload 6
            if_icmplt 4
         8: .line 805
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.importedId:Lio/ebeaninternal/server/deploy/id/ImportedId;
            aload 1 /* sql */
            aload 3 /* other */
            invokeinterface io.ebeaninternal.server.deploy.id.ImportedId.bindImport:(Lio/ebean/SqlUpdate;Lio/ebean/bean/EntityBean;)V
         9: .line 806
            return
        end local 3 // io.ebean.bean.EntityBean other
        end local 2 // io.ebean.bean.EntityBean parentBean
        end local 1 // io.ebean.SqlUpdate sql
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0   10     1               sql  Lio/ebean/SqlUpdate;
            0   10     2        parentBean  Lio/ebean/bean/EntityBean;
            0   10     3             other  Lio/ebean/bean/EntityBean;
            2    3     4            idProp  Lio/ebeaninternal/server/deploy/BeanProperty;
            5    6     4  exportedProperty  Lio/ebeaninternal/server/deploy/ExportedProperty;
    MethodParameters:
            Name  Flags
      sql         
      parentBean  
      other       

  private void buildExport(io.ebeaninternal.server.deploy.IntersectionRow, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebeaninternal/server/deploy/IntersectionRow;Lio/ebean/bean/EntityBean;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.IntersectionRow row
        start local 2 // io.ebean.bean.EntityBean parentBean
         0: .line 809
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.embeddedExportedProperties:Z
            ifeq 3
         1: .line 810
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            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 811
            aload 3 /* idProp */
            aload 2 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanProperty.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            checkcast io.ebean.bean.EntityBean
            astore 2 /* parentBean */
        end local 3 // io.ebeaninternal.server.deploy.BeanProperty idProp
         3: .line 813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.exportedProperties:[Lio/ebeaninternal/server/deploy/ExportedProperty;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.server.deploy.IntersectionRow io.ebean.bean.EntityBean top int int io.ebeaninternal.server.deploy.ExportedProperty[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* exportedProperty */
        start local 3 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         5: .line 814
            aload 3 /* exportedProperty */
            aload 2 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.ExportedProperty.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            astore 7 /* val */
        start local 7 // java.lang.Object val
         6: .line 815
            aload 3 /* exportedProperty */
            invokevirtual io.ebeaninternal.server.deploy.ExportedProperty.getForeignDbColumn:()Ljava/lang/String;
            astore 8 /* fkColumn */
        start local 8 // java.lang.String fkColumn
         7: .line 817
            aload 1 /* row */
            aload 8 /* fkColumn */
            aload 7 /* val */
            invokevirtual io.ebeaninternal.server.deploy.IntersectionRow.put:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 8 // java.lang.String fkColumn
        end local 7 // java.lang.Object val
        end local 3 // io.ebeaninternal.server.deploy.ExportedProperty exportedProperty
         8: .line 813
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 4
        10: .line 819
            return
        end local 2 // io.ebean.bean.EntityBean parentBean
        end local 1 // io.ebeaninternal.server.deploy.IntersectionRow row
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0   11     1               row  Lio/ebeaninternal/server/deploy/IntersectionRow;
            0   11     2        parentBean  Lio/ebean/bean/EntityBean;
            2    3     3            idProp  Lio/ebeaninternal/server/deploy/BeanProperty;
            5    8     3  exportedProperty  Lio/ebeaninternal/server/deploy/ExportedProperty;
            6    8     7               val  Ljava/lang/Object;
            7    8     8          fkColumn  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      row         
      parentBean  

  private void buildImport(io.ebeaninternal.server.deploy.IntersectionRow, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebeaninternal/server/deploy/IntersectionRow;Lio/ebean/bean/EntityBean;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.server.deploy.IntersectionRow row
        start local 2 // io.ebean.bean.EntityBean otherBean
         0: .line 826
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.importedId:Lio/ebeaninternal/server/deploy/id/ImportedId;
            aload 1 /* row */
            aload 2 /* otherBean */
            invokeinterface io.ebeaninternal.server.deploy.id.ImportedId.buildImport:(Lio/ebeaninternal/server/deploy/IntersectionRow;Lio/ebean/bean/EntityBean;)V
         1: .line 827
            return
        end local 2 // io.ebean.bean.EntityBean otherBean
        end local 1 // io.ebeaninternal.server.deploy.IntersectionRow row
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    2     1        row  Lio/ebeaninternal/server/deploy/IntersectionRow;
            0    2     2  otherBean  Lio/ebean/bean/EntityBean;
    MethodParameters:
           Name  Flags
      row        
      otherBean  

  public boolean hasImportedId(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean otherBean
         0: .line 833
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* otherBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getId:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // io.ebean.bean.EntityBean otherBean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    2     1  otherBean  Lio/ebean/bean/EntityBean;
    MethodParameters:
           Name  Flags
      otherBean  

  public void jsonWriteValue(io.ebeaninternal.api.json.SpiJsonWriter, java.lang.Object);
    descriptor: (Lio/ebeaninternal/api/json/SpiJsonWriter;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.api.json.SpiJsonWriter writeJson
        start local 2 // java.lang.Object value
         0: .line 842
            return
        end local 2 // java.lang.Object value
        end local 1 // io.ebeaninternal.api.json.SpiJsonWriter writeJson
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    1     1  writeJson  Lio/ebeaninternal/api/json/SpiJsonWriter;
            0    1     2      value  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      writeJson  
      value      

  public void jsonWrite(io.ebeaninternal.api.json.SpiJsonWriter, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebeaninternal/api/json/SpiJsonWriter;Lio/ebean/bean/EntityBean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.api.json.SpiJsonWriter ctx
        start local 2 // io.ebean.bean.EntityBean bean
         0: .line 846
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.jsonSerialize:Z
            ifne 2
         1: .line 847
            return
         2: .line 849
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.name:Ljava/lang/String;
            invokeinterface io.ebeaninternal.api.json.SpiJsonWriter.includeMany:(Ljava/lang/String;)Ljava/lang/Boolean;
            astore 3 /* include */
        start local 3 // java.lang.Boolean include
         3: .line 850
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            aload 3 /* include */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 851
            return
         5: .line 854
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            aload 2 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getValueIntercept:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         6: .line 855
            aload 4 /* value */
            ifnull 20
         7: .line 856
            aload 1 /* ctx */
            aload 2 /* bean */
            invokeinterface io.ebeaninternal.api.json.SpiJsonWriter.pushParentBeanMany:(Lio/ebean/bean/EntityBean;)V
         8: .line 857
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            ifnull 13
         9: .line 858
            aload 0 /* this */
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.name:Ljava/lang/String;
            aload 4 /* value */
            aload 3 /* include */
            ifnull 10
            iconst_1
            goto 11
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.api.json.SpiJsonWriter io.ebean.bean.EntityBean java.lang.Boolean java.lang.Object
      StackMap stack: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.api.json.SpiJsonWriter java.lang.String java.lang.Object
        10: iconst_0
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.api.json.SpiJsonWriter io.ebean.bean.EntityBean java.lang.Boolean java.lang.Object
      StackMap stack: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebeaninternal.api.json.SpiJsonWriter java.lang.String java.lang.Object int
        11: invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.jsonWriteCollection:(Lio/ebeaninternal/api/json/SpiJsonWriter;Ljava/lang/String;Ljava/lang/Object;Z)V
        12: .line 859
            goto 19
        13: .line 860
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.isTransient:Z
            ifeq 16
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            ifnonnull 16
        14: .line 861
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.name:Ljava/lang/String;
            aload 4 /* value */
            invokeinterface io.ebeaninternal.api.json.SpiJsonWriter.writeValueUsingObjectMapper:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 862
            goto 19
        16: .line 863
      StackMap locals:
      StackMap stack:
            aload 4 /* value */
            checkcast java.util.Collection
            astore 5 /* collection */
        start local 5 // java.util.Collection collection
        17: .line 864
            aload 5 /* collection */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 18
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.api.json.SpiJsonWriter.isIncludeEmpty:()Z
            ifeq 19
        18: .line 865
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.name:Ljava/lang/String;
            aload 5 /* collection */
            invokeinterface io.ebeaninternal.api.json.SpiJsonWriter.toJson:(Ljava/lang/String;Ljava/util/Collection;)V
        end local 5 // java.util.Collection collection
        19: .line 869
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.api.json.SpiJsonWriter.popParentBeanMany:()V
        20: .line 871
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Object value
        end local 3 // java.lang.Boolean include
        end local 2 // io.ebean.bean.EntityBean bean
        end local 1 // io.ebeaninternal.api.json.SpiJsonWriter ctx
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0   21     1         ctx  Lio/ebeaninternal/api/json/SpiJsonWriter;
            0   21     2        bean  Lio/ebean/bean/EntityBean;
            3   21     3     include  Ljava/lang/Boolean;
            6   21     4       value  Ljava/lang/Object;
           17   19     5  collection  Ljava/util/Collection<*>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      ctx   
      bean  

  public void jsonRead(io.ebeaninternal.api.json.SpiJsonReader, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebeaninternal/api/json/SpiJsonReader;Lio/ebean/bean/EntityBean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.api.json.SpiJsonReader readJson
        start local 2 // io.ebean.bean.EntityBean parentBean
         0: .line 875
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.jsonHelp:Lio/ebeaninternal/server/deploy/BeanPropertyAssocManyJsonHelp;
            aload 1 /* readJson */
            aload 2 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocManyJsonHelp.jsonRead:(Lio/ebeaninternal/api/json/SpiJsonReader;Lio/ebean/bean/EntityBean;)V
         1: .line 876
            return
        end local 2 // io.ebean.bean.EntityBean parentBean
        end local 1 // io.ebeaninternal.api.json.SpiJsonReader readJson
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    2     1    readJson  Lio/ebeaninternal/api/json/SpiJsonReader;
            0    2     2  parentBean  Lio/ebean/bean/EntityBean;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      readJson    
      parentBean  

  void publishMany(io.ebean.bean.EntityBean, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean draft
        start local 2 // io.ebean.bean.EntityBean live
         0: .line 881
            aload 0 /* this */
            aload 1 /* draft */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getValueIntercept:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            checkcast io.ebean.bean.BeanCollection
            astore 3 /* draftVal */
        start local 3 // io.ebean.bean.BeanCollection draftVal
         1: .line 882
            aload 0 /* this */
            aload 2 /* live */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getValueIntercept:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            checkcast io.ebean.bean.BeanCollection
            astore 4 /* liveVal */
        start local 4 // io.ebean.bean.BeanCollection liveVal
         2: .line 885
            aload 0 /* this */
            aload 4 /* liveVal */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.liveBeansAsMap:(Lio/ebean/bean/BeanCollection;)Ljava/util/Map;
            astore 5 /* liveBeansAsMap */
        start local 5 // java.util.Map liveBeansAsMap
         3: .line 888
            aload 3 /* draftVal */
            invokeinterface io.ebean.bean.BeanCollection.size:()I
            pop
         4: .line 889
            aload 3 /* draftVal */
            invokeinterface io.ebean.bean.BeanCollection.getActualDetails:()Ljava/util/Collection;
            astore 6 /* actualDetails */
        start local 6 // java.util.Collection actualDetails
         5: .line 890
            aload 6 /* actualDetails */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 16
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebean.bean.EntityBean io.ebean.bean.EntityBean io.ebean.bean.BeanCollection io.ebean.bean.BeanCollection java.util.Map java.util.Collection top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 7 /* bean */
        start local 7 // java.lang.Object bean
         7: .line 891
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 7 /* bean */
            checkcast io.ebean.bean.EntityBean
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getId:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            astore 9 /* id */
        start local 9 // java.lang.Object id
         8: .line 892
            aload 5 /* liveBeansAsMap */
            aload 9 /* id */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* liveBean */
        start local 10 // java.lang.Object liveBean
         9: .line 894
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.isManyToMany:()Z
            ifeq 13
        10: .line 895
            aload 10 /* liveBean */
            ifnonnull 16
        11: .line 897
            aload 4 /* liveVal */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 9 /* id */
            aconst_null
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.createReference:(Ljava/lang/Object;Lio/ebean/bean/PersistenceContext;)Ljava/lang/Object;
            invokeinterface io.ebean.bean.BeanCollection.addBean:(Ljava/lang/Object;)V
        12: .line 900
            goto 16
        13: .line 902
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebean.bean.EntityBean io.ebean.bean.EntityBean io.ebean.bean.BeanCollection io.ebean.bean.BeanCollection java.util.Map java.util.Collection java.lang.Object java.util.Iterator java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 7 /* bean */
            aload 10 /* liveBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.publish:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* newLive */
        start local 11 // java.lang.Object newLive
        14: .line 903
            aload 10 /* liveBean */
            ifnonnull 16
        15: .line 905
            aload 4 /* liveVal */
            aload 11 /* newLive */
            invokeinterface io.ebean.bean.BeanCollection.addBean:(Ljava/lang/Object;)V
        end local 11 // java.lang.Object newLive
        end local 10 // java.lang.Object liveBean
        end local 9 // java.lang.Object id
        end local 7 // java.lang.Object bean
        16: .line 890
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebean.bean.EntityBean io.ebean.bean.EntityBean io.ebean.bean.BeanCollection io.ebean.bean.BeanCollection java.util.Map java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        17: .line 911
            aload 5 /* liveBeansAsMap */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            astore 7 /* values */
        start local 7 // java.util.Collection values
        18: .line 912
            aload 7 /* values */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 21
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebean.bean.EntityBean io.ebean.bean.EntityBean io.ebean.bean.BeanCollection io.ebean.bean.BeanCollection java.util.Map java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
        19: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 8 /* value */
        start local 8 // java.lang.Object value
        20: .line 913
            aload 4 /* liveVal */
            aload 8 /* value */
            invokeinterface io.ebean.bean.BeanCollection.removeBean:(Ljava/lang/Object;)V
        end local 8 // java.lang.Object value
        21: .line 912
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 915
            return
        end local 7 // java.util.Collection values
        end local 6 // java.util.Collection actualDetails
        end local 5 // java.util.Map liveBeansAsMap
        end local 4 // io.ebean.bean.BeanCollection liveVal
        end local 3 // io.ebean.bean.BeanCollection draftVal
        end local 2 // io.ebean.bean.EntityBean live
        end local 1 // io.ebean.bean.EntityBean draft
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0   23     1           draft  Lio/ebean/bean/EntityBean;
            0   23     2            live  Lio/ebean/bean/EntityBean;
            1   23     3        draftVal  Lio/ebean/bean/BeanCollection<TT;>;
            2   23     4         liveVal  Lio/ebean/bean/BeanCollection<TT;>;
            3   23     5  liveBeansAsMap  Ljava/util/Map<Ljava/lang/Object;TT;>;
            5   23     6   actualDetails  Ljava/util/Collection<TT;>;
            7   16     7            bean  TT;
            8   16     9              id  Ljava/lang/Object;
            9   16    10        liveBean  TT;
           14   16    11         newLive  TT;
           18   23     7          values  Ljava/util/Collection<TT;>;
           20   21     8           value  TT;
    MethodParameters:
       Name  Flags
      draft  
      live   

  private java.util.Map<java.lang.Object, T> liveBeansAsMap(io.ebean.bean.BeanCollection<?>);
    descriptor: (Lio/ebean/bean/BeanCollection;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.BeanCollection liveVal
         0: .line 919
            aload 1 /* liveVal */
            invokeinterface io.ebean.bean.BeanCollection.size:()I
            pop
         1: .line 920
            aload 1 /* liveVal */
            invokeinterface io.ebean.bean.BeanCollection.getActualDetails:()Ljava/util/Collection;
            astore 2 /* liveBeans */
        start local 2 // java.util.Collection liveBeans
         2: .line 921
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 3 /* liveMap */
        start local 3 // java.util.Map liveMap
         3: .line 923
            aload 2 /* liveBeans */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebean.bean.BeanCollection java.util.Collection java.util.Map top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* liveBean */
        start local 4 // java.lang.Object liveBean
         5: .line 924
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 4 /* liveBean */
            checkcast io.ebean.bean.EntityBean
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.getId:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            astore 6 /* id */
        start local 6 // java.lang.Object id
         6: .line 925
            aload 3 /* liveMap */
            aload 6 /* id */
            aload 4 /* liveBean */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.Object id
        end local 4 // java.lang.Object liveBean
         7: .line 923
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 927
            aload 3 /* liveMap */
            areturn
        end local 3 // java.util.Map liveMap
        end local 2 // java.util.Collection liveBeans
        end local 1 // io.ebean.bean.BeanCollection liveVal
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    9     1    liveVal  Lio/ebean/bean/BeanCollection<*>;
            2    9     2  liveBeans  Ljava/util/Collection<*>;
            3    9     3    liveMap  Ljava/util/Map<Ljava/lang/Object;TT;>;
            5    7     4   liveBean  Ljava/lang/Object;
            6    7     6         id  Ljava/lang/Object;
    Signature: (Lio/ebean/bean/BeanCollection<*>;)Ljava/util/Map<Ljava/lang/Object;TT;>;
    MethodParameters:
         Name  Flags
      liveVal  

  public boolean isIncludeCascadeSave();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 934
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.cascadeInfo:Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
            invokevirtual io.ebeaninternal.server.deploy.BeanCascadeInfo.isSave:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasJoinTable:()Z
            ifne 1
            getstatic io.ebean.bean.BeanCollection$ModifyListenMode.REMOVALS:Lio/ebean/bean/BeanCollection$ModifyListenMode;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.modifyListenMode:Lio/ebean/bean/BeanCollection$ModifyListenMode;
            if_acmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;

  public boolean isIncludeCascadeDelete();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 938
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.cascadeInfo:Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
            invokevirtual io.ebeaninternal.server.deploy.BeanCascadeInfo.isDelete:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.hasJoinTable:()Z
            ifne 1
            getstatic io.ebean.bean.BeanCollection$ModifyListenMode.REMOVALS:Lio/ebean/bean/BeanCollection$ModifyListenMode;
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.modifyListenMode:Lio/ebean/bean/BeanCollection$ModifyListenMode;
            if_acmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;

  boolean isCascadeDeleteEscalate();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 942
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementCollection:Z
            ifne 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.cascadeInfo:Lio/ebeaninternal/server/deploy/BeanCascadeInfo;
            invokevirtual io.ebeaninternal.server.deploy.BeanCascadeInfo.isDelete:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;

  public io.ebeaninternal.api.SpiSqlUpdate insertElementCollection();
    descriptor: ()Lio/ebeaninternal/api/SpiSqlUpdate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
         0: .line 946
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.sqlHelp:Lio/ebeaninternal/server/deploy/BeanPropertyAssocManySqlHelp;
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocManySqlHelp.insertElementCollection:()Lio/ebeaninternal/api/SpiSqlUpdate;
            areturn
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;

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

  void jsonWriteMapEntry(io.ebeaninternal.api.json.SpiJsonWriter, java.util.Map$Entry<?, ?>);
    descriptor: (Lio/ebeaninternal/api/json/SpiJsonWriter;Ljava/util/Map$Entry;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.api.json.SpiJsonWriter ctx
        start local 2 // java.util.Map$Entry entry
         0: .line 954
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            ifnull 3
         1: .line 955
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* ctx */
            aload 2 /* entry */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.jsonWriteMapEntry:(Lio/ebeaninternal/api/json/SpiJsonWriter;Ljava/util/Map$Entry;)V
         2: .line 956
            goto 4
         3: .line 957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* ctx */
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast io.ebean.bean.EntityBean
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.jsonWrite:(Lio/ebeaninternal/api/json/SpiJsonWriter;Lio/ebean/bean/EntityBean;)V
         4: .line 959
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Map$Entry entry
        end local 1 // io.ebeaninternal.api.json.SpiJsonWriter ctx
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    5     1    ctx  Lio/ebeaninternal/api/json/SpiJsonWriter;
            0    5     2  entry  Ljava/util/Map$Entry<**>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lio/ebeaninternal/api/json/SpiJsonWriter;Ljava/util/Map$Entry<**>;)V
    MethodParameters:
       Name  Flags
      ctx    
      entry  

  void jsonWriteElementValue(io.ebeaninternal.api.json.SpiJsonWriter, java.lang.Object);
    descriptor: (Lio/ebeaninternal/api/json/SpiJsonWriter;Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.api.json.SpiJsonWriter ctx
        start local 2 // java.lang.Object element
         0: .line 962
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* ctx */
            aload 2 /* element */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.jsonWriteElement:(Lio/ebeaninternal/api/json/SpiJsonWriter;Ljava/lang/Object;)V
         1: .line 963
            return
        end local 2 // java.lang.Object element
        end local 1 // io.ebeaninternal.api.json.SpiJsonWriter ctx
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    2     1      ctx  Lio/ebeaninternal/api/json/SpiJsonWriter;
            0    2     2  element  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      ctx      
      element  

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

  public void setCacheDataValue(io.ebean.bean.EntityBean, java.lang.Object, io.ebean.bean.PersistenceContext);
    descriptor: (Lio/ebean/bean/EntityBean;Ljava/lang/Object;Lio/ebean/bean/PersistenceContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean bean
        start local 2 // java.lang.Object cacheData
        start local 3 // io.ebean.bean.PersistenceContext context
         0: .line 978
            aload 2 /* cacheData */
            checkcast java.lang.String
            astore 4 /* asJson */
        start local 4 // java.lang.String asJson
         1: .line 979
            aload 4 /* asJson */
            ifnull 7
            aload 4 /* asJson */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 7
         2: .line 980
            aload 0 /* this */
            aload 4 /* asJson */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.jsonReadCollection:(Ljava/lang/String;)Ljava/lang/Object;
            astore 5 /* collection */
        start local 5 // java.lang.Object collection
         3: .line 981
            aload 0 /* this */
            aload 1 /* bean */
            aload 5 /* collection */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.setValue:(Lio/ebean/bean/EntityBean;Ljava/lang/Object;)V
        end local 5 // java.lang.Object collection
        end local 4 // java.lang.String asJson
         4: .line 983
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Exception
         5: astore 4 /* e */
        start local 4 // java.lang.Exception e
         6: .line 984
            getstatic io.ebeaninternal.server.deploy.BeanPropertyAssocMany.logger:Lorg/slf4j/Logger;
            ldc "Error setting value from L2 cache"
            aload 4 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Exception e
         7: .line 986
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.ebean.bean.PersistenceContext context
        end local 2 // java.lang.Object cacheData
        end local 1 // io.ebean.bean.EntityBean bean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    8     1        bean  Lio/ebean/bean/EntityBean;
            0    8     2   cacheData  Ljava/lang/Object;
            0    8     3     context  Lio/ebean/bean/PersistenceContext;
            1    4     4      asJson  Ljava/lang/String;
            3    4     5  collection  Ljava/lang/Object;
            6    7     4           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      bean       
      cacheData  
      context    

  public java.lang.Object getCacheDataValue(io.ebean.bean.EntityBean);
    descriptor: (Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.bean.EntityBean bean
         0: .line 991
            aload 0 /* this */
            aload 1 /* bean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getValue:(Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            astore 2 /* collection */
        start local 2 // java.lang.Object collection
         1: .line 992
            aload 2 /* collection */
            ifnonnull 3
         2: .line 993
            aconst_null
            areturn
         3: .line 995
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 2 /* collection */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.jsonWriteCollection:(Ljava/lang/Object;)Ljava/lang/String;
         4: areturn
        end local 2 // java.lang.Object collection
         5: .line 996
      StackMap locals: io.ebeaninternal.server.deploy.BeanPropertyAssocMany io.ebean.bean.EntityBean
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         6: .line 997
            getstatic io.ebeaninternal.server.deploy.BeanPropertyAssocMany.logger:Lorg/slf4j/Logger;
            ldc "Error building value element collection json for L2 cache"
            aload 2 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
         7: .line 998
            aconst_null
            areturn
        end local 2 // java.lang.Exception e
        end local 1 // io.ebean.bean.EntityBean bean
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    8     1        bean  Lio/ebean/bean/EntityBean;
            1    5     2  collection  Ljava/lang/Object;
            6    8     2           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2       5  Class java.lang.Exception
           3     4       5  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      bean  

  public java.lang.String jsonWriteCollection(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // java.lang.Object value
         0: .line 1006
            new java.io.StringWriter
            dup
            sipush 300
            invokespecial java.io.StringWriter.<init>:(I)V
            astore 2 /* writer */
        start local 2 // java.io.StringWriter writer
         1: .line 1007
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 2 /* writer */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.createJsonWriter:(Ljava/io/StringWriter;)Lio/ebeaninternal/api/json/SpiJsonWriter;
            astore 3 /* ctx */
        start local 3 // io.ebeaninternal.api.json.SpiJsonWriter ctx
         2: .line 1008
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            aload 3 /* ctx */
            aconst_null
            aload 1 /* value */
            iconst_1
            invokeinterface io.ebeaninternal.server.deploy.BeanCollectionHelp.jsonWrite:(Lio/ebeaninternal/api/json/SpiJsonWriter;Ljava/lang/String;Ljava/lang/Object;Z)V
         3: .line 1009
            aload 3 /* ctx */
            invokeinterface io.ebeaninternal.api.json.SpiJsonWriter.flush:()V
         4: .line 1010
            aload 2 /* writer */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 3 // io.ebeaninternal.api.json.SpiJsonWriter ctx
        end local 2 // java.io.StringWriter writer
        end local 1 // java.lang.Object value
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    5     1   value  Ljava/lang/Object;
            1    5     2  writer  Ljava/io/StringWriter;
            2    5     3     ctx  Lio/ebeaninternal/api/json/SpiJsonWriter;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      value  

  private java.lang.Object jsonReadCollection(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // java.lang.String json
         0: .line 1017
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.descriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* json */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.createJsonReader:(Ljava/lang/String;)Lio/ebeaninternal/api/json/SpiJsonReader;
            astore 2 /* ctx */
        start local 2 // io.ebeaninternal.api.json.SpiJsonReader ctx
         1: .line 1018
            aload 2 /* ctx */
            invokeinterface io.ebeaninternal.api.json.SpiJsonReader.getParser:()Lcom/fasterxml/jackson/core/JsonParser;
            astore 3 /* parser */
        start local 3 // com.fasterxml.jackson.core.JsonParser parser
         2: .line 1019
            aload 3 /* parser */
            invokevirtual com.fasterxml.jackson.core.JsonParser.nextToken:()Lcom/fasterxml/jackson/core/JsonToken;
            astore 4 /* event */
        start local 4 // com.fasterxml.jackson.core.JsonToken event
         3: .line 1020
            getstatic com.fasterxml.jackson.core.JsonToken.VALUE_NULL:Lcom/fasterxml/jackson/core/JsonToken;
            aload 4 /* event */
            if_acmpne 5
         4: .line 1021
            aconst_null
            areturn
         5: .line 1023
      StackMap locals: io.ebeaninternal.api.json.SpiJsonReader com.fasterxml.jackson.core.JsonParser com.fasterxml.jackson.core.JsonToken
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ctx */
            aconst_null
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.jsonReadCollection:(Lio/ebeaninternal/api/json/SpiJsonReader;Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            areturn
        end local 4 // com.fasterxml.jackson.core.JsonToken event
        end local 3 // com.fasterxml.jackson.core.JsonParser parser
        end local 2 // io.ebeaninternal.api.json.SpiJsonReader ctx
        end local 1 // java.lang.String json
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    6     1    json  Ljava/lang/String;
            1    6     2     ctx  Lio/ebeaninternal/api/json/SpiJsonReader;
            2    6     3  parser  Lcom/fasterxml/jackson/core/JsonParser;
            3    6     4   event  Lcom/fasterxml/jackson/core/JsonToken;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      json  

  private void jsonWriteCollection(io.ebeaninternal.api.json.SpiJsonWriter, java.lang.String, java.lang.Object, boolean);
    descriptor: (Lio/ebeaninternal/api/json/SpiJsonWriter;Ljava/lang/String;Ljava/lang/Object;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.api.json.SpiJsonWriter ctx
        start local 2 // java.lang.String name
        start local 3 // java.lang.Object value
        start local 4 // boolean explicitInclude
         0: .line 1030
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.help:Lio/ebeaninternal/server/deploy/BeanCollectionHelp;
            aload 1 /* ctx */
            aload 2 /* name */
            aload 3 /* value */
            iload 4 /* explicitInclude */
            invokeinterface io.ebeaninternal.server.deploy.BeanCollectionHelp.jsonWrite:(Lio/ebeaninternal/api/json/SpiJsonWriter;Ljava/lang/String;Ljava/lang/Object;Z)V
         1: .line 1031
            return
        end local 4 // boolean explicitInclude
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String name
        end local 1 // io.ebeaninternal.api.json.SpiJsonWriter ctx
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    2     1              ctx  Lio/ebeaninternal/api/json/SpiJsonWriter;
            0    2     2             name  Ljava/lang/String;
            0    2     3            value  Ljava/lang/Object;
            0    2     4  explicitInclude  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      ctx              
      name             
      value            
      explicitInclude  

  public java.lang.Object jsonReadCollection(io.ebeaninternal.api.json.SpiJsonReader, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebeaninternal/api/json/SpiJsonReader;Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebeaninternal.api.json.SpiJsonReader readJson
        start local 2 // io.ebean.bean.EntityBean parentBean
         0: .line 1037
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            ifnull 2
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.isJsonReadCollection:()Z
            ifeq 2
         1: .line 1038
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.elementDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* readJson */
            aload 2 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.jsonReadCollection:(Lio/ebeaninternal/api/json/SpiJsonReader;Lio/ebean/bean/EntityBean;)Ljava/lang/Object;
            areturn
         2: .line 1040
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.createEmpty:(Lio/ebean/bean/EntityBean;)Lio/ebean/bean/BeanCollection;
            astore 3 /* collection */
        start local 3 // io.ebean.bean.BeanCollection collection
         3: .line 1041
            aload 0 /* this */
            aload 3 /* collection */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocMany.getBeanCollectionAdd:(Ljava/lang/Object;)Lio/ebean/bean/BeanCollectionAdd;
            astore 4 /* add */
        start local 4 // io.ebean.bean.BeanCollectionAdd add
         4: .line 1043
      StackMap locals: io.ebean.bean.BeanCollection io.ebean.bean.BeanCollectionAdd
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* readJson */
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.name:Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.jsonRead:(Lio/ebeaninternal/api/json/SpiJsonReader;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.ebean.bean.EntityBean
            astore 5 /* detailBean */
        start local 5 // io.ebean.bean.EntityBean detailBean
         5: .line 1044
            aload 5 /* detailBean */
            ifnonnull 7
         6: .line 1046
            goto 11
         7: .line 1048
      StackMap locals: io.ebean.bean.EntityBean
      StackMap stack:
            aload 4 /* add */
            aload 5 /* detailBean */
            invokeinterface io.ebean.bean.BeanCollectionAdd.addEntityBean:(Lio/ebean/bean/EntityBean;)V
         8: .line 1050
            aload 2 /* parentBean */
            ifnull 4
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterProperty:Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            ifnull 4
         9: .line 1052
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.childMasterProperty:Lio/ebeaninternal/server/deploy/BeanPropertyAssocOne;
            aload 5 /* detailBean */
            aload 2 /* parentBean */
            invokevirtual io.ebeaninternal.server.deploy.BeanPropertyAssocOne.setValue:(Lio/ebean/bean/EntityBean;Ljava/lang/Object;)V
        end local 5 // io.ebean.bean.EntityBean detailBean
        10: .line 1054
            goto 4
        11: .line 1055
      StackMap locals:
      StackMap stack:
            aload 3 /* collection */
            areturn
        end local 4 // io.ebean.bean.BeanCollectionAdd add
        end local 3 // io.ebean.bean.BeanCollection collection
        end local 2 // io.ebean.bean.EntityBean parentBean
        end local 1 // io.ebeaninternal.api.json.SpiJsonReader readJson
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0   12     1    readJson  Lio/ebeaninternal/api/json/SpiJsonReader;
            0   12     2  parentBean  Lio/ebean/bean/EntityBean;
            3   12     3  collection  Lio/ebean/bean/BeanCollection<*>;
            4   12     4         add  Lio/ebean/bean/BeanCollectionAdd;
            5   10     5  detailBean  Lio/ebean/bean/EntityBean;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      readJson    
      parentBean  

  public void bindElementValue(io.ebean.SqlUpdate, java.lang.Object);
    descriptor: (Lio/ebean/SqlUpdate;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
        start local 1 // io.ebean.SqlUpdate insert
        start local 2 // java.lang.Object value
         0: .line 1062
            aload 0 /* this */
            getfield io.ebeaninternal.server.deploy.BeanPropertyAssocMany.targetDescriptor:Lio/ebeaninternal/server/deploy/BeanDescriptor;
            aload 1 /* insert */
            aload 2 /* value */
            invokevirtual io.ebeaninternal.server.deploy.BeanDescriptor.bindElementValue:(Lio/ebean/SqlUpdate;Ljava/lang/Object;)V
         1: .line 1063
            return
        end local 2 // java.lang.Object value
        end local 1 // io.ebean.SqlUpdate insert
        end local 0 // io.ebeaninternal.server.deploy.BeanPropertyAssocMany this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany<TT;>;
            0    2     1  insert  Lio/ebean/SqlUpdate;
            0    2     2   value  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      insert  
      value   
}
Signature: <T:Ljava/lang/Object;>Lio/ebeaninternal/server/deploy/BeanPropertyAssoc<TT;>;Lio/ebeaninternal/server/query/STreePropertyAssocMany;Lio/ebean/plugin/PropertyAssocMany;
SourceFile: "BeanPropertyAssocMany.java"
InnerClasses:
  public final ModifyListenMode = io.ebean.bean.BeanCollection$ModifyListenMode of io.ebean.bean.BeanCollection
  public final TemporalMode = io.ebeaninternal.api.SpiQuery$TemporalMode of io.ebeaninternal.api.SpiQuery
  public abstract Entry = java.util.Map$Entry of java.util.Map