class io.ebeaninternal.server.query.SqlTreeNodeBean implements io.ebeaninternal.server.query.SqlTreeNode
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.ebeaninternal.server.query.SqlTreeNodeBean
  super_class: java.lang.Object
{
  private static final io.ebeaninternal.server.query.SqlTreeNode[] NO_CHILDREN;
    descriptor: [Lio/ebeaninternal/server/query/SqlTreeNode;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  final io.ebeaninternal.server.query.STreeType desc;
    descriptor: Lio/ebeaninternal/server/query/STreeType;
    flags: (0x0010) ACC_FINAL

  final io.ebeaninternal.server.deploy.id.IdBinder idBinder;
    descriptor: Lio/ebeaninternal/server/deploy/id/IdBinder;
    flags: (0x0010) ACC_FINAL

  final io.ebeaninternal.server.query.SqlTreeNode[] children;
    descriptor: [Lio/ebeaninternal/server/query/SqlTreeNode;
    flags: (0x0010) ACC_FINAL

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

  private final io.ebeaninternal.server.query.STreeProperty[] properties;
    descriptor: [Lio/ebeaninternal/server/query/STreeProperty;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final io.ebeaninternal.server.query.STreePropertyAssoc nodeBeanProp;
    descriptor: Lio/ebeaninternal/server/query/STreePropertyAssoc;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final boolean readId;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

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

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

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

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

  final io.ebeaninternal.server.query.STreePropertyAssocMany lazyLoadParent;
    descriptor: Lio/ebeaninternal/server/query/STreePropertyAssocMany;
    flags: (0x0010) ACC_FINAL

  private final io.ebeaninternal.api.SpiQuery$TemporalMode temporalMode;
    descriptor: Lio/ebeaninternal/api/SpiQuery$TemporalMode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebeaninternal/api/SpiQuery$TemporalMode;

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 30
            iconst_0
            anewarray io.ebeaninternal.server.query.SqlTreeNode
            putstatic io.ebeaninternal.server.query.SqlTreeNodeBean.NO_CHILDREN:[Lio/ebeaninternal/server/query/SqlTreeNode;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.String, io.ebeaninternal.server.query.STreePropertyAssoc, io.ebeaninternal.server.query.SqlTreeProperties, java.util.List<io.ebeaninternal.server.query.SqlTreeNode>, boolean, io.ebeaninternal.api.SpiQuery$TemporalMode, );
    descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/SqlTreeProperties;Ljava/util/List;ZLio/ebeaninternal/api/SpiQuery$TemporalMode;Z)V
    flags: (0x0000) 
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // java.lang.String prefix
        start local 2 // io.ebeaninternal.server.query.STreePropertyAssoc beanProp
        start local 3 // io.ebeaninternal.server.query.SqlTreeProperties props
        start local 4 // java.util.List myChildren
        start local 5 // boolean withId
        start local 6 // io.ebeaninternal.api.SpiQuery$TemporalMode temporalMode
        start local 7 // boolean disableLazyLoad
         0: .line 92
            aload 0 /* this */
            aload 1 /* prefix */
            aload 2 /* beanProp */
            aload 2 /* beanProp */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssoc.target:()Lio/ebeaninternal/server/query/STreeType;
            aload 3 /* props */
            aload 4 /* myChildren */
            iload 5 /* withId */
            aconst_null
            aload 6 /* temporalMode */
            iload 7 /* disableLazyLoad */
            invokespecial io.ebeaninternal.server.query.SqlTreeNodeBean.<init>:(Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/query/SqlTreeProperties;Ljava/util/List;ZLio/ebeaninternal/server/query/STreePropertyAssocMany;Lio/ebeaninternal/api/SpiQuery$TemporalMode;Z)V
         1: .line 93
            return
        end local 7 // boolean disableLazyLoad
        end local 6 // io.ebeaninternal.api.SpiQuery$TemporalMode temporalMode
        end local 5 // boolean withId
        end local 4 // java.util.List myChildren
        end local 3 // io.ebeaninternal.server.query.SqlTreeProperties props
        end local 2 // io.ebeaninternal.server.query.STreePropertyAssoc beanProp
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    2     1           prefix  Ljava/lang/String;
            0    2     2         beanProp  Lio/ebeaninternal/server/query/STreePropertyAssoc;
            0    2     3            props  Lio/ebeaninternal/server/query/SqlTreeProperties;
            0    2     4       myChildren  Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;
            0    2     5           withId  Z
            0    2     6     temporalMode  Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            0    2     7  disableLazyLoad  Z
    Signature: (Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/SqlTreeProperties;Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;ZLio/ebeaninternal/api/SpiQuery$TemporalMode;Z)V
    MethodParameters:
                 Name  Flags
      prefix           
      beanProp         
      props            
      myChildren       
      withId           
      temporalMode     
      disableLazyLoad  

  void <init>(io.ebeaninternal.server.query.STreeType, io.ebeaninternal.server.query.SqlTreeProperties, java.util.List<io.ebeaninternal.server.query.SqlTreeNode>, boolean, io.ebeaninternal.server.query.STreePropertyAssocMany, io.ebeaninternal.api.SpiQuery$TemporalMode, );
    descriptor: (Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/query/SqlTreeProperties;Ljava/util/List;ZLio/ebeaninternal/server/query/STreePropertyAssocMany;Lio/ebeaninternal/api/SpiQuery$TemporalMode;Z)V
    flags: (0x0000) 
    Code:
      stack=10, locals=8, args_size=8
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.query.STreeType desc
        start local 2 // io.ebeaninternal.server.query.SqlTreeProperties props
        start local 3 // java.util.List myList
        start local 4 // boolean withId
        start local 5 // io.ebeaninternal.server.query.STreePropertyAssocMany many
        start local 6 // io.ebeaninternal.api.SpiQuery$TemporalMode temporalMode
        start local 7 // boolean disableLazyLoad
         0: .line 100
            aload 0 /* this */
            aconst_null
            aconst_null
            aload 1 /* desc */
            aload 2 /* props */
            aload 3 /* myList */
            iload 4 /* withId */
            aload 5 /* many */
            aload 6 /* temporalMode */
            iload 7 /* disableLazyLoad */
            invokespecial io.ebeaninternal.server.query.SqlTreeNodeBean.<init>:(Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/query/SqlTreeProperties;Ljava/util/List;ZLio/ebeaninternal/server/query/STreePropertyAssocMany;Lio/ebeaninternal/api/SpiQuery$TemporalMode;Z)V
         1: .line 101
            return
        end local 7 // boolean disableLazyLoad
        end local 6 // io.ebeaninternal.api.SpiQuery$TemporalMode temporalMode
        end local 5 // io.ebeaninternal.server.query.STreePropertyAssocMany many
        end local 4 // boolean withId
        end local 3 // java.util.List myList
        end local 2 // io.ebeaninternal.server.query.SqlTreeProperties props
        end local 1 // io.ebeaninternal.server.query.STreeType desc
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    2     1             desc  Lio/ebeaninternal/server/query/STreeType;
            0    2     2            props  Lio/ebeaninternal/server/query/SqlTreeProperties;
            0    2     3           myList  Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;
            0    2     4           withId  Z
            0    2     5             many  Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            0    2     6     temporalMode  Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            0    2     7  disableLazyLoad  Z
    Signature: (Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/query/SqlTreeProperties;Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;ZLio/ebeaninternal/server/query/STreePropertyAssocMany;Lio/ebeaninternal/api/SpiQuery$TemporalMode;Z)V
    MethodParameters:
                 Name  Flags
      desc             
      props            
      myList           
      withId           
      many             
      temporalMode     
      disableLazyLoad  

  private void <init>(java.lang.String, io.ebeaninternal.server.query.STreePropertyAssoc, io.ebeaninternal.server.query.STreeType, io.ebeaninternal.server.query.SqlTreeProperties, java.util.List<io.ebeaninternal.server.query.SqlTreeNode>, boolean, io.ebeaninternal.server.query.STreePropertyAssocMany, io.ebeaninternal.api.SpiQuery$TemporalMode, );
    descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/query/SqlTreeProperties;Ljava/util/List;ZLio/ebeaninternal/server/query/STreePropertyAssocMany;Lio/ebeaninternal/api/SpiQuery$TemporalMode;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=10
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // java.lang.String prefix
        start local 2 // io.ebeaninternal.server.query.STreePropertyAssoc beanProp
        start local 3 // io.ebeaninternal.server.query.STreeType desc
        start local 4 // io.ebeaninternal.server.query.SqlTreeProperties props
        start local 5 // java.util.List myChildren
        start local 6 // boolean withId
        start local 7 // io.ebeaninternal.server.query.STreePropertyAssocMany lazyLoadParent
        start local 8 // io.ebeaninternal.api.SpiQuery$TemporalMode temporalMode
        start local 9 // boolean disableLazyLoad
         0: .line 106
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 109
            aload 0 /* this */
            aload 7 /* lazyLoadParent */
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.lazyLoadParent:Lio/ebeaninternal/server/query/STreePropertyAssocMany;
         2: .line 110
            aload 0 /* this */
            aload 7 /* lazyLoadParent */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.query.SqlTreeProperties java.util.List int io.ebeaninternal.server.query.STreePropertyAssocMany io.ebeaninternal.api.SpiQuery$TemporalMode int
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean
         3: aload 7 /* lazyLoadParent */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocMany.getIdBinder:()Lio/ebeaninternal/server/deploy/id/IdBinder;
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.query.SqlTreeProperties java.util.List int io.ebeaninternal.server.query.STreePropertyAssocMany io.ebeaninternal.api.SpiQuery$TemporalMode int
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.deploy.id.IdBinder
         4: putfield io.ebeaninternal.server.query.SqlTreeNodeBean.lazyLoadParentIdBinder:Lio/ebeaninternal/server/deploy/id/IdBinder;
         5: .line 111
            aload 0 /* this */
            aload 1 /* prefix */
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
         6: .line 112
            aload 0 /* this */
            aload 3 /* desc */
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.desc:Lio/ebeaninternal/server/query/STreeType;
         7: .line 113
            aload 0 /* this */
            aload 3 /* desc */
            invokeinterface io.ebeaninternal.server.query.STreeType.getInheritInfo:()Lio/ebeaninternal/server/deploy/InheritInfo;
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
         8: .line 114
            aload 0 /* this */
            aload 3 /* desc */
            invokeinterface io.ebeaninternal.server.query.STreeType.getIdBinder:()Lio/ebeaninternal/server/deploy/id/IdBinder;
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.idBinder:Lio/ebeaninternal/server/deploy/id/IdBinder;
         9: .line 115
            aload 0 /* this */
            aload 8 /* temporalMode */
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.temporalMode:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
        10: .line 116
            aload 0 /* this */
            aload 8 /* temporalMode */
            getstatic io.ebeaninternal.api.SpiQuery$TemporalMode.VERSIONS:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            if_acmpne 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean
        11: iconst_0
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.query.SqlTreeProperties java.util.List int io.ebeaninternal.server.query.STreePropertyAssocMany io.ebeaninternal.api.SpiQuery$TemporalMode int
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean int
        12: putfield io.ebeaninternal.server.query.SqlTreeNodeBean.temporalVersions:Z
        13: .line 117
            aload 0 /* this */
            aload 2 /* beanProp */
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.nodeBeanProp:Lio/ebeaninternal/server/query/STreePropertyAssoc;
        14: .line 118
            aload 0 /* this */
            aload 2 /* beanProp */
            ifnonnull 15
            aconst_null
            goto 16
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean
        15: aload 2 /* beanProp */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssoc.getExtraWhere:()Ljava/lang/String;
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.query.SqlTreeProperties java.util.List int io.ebeaninternal.server.query.STreePropertyAssocMany io.ebeaninternal.api.SpiQuery$TemporalMode int
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean java.lang.String
        16: putfield io.ebeaninternal.server.query.SqlTreeNodeBean.extraWhere:Ljava/lang/String;
        17: .line 119
            aload 0 /* this */
            aload 4 /* props */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.isAggregation:()Z
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.aggregation:Z
        18: .line 120
            aload 4 /* props */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.isAggregationRoot:()Z
            istore 10 /* aggregationRoot */
        start local 10 // boolean aggregationRoot
        19: .line 122
            aload 0 /* this */
            iload 10 /* aggregationRoot */
            ifne 20
            iload 6 /* withId */
            ifeq 20
            aload 3 /* desc */
            invokeinterface io.ebeaninternal.server.query.STreeType.hasId:()Z
            ifeq 20
            iconst_1
            goto 21
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.query.SqlTreeProperties java.util.List int io.ebeaninternal.server.query.STreePropertyAssocMany io.ebeaninternal.api.SpiQuery$TemporalMode int int
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean
        20: iconst_0
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.query.SqlTreeProperties java.util.List int io.ebeaninternal.server.query.STreePropertyAssocMany io.ebeaninternal.api.SpiQuery$TemporalMode int int
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean int
        21: putfield io.ebeaninternal.server.query.SqlTreeNodeBean.readId:Z
        22: .line 123
            aload 0 /* this */
            iload 9 /* disableLazyLoad */
            ifne 23
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.readId:Z
            ifeq 23
            aload 3 /* desc */
            invokeinterface io.ebeaninternal.server.query.STreeType.isRawSqlBased:()Z
            ifne 23
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.temporalVersions:Z
            ifne 23
            iconst_0
            goto 24
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean
        23: iconst_1
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.query.SqlTreeProperties java.util.List int io.ebeaninternal.server.query.STreePropertyAssocMany io.ebeaninternal.api.SpiQuery$TemporalMode int int
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean int
        24: putfield io.ebeaninternal.server.query.SqlTreeNodeBean.disableLazyLoad:Z
        25: .line 124
            aload 0 /* this */
            aload 4 /* props */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.isPartialObject:()Z
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.partialObject:Z
        26: .line 125
            aload 0 /* this */
            aload 4 /* props */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.getProps:()[Lio/ebeaninternal/server/query/STreeProperty;
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
        27: .line 126
            aload 0 /* this */
            aload 5 /* myChildren */
            ifnonnull 28
            getstatic io.ebeaninternal.server.query.SqlTreeNodeBean.NO_CHILDREN:[Lio/ebeaninternal/server/query/SqlTreeNode;
            goto 29
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean
        28: aload 5 /* myChildren */
            iconst_0
            anewarray io.ebeaninternal.server.query.SqlTreeNode
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast io.ebeaninternal.server.query.SqlTreeNode[]
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.query.SqlTreeProperties java.util.List int io.ebeaninternal.server.query.STreePropertyAssocMany io.ebeaninternal.api.SpiQuery$TemporalMode int int
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.query.SqlTreeNode[]
        29: putfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
        30: .line 127
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* prefix */
            aload 3 /* desc */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean.createPathMap:(Ljava/lang/String;Lio/ebeaninternal/server/query/STreeType;)Ljava/util/Map;
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.pathMap:Ljava/util/Map;
        31: .line 128
            return
        end local 10 // boolean aggregationRoot
        end local 9 // boolean disableLazyLoad
        end local 8 // io.ebeaninternal.api.SpiQuery$TemporalMode temporalMode
        end local 7 // io.ebeaninternal.server.query.STreePropertyAssocMany lazyLoadParent
        end local 6 // boolean withId
        end local 5 // java.util.List myChildren
        end local 4 // io.ebeaninternal.server.query.SqlTreeProperties props
        end local 3 // io.ebeaninternal.server.query.STreeType desc
        end local 2 // io.ebeaninternal.server.query.STreePropertyAssoc beanProp
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0             this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0   32     1           prefix  Ljava/lang/String;
            0   32     2         beanProp  Lio/ebeaninternal/server/query/STreePropertyAssoc;
            0   32     3             desc  Lio/ebeaninternal/server/query/STreeType;
            0   32     4            props  Lio/ebeaninternal/server/query/SqlTreeProperties;
            0   32     5       myChildren  Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;
            0   32     6           withId  Z
            0   32     7   lazyLoadParent  Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            0   32     8     temporalMode  Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            0   32     9  disableLazyLoad  Z
           19   32    10  aggregationRoot  Z
    Signature: (Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/query/SqlTreeProperties;Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;ZLio/ebeaninternal/server/query/STreePropertyAssocMany;Lio/ebeaninternal/api/SpiQuery$TemporalMode;Z)V
    MethodParameters:
                 Name  Flags
      prefix           
      beanProp         
      desc             
      props            
      myChildren       
      withId           
      lazyLoadParent   
      temporalMode     
      disableLazyLoad  

  boolean isRoot();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
         0: .line 131
            iconst_0
            ireturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;

  public boolean isSingleProperty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
         0: .line 136
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
            ifnull 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
            arraylength
            iconst_1
            if_icmpne 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            arraylength
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;

  public io.ebean.core.type.ScalarDataReader<?> getSingleAttributeReader();
    descriptor: ()Lio/ebean/core/type/ScalarDataReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
         0: .line 141
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
            ifnull 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
            arraylength
            ifne 4
         1: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            arraylength
            ifne 3
         2: .line 145
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.desc:Lio/ebeaninternal/server/query/STreeType;
            invokeinterface io.ebeaninternal.server.query.STreeType.getIdBinder:()Lio/ebeaninternal/server/deploy/id/IdBinder;
            invokeinterface io.ebeaninternal.server.deploy.id.IdBinder.getBeanProperty:()Lio/ebeaninternal/server/query/STreeProperty;
            areturn
         3: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            iconst_0
            aaload
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.getSingleAttributeReader:()Lio/ebean/core/type/ScalarDataReader;
            areturn
         4: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
            iconst_0
            aaload
            instanceof io.ebeaninternal.server.query.STreePropertyAssocOne
            ifeq 8
         5: .line 150
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
            iconst_0
            aaload
            checkcast io.ebeaninternal.server.query.STreePropertyAssocOne
            astore 1 /* assocOne */
        start local 1 // io.ebeaninternal.server.query.STreePropertyAssocOne assocOne
         6: .line 151
            aload 1 /* assocOne */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocOne.isAssocId:()Z
            ifeq 8
         7: .line 152
            aload 1 /* assocOne */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocOne.getIdReader:()Lio/ebean/core/type/ScalarDataReader;
            areturn
        end local 1 // io.ebeaninternal.server.query.STreePropertyAssocOne assocOne
         8: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
            iconst_0
            aaload
            areturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            6    8     1  assocOne  Lio/ebeaninternal/server/query/STreePropertyAssocOne;
    Signature: ()Lio/ebean/core/type/ScalarDataReader<*>;

  private java.util.Map<java.lang.String, java.lang.String> createPathMap(java.lang.String, io.ebeaninternal.server.query.STreeType);
    descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/query/STreeType;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // java.lang.String prefix
        start local 2 // io.ebeaninternal.server.query.STreeType desc
         0: .line 159
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* m */
        start local 3 // java.util.HashMap m
         1: .line 160
            aload 2 /* desc */
            invokeinterface io.ebeaninternal.server.query.STreeType.propsMany:()[Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 6
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.lang.String io.ebeaninternal.server.query.STreeType java.util.HashMap top int int io.ebeaninternal.server.query.STreePropertyAssocMany[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* many */
        start local 4 // io.ebeaninternal.server.query.STreePropertyAssocMany many
         3: .line 161
            aload 4 /* many */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocMany.getName:()Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
         4: .line 162
            aload 3 /* m */
            aload 8 /* name */
            aload 0 /* this */
            aload 1 /* prefix */
            aload 8 /* name */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean.getPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.String name
        end local 4 // io.ebeaninternal.server.query.STreePropertyAssocMany many
         5: .line 160
            iinc 5 1
      StackMap locals:
      StackMap stack:
         6: iload 5
            iload 6
            if_icmplt 2
         7: .line 164
            aload 3 /* m */
            areturn
        end local 3 // java.util.HashMap m
        end local 2 // io.ebeaninternal.server.query.STreeType desc
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    8     1  prefix  Ljava/lang/String;
            0    8     2    desc  Lio/ebeaninternal/server/query/STreeType;
            1    8     3       m  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
            3    5     4    many  Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            4    5     8    name  Ljava/lang/String;
    Signature: (Ljava/lang/String;Lio/ebeaninternal/server/query/STreeType;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      prefix  
      desc    

  private java.lang.String getPath(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // java.lang.String prefix
        start local 2 // java.lang.String propertyName
         0: .line 168
            aload 1 /* prefix */
            ifnonnull 2
         1: .line 169
            aload 2 /* propertyName */
            areturn
         2: .line 171
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* prefix */
            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 2 /* propertyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String propertyName
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    3     1        prefix  Ljava/lang/String;
            0    3     2  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      prefix        
      propertyName  

  public void buildRawSqlSelectChain(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // java.util.List selectChain
         0: .line 177
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.readId:Z
            ifeq 4
         1: .line 178
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            ifnull 3
         2: .line 180
            aload 1 /* selectChain */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            invokevirtual io.ebeaninternal.server.deploy.InheritInfo.getDiscriminatorColumn:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean.getPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.idBinder:Lio/ebeaninternal/server/deploy/id/IdBinder;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            aload 1 /* selectChain */
            invokeinterface io.ebeaninternal.server.deploy.id.IdBinder.buildRawSqlSelectChain:(Ljava/lang/String;Ljava/util/List;)V
         4: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 8
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.util.List top int int io.ebeaninternal.server.query.STreeProperty[]
      StackMap stack:
         5: aload 5
            iload 3
            aaload
            astore 2 /* property */
        start local 2 // io.ebeaninternal.server.query.STreeProperty property
         6: .line 185
            aload 2 /* property */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            aload 1 /* selectChain */
            invokeinterface io.ebeaninternal.server.query.STreeProperty.buildRawSqlSelectChain:(Ljava/lang/String;Ljava/util/List;)V
        end local 2 // io.ebeaninternal.server.query.STreeProperty property
         7: .line 184
            iinc 3 1
      StackMap locals:
      StackMap stack:
         8: iload 3
            iload 4
            if_icmplt 5
         9: .line 188
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 13
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.util.List top int int io.ebeaninternal.server.query.SqlTreeNode[]
      StackMap stack:
        10: aload 5
            iload 3
            aaload
            astore 2 /* child */
        start local 2 // io.ebeaninternal.server.query.SqlTreeNode child
        11: .line 191
            aload 2 /* child */
            aload 1 /* selectChain */
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.buildRawSqlSelectChain:(Ljava/util/List;)V
        end local 2 // io.ebeaninternal.server.query.SqlTreeNode child
        12: .line 188
            iinc 3 1
      StackMap locals:
      StackMap stack:
        13: iload 3
            iload 4
            if_icmplt 10
        14: .line 193
            return
        end local 1 // java.util.List selectChain
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0   15     1  selectChain  Ljava/util/List<Ljava/lang/String;>;
            6    7     2     property  Lio/ebeaninternal/server/query/STreeProperty;
           11   12     2        child  Lio/ebeaninternal/server/query/SqlTreeNode;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
             Name  Flags
      selectChain  

  public <T> io.ebean.Version<T> loadVersion(io.ebeaninternal.server.deploy.DbReadContext);
    descriptor: (Lio/ebeaninternal/server/deploy/DbReadContext;)Lio/ebean/Version;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbReadContext ctx
         0: .line 203
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.deploy.DbReadContext.getDataReader:()Lio/ebean/core/type/DataReader;
            invokeinterface io.ebean.core.type.DataReader.getTimestamp:()Ljava/sql/Timestamp;
            astore 2 /* start */
        start local 2 // java.sql.Timestamp start
         1: .line 204
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.deploy.DbReadContext.getDataReader:()Lio/ebean/core/type/DataReader;
            invokeinterface io.ebean.core.type.DataReader.getTimestamp:()Ljava/sql/Timestamp;
            astore 3 /* end */
        start local 3 // java.sql.Timestamp end
         2: .line 205
            aload 0 /* this */
            aload 1 /* ctx */
            aconst_null
            aconst_null
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean.load:(Lio/ebeaninternal/server/deploy/DbReadContext;Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;)Lio/ebean/bean/EntityBean;
            astore 4 /* bean */
        start local 4 // java.lang.Object bean
         3: .line 206
            new io.ebean.Version
            dup
            aload 4 /* bean */
            aload 2 /* start */
            aload 3 /* end */
            invokespecial io.ebean.Version.<init>:(Ljava/lang/Object;Ljava/sql/Timestamp;Ljava/sql/Timestamp;)V
            areturn
        end local 4 // java.lang.Object bean
        end local 3 // java.sql.Timestamp end
        end local 2 // java.sql.Timestamp start
        end local 1 // io.ebeaninternal.server.deploy.DbReadContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    4     1    ctx  Lio/ebeaninternal/server/deploy/DbReadContext;
            1    4     2  start  Ljava/sql/Timestamp;
            2    4     3    end  Ljava/sql/Timestamp;
            3    4     4   bean  TT;
    Exceptions:
      throws java.sql.SQLException
    Signature: <T:Ljava/lang/Object;>(Lio/ebeaninternal/server/deploy/DbReadContext;)Lio/ebean/Version<TT;>;
    MethodParameters:
      Name  Flags
      ctx   

  public io.ebean.bean.EntityBean load(io.ebeaninternal.server.deploy.DbReadContext, io.ebean.bean.EntityBean, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebeaninternal/server/deploy/DbReadContext;Lio/ebean/bean/EntityBean;Lio/ebean/bean/EntityBean;)Lio/ebean/bean/EntityBean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbReadContext ctx
        start local 2 // io.ebean.bean.EntityBean parentBean
        start local 3 // io.ebean.bean.EntityBean contextParent
         0: .line 467
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            ifnull 1
            new io.ebeaninternal.server.query.SqlTreeNodeBean$LoadInherit
            dup
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* parentBean */
            invokespecial io.ebeaninternal.server.query.SqlTreeNodeBean$LoadInherit.<init>:(Lio/ebeaninternal/server/query/SqlTreeNodeBean;Lio/ebeaninternal/server/deploy/DbReadContext;Lio/ebean/bean/EntityBean;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new io.ebeaninternal.server.query.SqlTreeNodeBean$Load
            dup
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* parentBean */
            invokespecial io.ebeaninternal.server.query.SqlTreeNodeBean$Load.<init>:(Lio/ebeaninternal/server/query/SqlTreeNodeBean;Lio/ebeaninternal/server/deploy/DbReadContext;Lio/ebean/bean/EntityBean;)V
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.query.SqlTreeNodeBean$Load
         2: astore 4 /* load */
        start local 4 // io.ebeaninternal.server.query.SqlTreeNodeBean$Load load
         3: .line 468
            aload 4 /* load */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean$Load.initialise:()V
         4: .line 469
            aload 4 /* load */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean$Load.isLazyLoadManyRoot:()Z
            ifeq 6
         5: .line 470
            aload 4 /* load */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean$Load.getContextBean:()Lio/ebean/bean/EntityBean;
            areturn
         6: .line 472
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean$Load
      StackMap stack:
            aload 4 /* load */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean$Load.postLoad:()V
         7: .line 473
            aload 4 /* load */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean$Load.setBeanToParent:()V
         8: .line 474
            aload 4 /* load */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean$Load.complete:()Lio/ebean/bean/EntityBean;
            areturn
        end local 4 // io.ebeaninternal.server.query.SqlTreeNodeBean$Load load
        end local 3 // io.ebean.bean.EntityBean contextParent
        end local 2 // io.ebean.bean.EntityBean parentBean
        end local 1 // io.ebeaninternal.server.deploy.DbReadContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    9     1            ctx  Lio/ebeaninternal/server/deploy/DbReadContext;
            0    9     2     parentBean  Lio/ebean/bean/EntityBean;
            0    9     3  contextParent  Lio/ebean/bean/EntityBean;
            3    9     4           load  Lio/ebeaninternal/server/query/SqlTreeNodeBean$Load;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
               Name  Flags
      ctx            
      parentBean     
      contextParent  

  public void appendGroupBy(io.ebeaninternal.server.deploy.DbSqlContext, boolean);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        start local 2 // boolean subQuery
         0: .line 479
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.pushJoin:(Ljava/lang/String;)V
         1: .line 480
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.pushTableAlias:(Ljava/lang/String;)V
         2: .line 481
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.lazyLoadParent:Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            ifnull 4
         3: .line 482
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.lazyLoadParent:Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocMany.addSelectExported:(Lio/ebeaninternal/server/deploy/DbSqlContext;Ljava/lang/String;)V
         4: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.readId:Z
            ifeq 6
         5: .line 485
            aload 0 /* this */
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.idBinder:Lio/ebeaninternal/server/deploy/id/IdBinder;
            invokeinterface io.ebeaninternal.server.deploy.id.IdBinder.getBeanProperty:()Lio/ebeaninternal/server/query/STreeProperty;
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean.appendSelectId:(Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/STreeProperty;)V
         6: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 11
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.deploy.DbSqlContext int top int int io.ebeaninternal.server.query.STreeProperty[]
      StackMap stack:
         7: aload 6
            iload 4
            aaload
            astore 3 /* property */
        start local 3 // io.ebeaninternal.server.query.STreeProperty property
         8: .line 488
            aload 3 /* property */
            invokeinterface io.ebeaninternal.server.query.STreeProperty.isAggregation:()Z
            ifne 10
         9: .line 489
            aload 3 /* property */
            aload 1 /* ctx */
            iload 2 /* subQuery */
            invokeinterface io.ebeaninternal.server.query.STreeProperty.appendSelect:(Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
        end local 3 // io.ebeaninternal.server.query.STreeProperty property
        10: .line 487
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        11: iload 4
            iload 5
            if_icmplt 7
        12: .line 492
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 16
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.deploy.DbSqlContext int top int int io.ebeaninternal.server.query.SqlTreeNode[]
      StackMap stack:
        13: aload 6
            iload 4
            aaload
            astore 3 /* aChildren */
        start local 3 // io.ebeaninternal.server.query.SqlTreeNode aChildren
        14: .line 493
            aload 3 /* aChildren */
            aload 1 /* ctx */
            iload 2 /* subQuery */
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.appendGroupBy:(Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
        end local 3 // io.ebeaninternal.server.query.SqlTreeNode aChildren
        15: .line 492
            iinc 4 1
      StackMap locals:
      StackMap stack:
        16: iload 4
            iload 5
            if_icmplt 13
        17: .line 495
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.popTableAlias:()V
        18: .line 496
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.popJoin:()V
        19: .line 497
            return
        end local 2 // boolean subQuery
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0   20     1        ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            0   20     2   subQuery  Z
            8   10     3   property  Lio/ebeaninternal/server/query/STreeProperty;
           14   15     3  aChildren  Lio/ebeaninternal/server/query/SqlTreeNode;
    MethodParameters:
          Name  Flags
      ctx       
      subQuery  

  public void appendDistinctOn(io.ebeaninternal.server.deploy.DbSqlContext, boolean);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        start local 2 // boolean subQuery
         0: .line 504
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 4
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.deploy.DbSqlContext int top int int io.ebeaninternal.server.query.SqlTreeNode[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* child */
        start local 3 // io.ebeaninternal.server.query.SqlTreeNode child
         2: .line 505
            aload 3 /* child */
            aload 1 /* ctx */
            iload 2 /* subQuery */
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.appendDistinctOn:(Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
        end local 3 // io.ebeaninternal.server.query.SqlTreeNode child
         3: .line 504
            iinc 4 1
      StackMap locals:
      StackMap stack:
         4: iload 4
            iload 5
            if_icmplt 1
         5: .line 507
            return
        end local 2 // boolean subQuery
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    6     1       ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            0    6     2  subQuery  Z
            2    3     3     child  Lio/ebeaninternal/server/query/SqlTreeNode;
    MethodParameters:
          Name  Flags
      ctx       
      subQuery  

  public void appendSelect(io.ebeaninternal.server.deploy.DbSqlContext, boolean);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        start local 2 // boolean subQuery
         0: .line 514
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.pushJoin:(Ljava/lang/String;)V
         1: .line 515
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.pushTableAlias:(Ljava/lang/String;)V
         2: .line 516
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.temporalVersions:Z
            ifeq 4
         3: .line 518
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.appendHistorySysPeriod:()V
         4: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.lazyLoadParent:Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            ifnull 6
         5: .line 521
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.lazyLoadParent:Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocMany.addSelectExported:(Lio/ebeaninternal/server/deploy/DbSqlContext;Ljava/lang/String;)V
         6: .line 523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.readId:Z
            ifeq 10
         7: .line 524
            iload 2 /* subQuery */
            ifne 9
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            ifnull 9
         8: .line 525
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            invokevirtual io.ebeaninternal.server.deploy.InheritInfo.getDiscriminatorColumn:()Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.appendColumn:(Ljava/lang/String;)V
         9: .line 527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.idBinder:Lio/ebeaninternal/server/deploy/id/IdBinder;
            invokeinterface io.ebeaninternal.server.deploy.id.IdBinder.getBeanProperty:()Lio/ebeaninternal/server/query/STreeProperty;
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean.appendSelectId:(Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/STreeProperty;)V
        10: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            iload 2 /* subQuery */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean.appendSelect:(Lio/ebeaninternal/server/deploy/DbSqlContext;Z[Lio/ebeaninternal/server/query/STreeProperty;)V
        11: .line 531
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 15
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.deploy.DbSqlContext int top int int io.ebeaninternal.server.query.SqlTreeNode[]
      StackMap stack:
        12: aload 6
            iload 4
            aaload
            astore 3 /* aChildren */
        start local 3 // io.ebeaninternal.server.query.SqlTreeNode aChildren
        13: .line 534
            aload 3 /* aChildren */
            aload 1 /* ctx */
            iload 2 /* subQuery */
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.appendSelect:(Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
        end local 3 // io.ebeaninternal.server.query.SqlTreeNode aChildren
        14: .line 531
            iinc 4 1
      StackMap locals:
      StackMap stack:
        15: iload 4
            iload 5
            if_icmplt 12
        16: .line 536
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.popTableAlias:()V
        17: .line 537
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.popJoin:()V
        18: .line 538
            return
        end local 2 // boolean subQuery
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0   19     1        ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            0   19     2   subQuery  Z
           13   14     3  aChildren  Lio/ebeaninternal/server/query/SqlTreeNode;
    MethodParameters:
          Name  Flags
      ctx       
      subQuery  

  public boolean isAggregation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
         0: .line 542
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.aggregation:Z
            ifeq 2
         1: .line 543
            iconst_1
            ireturn
         2: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 7
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean top int int io.ebeaninternal.server.query.SqlTreeNode[]
      StackMap stack:
         3: aload 4
            iload 2
            aaload
            astore 1 /* child */
        start local 1 // io.ebeaninternal.server.query.SqlTreeNode child
         4: .line 546
            aload 1 /* child */
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.isAggregation:()Z
            ifeq 6
         5: .line 547
            iconst_1
            ireturn
        end local 1 // io.ebeaninternal.server.query.SqlTreeNode child
         6: .line 545
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         7: iload 2
            iload 3
            if_icmplt 3
         8: .line 550
            iconst_0
            ireturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            4    6     1  child  Lio/ebeaninternal/server/query/SqlTreeNode;

  private void appendSelect(io.ebeaninternal.server.deploy.DbSqlContext, boolean, io.ebeaninternal.server.query.STreeProperty[]);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;Z[Lio/ebeaninternal/server/query/STreeProperty;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        start local 2 // boolean subQuery
        start local 3 // io.ebeaninternal.server.query.STreeProperty[] props
         0: .line 557
            aload 3 /* props */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 4
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.deploy.DbSqlContext int io.ebeaninternal.server.query.STreeProperty[] top int int io.ebeaninternal.server.query.STreeProperty[]
      StackMap stack:
         1: aload 7
            iload 5
            aaload
            astore 4 /* prop */
        start local 4 // io.ebeaninternal.server.query.STreeProperty prop
         2: .line 558
            aload 4 /* prop */
            aload 1 /* ctx */
            iload 2 /* subQuery */
            invokeinterface io.ebeaninternal.server.query.STreeProperty.appendSelect:(Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
        end local 4 // io.ebeaninternal.server.query.STreeProperty prop
         3: .line 557
            iinc 5 1
      StackMap locals:
      StackMap stack:
         4: iload 5
            iload 6
            if_icmplt 1
         5: .line 560
            return
        end local 3 // io.ebeaninternal.server.query.STreeProperty[] props
        end local 2 // boolean subQuery
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    6     1       ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            0    6     2  subQuery  Z
            0    6     3     props  [Lio/ebeaninternal/server/query/STreeProperty;
            2    3     4      prop  Lio/ebeaninternal/server/query/STreeProperty;
    MethodParameters:
          Name  Flags
      ctx       
      subQuery  
      props     

  void appendSelectId(io.ebeaninternal.server.deploy.DbSqlContext, io.ebeaninternal.server.query.STreeProperty);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/STreeProperty;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        start local 2 // io.ebeaninternal.server.query.STreeProperty prop
         0: .line 563
            aload 2 /* prop */
            ifnull 2
         1: .line 564
            aload 2 /* prop */
            aload 1 /* ctx */
            iconst_0
            invokeinterface io.ebeaninternal.server.query.STreeProperty.appendSelect:(Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
         2: .line 566
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.ebeaninternal.server.query.STreeProperty prop
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    3     1   ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            0    3     2  prop  Lio/ebeaninternal/server/query/STreeProperty;
    MethodParameters:
      Name  Flags
      ctx   
      prop  

  public void appendWhere(io.ebeaninternal.server.deploy.DbSqlContext);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
         0: .line 571
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            ifnull 6
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.nodeBeanProp:Lio/ebeaninternal/server/query/STreePropertyAssoc;
            ifnonnull 6
         1: .line 572
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            invokevirtual io.ebeaninternal.server.deploy.InheritInfo.isRoot:()Z
            ifne 6
         2: .line 574
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.length:()I
            ifle 4
         3: .line 575
            aload 1 /* ctx */
            ldc " and"
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            pop
         4: .line 577
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            ldc " "
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.getTableAlias:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            ldc "."
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            pop
         5: .line 578
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            invokevirtual io.ebeaninternal.server.deploy.InheritInfo.getWhere:()Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            pop
         6: .line 581
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean.appendExtraWhere:(Lio/ebeaninternal/server/deploy/DbSqlContext;)V
         7: .line 582
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 11
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.deploy.DbSqlContext top int int io.ebeaninternal.server.query.SqlTreeNode[]
      StackMap stack:
         8: aload 5
            iload 3
            aaload
            astore 2 /* aChildren */
        start local 2 // io.ebeaninternal.server.query.SqlTreeNode aChildren
         9: .line 585
            aload 2 /* aChildren */
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.appendWhere:(Lio/ebeaninternal/server/deploy/DbSqlContext;)V
        end local 2 // io.ebeaninternal.server.query.SqlTreeNode aChildren
        10: .line 582
            iinc 3 1
      StackMap locals:
      StackMap stack:
        11: iload 3
            iload 4
            if_icmplt 8
        12: .line 587
            return
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0   13     1        ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            9   10     2  aChildren  Lio/ebeaninternal/server/query/SqlTreeNode;
    MethodParameters:
      Name  Flags
      ctx   

  void appendExtraWhere(io.ebeaninternal.server.deploy.DbSqlContext);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
         0: .line 590
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.extraWhere:Ljava/lang/String;
            ifnull 5
         1: .line 591
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.length:()I
            ifle 3
         2: .line 592
            aload 1 /* ctx */
            ldc " and"
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            pop
         3: .line 594
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.getTableAlias:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* ta */
        start local 2 // java.lang.String ta
         4: .line 595
            aload 1 /* ctx */
            ldc " "
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.extraWhere:Ljava/lang/String;
            ldc "${ta}"
            aload 2 /* ta */
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            pop
        end local 2 // java.lang.String ta
         5: .line 597
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    6     1   ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            4    5     2    ta  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      ctx   

  public void appendFrom(io.ebeaninternal.server.deploy.DbSqlContext, io.ebeaninternal.server.query.SqlJoinType);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/SqlJoinType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        start local 2 // io.ebeaninternal.server.query.SqlJoinType joinType
         0: .line 604
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.nodeBeanProp:Lio/ebeaninternal/server/query/STreePropertyAssoc;
            ifnull 2
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.nodeBeanProp:Lio/ebeaninternal/server/query/STreePropertyAssoc;
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssoc.isFormula:()Z
            ifeq 2
         1: .line 606
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.nodeBeanProp:Lio/ebeaninternal/server/query/STreePropertyAssoc;
            aload 1 /* ctx */
            aload 2 /* joinType */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssoc.appendFrom:(Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/SqlJoinType;)V
         2: .line 608
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.pushJoin:(Ljava/lang/String;)V
         3: .line 609
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.pushTableAlias:(Ljava/lang/String;)V
         4: .line 611
            aload 0 /* this */
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.getTableAlias:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.baseTableAlias:Ljava/lang/String;
         5: .line 614
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* joinType */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean.appendFromBaseTable:(Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/SqlJoinType;)Lio/ebeaninternal/server/query/SqlJoinType;
            astore 2 /* joinType */
         6: .line 616
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.properties:[Lio/ebeaninternal/server/query/STreeProperty;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.deploy.DbSqlContext io.ebeaninternal.server.query.SqlJoinType top int int io.ebeaninternal.server.query.STreeProperty[]
      StackMap stack:
         7: aload 6
            iload 4
            aaload
            astore 3 /* property */
        start local 3 // io.ebeaninternal.server.query.STreeProperty property
         8: .line 618
            aload 3 /* property */
            aload 1 /* ctx */
            aload 2 /* joinType */
            invokeinterface io.ebeaninternal.server.query.STreeProperty.appendFrom:(Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/SqlJoinType;)V
        end local 3 // io.ebeaninternal.server.query.STreeProperty property
         9: .line 616
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 7
        11: .line 621
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 15
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.deploy.DbSqlContext io.ebeaninternal.server.query.SqlJoinType top int int io.ebeaninternal.server.query.SqlTreeNode[]
      StackMap stack:
        12: aload 6
            iload 4
            aaload
            astore 3 /* aChildren */
        start local 3 // io.ebeaninternal.server.query.SqlTreeNode aChildren
        13: .line 622
            aload 3 /* aChildren */
            aload 1 /* ctx */
            aload 2 /* joinType */
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.appendFrom:(Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/SqlJoinType;)V
        end local 3 // io.ebeaninternal.server.query.SqlTreeNode aChildren
        14: .line 621
            iinc 4 1
      StackMap locals:
      StackMap stack:
        15: iload 4
            iload 5
            if_icmplt 12
        16: .line 625
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.popTableAlias:()V
        17: .line 626
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.popJoin:()V
        18: .line 627
            return
        end local 2 // io.ebeaninternal.server.query.SqlJoinType joinType
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0   19     1        ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            0   19     2   joinType  Lio/ebeaninternal/server/query/SqlJoinType;
            8    9     3   property  Lio/ebeaninternal/server/query/STreeProperty;
           13   14     3  aChildren  Lio/ebeaninternal/server/query/SqlTreeNode;
    MethodParameters:
          Name  Flags
      ctx       
      joinType  

  public void addSoftDeletePredicate(io.ebeaninternal.api.SpiQuery<?>);
    descriptor: (Lio/ebeaninternal/api/SpiQuery;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.api.SpiQuery query
         0: .line 631
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.desc:Lio/ebeaninternal/server/query/STreeType;
            invokeinterface io.ebeaninternal.server.query.STreeType.isSoftDelete:()Z
            ifeq 2
         1: .line 632
            aload 1 /* query */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.desc:Lio/ebeaninternal/server/query/STreeType;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.baseTableAlias:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.query.STreeType.getSoftDeletePredicate:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface io.ebeaninternal.api.SpiQuery.addSoftDeletePredicate:(Ljava/lang/String;)V
         2: .line 634
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebeaninternal.api.SpiQuery query
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    3     1  query  Lio/ebeaninternal/api/SpiQuery<*>;
    Signature: (Lio/ebeaninternal/api/SpiQuery<*>;)V
    MethodParameters:
       Name  Flags
      query  

  public void addAsOfTableAlias(io.ebeaninternal.api.SpiQuery<?>);
    descriptor: (Lio/ebeaninternal/api/SpiQuery;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.api.SpiQuery query
         0: .line 640
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.desc:Lio/ebeaninternal/server/query/STreeType;
            invokeinterface io.ebeaninternal.server.query.STreeType.isHistorySupport:()Z
            ifeq 2
         1: .line 641
            aload 1 /* query */
            invokeinterface io.ebeaninternal.api.SpiQuery.incrementAsOfTableCount:()V
         2: .line 643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.lazyLoadParent:Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            ifnull 4
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.lazyLoadParent:Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocMany.isManyToManyWithHistory:()Z
            ifeq 4
         3: .line 644
            aload 1 /* query */
            invokeinterface io.ebeaninternal.api.SpiQuery.incrementAsOfTableCount:()V
         4: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.intersectionAsOfTableAlias:Z
            ifeq 6
         5: .line 647
            aload 1 /* query */
            invokeinterface io.ebeaninternal.api.SpiQuery.incrementAsOfTableCount:()V
         6: .line 649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 10
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.api.SpiQuery top int int io.ebeaninternal.server.query.SqlTreeNode[]
      StackMap stack:
         7: aload 5
            iload 3
            aaload
            astore 2 /* aChildren */
        start local 2 // io.ebeaninternal.server.query.SqlTreeNode aChildren
         8: .line 650
            aload 2 /* aChildren */
            aload 1 /* query */
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.addAsOfTableAlias:(Lio/ebeaninternal/api/SpiQuery;)V
        end local 2 // io.ebeaninternal.server.query.SqlTreeNode aChildren
         9: .line 649
            iinc 3 1
      StackMap locals:
      StackMap stack:
        10: iload 3
            iload 4
            if_icmplt 7
        11: .line 652
            return
        end local 1 // io.ebeaninternal.api.SpiQuery query
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0   12     1      query  Lio/ebeaninternal/api/SpiQuery<*>;
            8    9     2  aChildren  Lio/ebeaninternal/server/query/SqlTreeNode;
    Signature: (Lio/ebeaninternal/api/SpiQuery<*>;)V
    MethodParameters:
       Name  Flags
      query  

  public void dependentTables(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // java.util.Set tables
         0: .line 656
            aload 1 /* tables */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.nodeBeanProp:Lio/ebeaninternal/server/query/STreePropertyAssoc;
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssoc.target:()Lio/ebeaninternal/server/query/STreeType;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.temporalMode:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            invokeinterface io.ebeaninternal.server.query.STreeType.getBaseTable:(Lio/ebeaninternal/api/SpiQuery$TemporalMode;)Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 657
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean java.util.Set top int int io.ebeaninternal.server.query.SqlTreeNode[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* child */
        start local 2 // io.ebeaninternal.server.query.SqlTreeNode child
         3: .line 658
            aload 2 /* child */
            aload 1 /* tables */
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.dependentTables:(Ljava/util/Set;)V
        end local 2 // io.ebeaninternal.server.query.SqlTreeNode child
         4: .line 657
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 660
            return
        end local 1 // java.util.Set tables
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    7     1  tables  Ljava/util/Set<Ljava/lang/String;>;
            3    4     2   child  Lio/ebeaninternal/server/query/SqlTreeNode;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
        Name  Flags
      tables  

  io.ebeaninternal.server.query.SqlJoinType appendFromBaseTable(io.ebeaninternal.server.deploy.DbSqlContext, io.ebeaninternal.server.query.SqlJoinType);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/SqlJoinType;)Lio/ebeaninternal/server/query/SqlJoinType;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        start local 2 // io.ebeaninternal.server.query.SqlJoinType joinType
         0: .line 667
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* joinType */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean.appendFromAsJoin:(Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/SqlJoinType;)Lio/ebeaninternal/server/query/SqlJoinType;
            astore 3 /* sqlJoinType */
        start local 3 // io.ebeaninternal.server.query.SqlJoinType sqlJoinType
         1: .line 668
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            ifnull 3
         2: .line 669
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeBean.appendJoinDiscriminator:(Lio/ebeaninternal/server/deploy/DbSqlContext;)V
         3: .line 671
      StackMap locals: io.ebeaninternal.server.query.SqlJoinType
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.desc:Lio/ebeaninternal/server/query/STreeType;
            invokeinterface io.ebeaninternal.server.query.STreeType.isSoftDelete:()Z
            ifeq 5
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.temporalMode:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            getstatic io.ebeaninternal.api.SpiQuery$TemporalMode.SOFT_DELETED:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            if_acmpeq 5
         4: .line 672
            aload 1 /* ctx */
            ldc " and "
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.desc:Lio/ebeaninternal/server/query/STreeType;
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.getTableAlias:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.query.STreeType.getSoftDeletePredicate:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            pop
         5: .line 674
      StackMap locals:
      StackMap stack:
            aload 3 /* sqlJoinType */
            areturn
        end local 3 // io.ebeaninternal.server.query.SqlJoinType sqlJoinType
        end local 2 // io.ebeaninternal.server.query.SqlJoinType joinType
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    6     1          ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            0    6     2     joinType  Lio/ebeaninternal/server/query/SqlJoinType;
            1    6     3  sqlJoinType  Lio/ebeaninternal/server/query/SqlJoinType;
    MethodParameters:
          Name  Flags
      ctx       
      joinType  

  io.ebeaninternal.server.query.SqlJoinType appendFromAsJoin(io.ebeaninternal.server.deploy.DbSqlContext, io.ebeaninternal.server.query.SqlJoinType);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/SqlJoinType;)Lio/ebeaninternal/server/query/SqlJoinType;
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        start local 2 // io.ebeaninternal.server.query.SqlJoinType joinType
         0: .line 678
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.nodeBeanProp:Lio/ebeaninternal/server/query/STreePropertyAssoc;
            instanceof io.ebeaninternal.server.query.STreePropertyAssocMany
            ifeq 12
         1: .line 679
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.nodeBeanProp:Lio/ebeaninternal/server/query/STreePropertyAssoc;
            checkcast io.ebeaninternal.server.query.STreePropertyAssocMany
            astore 3 /* manyProp */
        start local 3 // io.ebeaninternal.server.query.STreePropertyAssocMany manyProp
         2: .line 680
            aload 3 /* manyProp */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocMany.hasJoinTable:()Z
            ifeq 12
         3: .line 682
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.getTableAlias:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* alias */
        start local 4 // java.lang.String alias
         4: .line 683
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokestatic io.ebean.util.SplitName.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 5 /* split */
        start local 5 // java.lang.String[] split
         5: .line 684
            aload 1 /* ctx */
            aload 5 /* split */
            iconst_0
            aaload
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.getTableAlias:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* parentAlias */
        start local 6 // java.lang.String parentAlias
         6: .line 685
            new java.lang.StringBuilder
            dup
            aload 4 /* alias */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "z_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* alias2 */
        start local 7 // java.lang.String alias2
         7: .line 688
            aload 3 /* manyProp */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocMany.getIntersectionTableJoin:()Lio/ebeaninternal/server/deploy/TableJoin;
            astore 8 /* manyToManyJoin */
        start local 8 // io.ebeaninternal.server.deploy.TableJoin manyToManyJoin
         8: .line 689
            aload 8 /* manyToManyJoin */
            aload 2 /* joinType */
            aload 6 /* parentAlias */
            aload 7 /* alias2 */
            aload 1 /* ctx */
            invokevirtual io.ebeaninternal.server.deploy.TableJoin.addJoin:(Lio/ebeaninternal/server/query/SqlJoinType;Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/server/deploy/DbSqlContext;)Lio/ebeaninternal/server/query/SqlJoinType;
            pop
         9: .line 690
            aload 3 /* manyProp */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocMany.isExcludedFromHistory:()Z
            ifne 11
        10: .line 691
            aload 0 /* this */
            iconst_1
            putfield io.ebeaninternal.server.query.SqlTreeNodeBean.intersectionAsOfTableAlias:Z
        11: .line 693
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.deploy.DbSqlContext io.ebeaninternal.server.query.SqlJoinType io.ebeaninternal.server.query.STreePropertyAssocMany java.lang.String java.lang.String[] java.lang.String java.lang.String io.ebeaninternal.server.deploy.TableJoin
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.nodeBeanProp:Lio/ebeaninternal/server/query/STreePropertyAssoc;
            aload 2 /* joinType */
            aload 7 /* alias2 */
            aload 4 /* alias */
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssoc.addJoin:(Lio/ebeaninternal/server/query/SqlJoinType;Ljava/lang/String;Ljava/lang/String;Lio/ebeaninternal/server/deploy/DbSqlContext;)Lio/ebeaninternal/server/query/SqlJoinType;
            areturn
        end local 8 // io.ebeaninternal.server.deploy.TableJoin manyToManyJoin
        end local 7 // java.lang.String alias2
        end local 6 // java.lang.String parentAlias
        end local 5 // java.lang.String[] split
        end local 4 // java.lang.String alias
        end local 3 // io.ebeaninternal.server.query.STreePropertyAssocMany manyProp
        12: .line 696
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean io.ebeaninternal.server.deploy.DbSqlContext io.ebeaninternal.server.query.SqlJoinType
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.nodeBeanProp:Lio/ebeaninternal/server/query/STreePropertyAssoc;
            aload 2 /* joinType */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            aload 1 /* ctx */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssoc.addJoin:(Lio/ebeaninternal/server/query/SqlJoinType;Ljava/lang/String;Lio/ebeaninternal/server/deploy/DbSqlContext;)Lio/ebeaninternal/server/query/SqlJoinType;
            areturn
        end local 2 // io.ebeaninternal.server.query.SqlJoinType joinType
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0   13     1             ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            0   13     2        joinType  Lio/ebeaninternal/server/query/SqlJoinType;
            2   12     3        manyProp  Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            4   12     4           alias  Ljava/lang/String;
            5   12     5           split  [Ljava/lang/String;
            6   12     6     parentAlias  Ljava/lang/String;
            7   12     7          alias2  Ljava/lang/String;
            8   12     8  manyToManyJoin  Lio/ebeaninternal/server/deploy/TableJoin;
    MethodParameters:
          Name  Flags
      ctx       
      joinType  

  void appendJoinDiscriminator(io.ebeaninternal.server.deploy.DbSqlContext);
    descriptor: (Lio/ebeaninternal/server/deploy/DbSqlContext;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
         0: .line 700
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            invokevirtual io.ebeaninternal.server.deploy.InheritInfo.getWhere:()Ljava/lang/String;
            ifnonnull 1
            return
         1: .line 701
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.prefix:Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.getTableAlias:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* alias */
        start local 2 // java.lang.String alias
         2: .line 702
            aload 1 /* ctx */
            ldc " and "
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            aload 2 /* alias */
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            ldc "."
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.inheritInfo:Lio/ebeaninternal/server/deploy/InheritInfo;
            invokevirtual io.ebeaninternal.server.deploy.InheritInfo.getWhere:()Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.deploy.DbSqlContext.append:(Ljava/lang/String;)Lio/ebeaninternal/server/deploy/DbSqlContext;
            pop
         3: .line 703
            return
        end local 2 // java.lang.String alias
        end local 1 // io.ebeaninternal.server.deploy.DbSqlContext ctx
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    4     1    ctx  Lio/ebeaninternal/server/deploy/DbSqlContext;
            2    4     2  alias  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      ctx   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
         0: .line 710
            new java.lang.StringBuilder
            dup
            ldc "SqlTreeNodeBean: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.desc:Lio/ebeaninternal/server/query/STreeType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;

  private boolean isLoadContextBeanNeeded(io.ebeaninternal.api.SpiQuery$Mode, io.ebean.bean.EntityBean);
    descriptor: (Lio/ebeaninternal/api/SpiQuery$Mode;Lio/ebean/bean/EntityBean;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
        start local 1 // io.ebeaninternal.api.SpiQuery$Mode queryMode
        start local 2 // io.ebean.bean.EntityBean contextBean
         0: .line 715
            aload 1 /* queryMode */
            invokevirtual io.ebeaninternal.api.SpiQuery$Mode.isLoadContextBean:()Z
            ifeq 2
         1: .line 716
            iconst_1
            ireturn
         2: .line 719
      StackMap locals:
      StackMap stack:
            aload 2 /* contextBean */
            invokeinterface io.ebean.bean.EntityBean._ebean_getIntercept:()Lio/ebean/bean/EntityBeanIntercept;
            invokevirtual io.ebean.bean.EntityBeanIntercept.isFullyLoadedBean:()Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 2 // io.ebean.bean.EntityBean contextBean
        end local 1 // io.ebeaninternal.api.SpiQuery$Mode queryMode
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            0    5     1    queryMode  Lio/ebeaninternal/api/SpiQuery$Mode;
            0    5     2  contextBean  Lio/ebean/bean/EntityBean;
    Signature: (Lio/ebeaninternal/api/SpiQuery$Mode;Lio/ebean/bean/EntityBean;)Z
    MethodParameters:
             Name  Flags
      queryMode    
      contextBean  

  public boolean hasMany();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
         0: .line 724
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeNodeBean.children:[Lio/ebeaninternal/server/query/SqlTreeNode;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: io.ebeaninternal.server.query.SqlTreeNodeBean top int int io.ebeaninternal.server.query.SqlTreeNode[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* child */
        start local 1 // io.ebeaninternal.server.query.SqlTreeNode child
         2: .line 725
            aload 1 /* child */
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.hasMany:()Z
            ifeq 4
         3: .line 726
            iconst_1
            ireturn
        end local 1 // io.ebeaninternal.server.query.SqlTreeNode child
         4: .line 724
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 729
            iconst_0
            ireturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeNodeBean this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/ebeaninternal/server/query/SqlTreeNodeBean;
            2    4     1  child  Lio/ebeaninternal/server/query/SqlTreeNode;
}
SourceFile: "SqlTreeNodeBean.java"
NestMembers:
  io.ebeaninternal.server.query.SqlTreeNodeBean$Load  io.ebeaninternal.server.query.SqlTreeNodeBean$LoadInherit
InnerClasses:
  public final Mode = io.ebeaninternal.api.SpiQuery$Mode of io.ebeaninternal.api.SpiQuery
  public final TemporalMode = io.ebeaninternal.api.SpiQuery$TemporalMode of io.ebeaninternal.api.SpiQuery
  private Load = io.ebeaninternal.server.query.SqlTreeNodeBean$Load of io.ebeaninternal.server.query.SqlTreeNodeBean
  private LoadInherit = io.ebeaninternal.server.query.SqlTreeNodeBean$LoadInherit of io.ebeaninternal.server.query.SqlTreeNodeBean