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

  private final io.ebeaninternal.api.SpiQuery<?> query;
    descriptor: Lio/ebeaninternal/api/SpiQuery;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/ebeaninternal/api/SpiQuery<*>;

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

  private final io.ebeaninternal.server.querydefn.OrmQueryDetail queryDetail;
    descriptor: Lio/ebeaninternal/server/querydefn/OrmQueryDetail;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private io.ebeaninternal.server.query.STreePropertyAssocMany manyProperty;
    descriptor: Lio/ebeaninternal/server/query/STreePropertyAssocMany;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private final io.ebeaninternal.api.ManyWhereJoins manyWhereJoins;
    descriptor: Lio/ebeaninternal/api/ManyWhereJoins;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private final boolean disableLazyLoad;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, 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 io.ebeaninternal.server.query.SqlTreeNode rootNode;
    descriptor: Lio/ebeaninternal/server/query/SqlTreeNode;
    flags: (0x0002) ACC_PRIVATE

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

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

  void <init>(io.ebeaninternal.server.core.OrmQueryRequest<?>, io.ebeaninternal.server.query.CQueryPredicates, io.ebeaninternal.server.querydefn.OrmQueryDetail, );
    descriptor: (Lio/ebeaninternal/server/core/OrmQueryRequest;Lio/ebeaninternal/server/query/CQueryPredicates;Lio/ebeaninternal/server/querydefn/OrmQueryDetail;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // io.ebeaninternal.server.core.OrmQueryRequest request
        start local 2 // io.ebeaninternal.server.query.CQueryPredicates predicates
        start local 3 // io.ebeaninternal.server.querydefn.OrmQueryDetail queryDetail
        start local 4 // boolean rawNoId
         0: .line 76
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.selectIncludes:Ljava/util/HashSet;
         2: .line 78
            aload 0 /* this */
            iconst_1
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.rawSql:Z
         3: .line 79
            aload 0 /* this */
            aload 1 /* request */
            invokevirtual io.ebeaninternal.server.core.OrmQueryRequest.getBeanDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.desc:Lio/ebeaninternal/server/query/STreeType;
         4: .line 80
            aload 0 /* this */
            iload 4 /* rawNoId */
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.rawNoId:Z
         5: .line 81
            aload 0 /* this */
            aload 1 /* request */
            invokevirtual io.ebeaninternal.server.core.OrmQueryRequest.getQuery:()Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.isDisableLazyLoading:()Z
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.disableLazyLoad:Z
         6: .line 82
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
         7: .line 83
            aload 0 /* this */
            iconst_0
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.subQuery:Z
         8: .line 84
            aload 0 /* this */
            iconst_0
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.distinctOnPlatform:Z
         9: .line 85
            aload 0 /* this */
            aload 3 /* queryDetail */
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.queryDetail:Lio/ebeaninternal/server/querydefn/OrmQueryDetail;
        10: .line 86
            aload 0 /* this */
            aload 2 /* predicates */
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.predicates:Lio/ebeaninternal/server/query/CQueryPredicates;
        11: .line 87
            aload 0 /* this */
            getstatic io.ebeaninternal.api.SpiQuery$TemporalMode.CURRENT:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.temporalMode:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
        12: .line 88
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.includeJoin:Lio/ebeaninternal/server/deploy/TableJoin;
        13: .line 89
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.manyWhereJoins:Lio/ebeaninternal/api/ManyWhereJoins;
        14: .line 90
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.alias:Lio/ebeaninternal/server/query/SqlTreeAlias;
        15: .line 91
            aload 0 /* this */
            aconst_null
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
        16: .line 92
            return
        end local 4 // boolean rawNoId
        end local 3 // io.ebeaninternal.server.querydefn.OrmQueryDetail queryDetail
        end local 2 // io.ebeaninternal.server.query.CQueryPredicates predicates
        end local 1 // io.ebeaninternal.server.core.OrmQueryRequest request
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0   17     1      request  Lio/ebeaninternal/server/core/OrmQueryRequest<*>;
            0   17     2   predicates  Lio/ebeaninternal/server/query/CQueryPredicates;
            0   17     3  queryDetail  Lio/ebeaninternal/server/querydefn/OrmQueryDetail;
            0   17     4      rawNoId  Z
    Signature: (Lio/ebeaninternal/server/core/OrmQueryRequest<*>;Lio/ebeaninternal/server/query/CQueryPredicates;Lio/ebeaninternal/server/querydefn/OrmQueryDetail;Z)V
    MethodParameters:
             Name  Flags
      request      
      predicates   
      queryDetail  
      rawNoId      

  void <init>(java.lang.String, io.ebeaninternal.server.query.CQueryBuilder, io.ebeaninternal.server.core.OrmQueryRequest<?>, io.ebeaninternal.server.query.CQueryPredicates);
    descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/query/CQueryBuilder;Lio/ebeaninternal/server/core/OrmQueryRequest;Lio/ebeaninternal/server/query/CQueryPredicates;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=9, args_size=5
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // java.lang.String columnAliasPrefix
        start local 2 // io.ebeaninternal.server.query.CQueryBuilder builder
        start local 3 // io.ebeaninternal.server.core.OrmQueryRequest request
        start local 4 // io.ebeaninternal.server.query.CQueryPredicates predicates
         0: .line 99
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.selectIncludes:Ljava/util/HashSet;
         2: .line 101
            aload 0 /* this */
            iconst_0
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.rawSql:Z
         3: .line 102
            aload 0 /* this */
            iconst_0
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.rawNoId:Z
         4: .line 103
            aload 0 /* this */
            aload 3 /* request */
            invokevirtual io.ebeaninternal.server.core.OrmQueryRequest.getBeanDescriptor:()Lio/ebeaninternal/server/deploy/BeanDescriptor;
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.desc:Lio/ebeaninternal/server/query/STreeType;
         5: .line 104
            aload 0 /* this */
            aload 3 /* request */
            invokevirtual io.ebeaninternal.server.core.OrmQueryRequest.getQuery:()Lio/ebeaninternal/api/SpiQuery;
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
         6: .line 105
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokestatic io.ebeaninternal.api.SpiQuery$TemporalMode.of:(Lio/ebeaninternal/api/SpiQuery;)Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.temporalMode:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
         7: .line 106
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.isDisableLazyLoading:()Z
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.disableLazyLoad:Z
         8: .line 107
            aload 0 /* this */
            getstatic io.ebeaninternal.api.SpiQuery$Type.SUBQUERY:Lio/ebeaninternal/api/SpiQuery$Type;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.getType:()Lio/ebeaninternal/api/SpiQuery$Type;
            if_acmpeq 9
            getstatic io.ebeaninternal.api.SpiQuery$Type.ID_LIST:Lio/ebeaninternal/api/SpiQuery$Type;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.getType:()Lio/ebeaninternal/api/SpiQuery$Type;
            if_acmpeq 9
            getstatic io.ebeaninternal.api.SpiQuery$Type.DELETE:Lio/ebeaninternal/api/SpiQuery$Type;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.getType:()Lio/ebeaninternal/api/SpiQuery$Type;
            if_acmpeq 9
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.isCountDistinct:()Z
            ifne 9
            iconst_0
            goto 10
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder java.lang.String io.ebeaninternal.server.query.CQueryBuilder io.ebeaninternal.server.core.OrmQueryRequest io.ebeaninternal.server.query.CQueryPredicates
      StackMap stack: io.ebeaninternal.server.query.SqlTreeBuilder
         9: iconst_1
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder java.lang.String io.ebeaninternal.server.query.CQueryBuilder io.ebeaninternal.server.core.OrmQueryRequest io.ebeaninternal.server.query.CQueryPredicates
      StackMap stack: io.ebeaninternal.server.query.SqlTreeBuilder int
        10: putfield io.ebeaninternal.server.query.SqlTreeBuilder.subQuery:Z
        11: .line 108
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.getM2mIncludeJoin:()Lio/ebeaninternal/server/deploy/TableJoin;
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.includeJoin:Lio/ebeaninternal/server/deploy/TableJoin;
        12: .line 109
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.getManyWhereJoins:()Lio/ebeaninternal/api/ManyWhereJoins;
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.manyWhereJoins:Lio/ebeaninternal/api/ManyWhereJoins;
        13: .line 110
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.getDetail:()Lio/ebeaninternal/server/querydefn/OrmQueryDetail;
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.queryDetail:Lio/ebeaninternal/server/querydefn/OrmQueryDetail;
        14: .line 112
            aload 0 /* this */
            aload 4 /* predicates */
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.predicates:Lio/ebeaninternal/server/query/CQueryPredicates;
        15: .line 113
            aload 0 /* this */
            new io.ebeaninternal.server.query.SqlTreeAlias
            dup
            aload 3 /* request */
            invokevirtual io.ebeaninternal.server.core.OrmQueryRequest.getBaseTableAlias:()Ljava/lang/String;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.temporalMode:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            invokespecial io.ebeaninternal.server.query.SqlTreeAlias.<init>:(Ljava/lang/String;Lio/ebeaninternal/api/SpiQuery$TemporalMode;)V
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.alias:Lio/ebeaninternal/server/query/SqlTreeAlias;
        16: .line 114
            aload 0 /* this */
            aload 2 /* builder */
            invokevirtual io.ebeaninternal.server.query.CQueryBuilder.isPlatformDistinctOn:()Z
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.distinctOnPlatform:Z
        17: .line 116
            aload 2 /* builder */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokevirtual io.ebeaninternal.server.query.CQueryBuilder.fromForUpdate:(Lio/ebeaninternal/api/SpiQuery;)Ljava/lang/String;
            astore 5 /* fromForUpdate */
        start local 5 // java.lang.String fromForUpdate
        18: .line 117
            aload 2 /* builder */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokevirtual io.ebeaninternal.server.query.CQueryBuilder.getHistorySupport:(Lio/ebeaninternal/api/SpiQuery;)Lio/ebeaninternal/server/query/CQueryHistorySupport;
            astore 6 /* historySupport */
        start local 6 // io.ebeaninternal.server.query.CQueryHistorySupport historySupport
        19: .line 118
            aload 2 /* builder */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokevirtual io.ebeaninternal.server.query.CQueryBuilder.getDraftSupport:(Lio/ebeaninternal/api/SpiQuery;)Lio/ebeaninternal/server/query/CQueryDraftSupport;
            astore 7 /* draftSupport */
        start local 7 // io.ebeaninternal.server.query.CQueryDraftSupport draftSupport
        20: .line 119
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.subQuery:Z
            ifeq 21
            aconst_null
            goto 22
      StackMap locals: java.lang.String io.ebeaninternal.server.query.CQueryHistorySupport io.ebeaninternal.server.query.CQueryDraftSupport
      StackMap stack:
        21: aload 1 /* columnAliasPrefix */
      StackMap locals:
      StackMap stack: java.lang.String
        22: astore 8 /* colAlias */
        start local 8 // java.lang.String colAlias
        23: .line 120
            aload 0 /* this */
            new io.ebeaninternal.server.query.DefaultDbSqlContext
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.alias:Lio/ebeaninternal/server/query/SqlTreeAlias;
            aload 8 /* colAlias */
            aload 6 /* historySupport */
            aload 7 /* draftSupport */
            aload 5 /* fromForUpdate */
            invokespecial io.ebeaninternal.server.query.DefaultDbSqlContext.<init>:(Lio/ebeaninternal/server/query/SqlTreeAlias;Ljava/lang/String;Lio/ebeaninternal/server/query/CQueryHistorySupport;Lio/ebeaninternal/server/query/CQueryDraftSupport;Ljava/lang/String;)V
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
        24: .line 121
            return
        end local 8 // java.lang.String colAlias
        end local 7 // io.ebeaninternal.server.query.CQueryDraftSupport draftSupport
        end local 6 // io.ebeaninternal.server.query.CQueryHistorySupport historySupport
        end local 5 // java.lang.String fromForUpdate
        end local 4 // io.ebeaninternal.server.query.CQueryPredicates predicates
        end local 3 // io.ebeaninternal.server.core.OrmQueryRequest request
        end local 2 // io.ebeaninternal.server.query.CQueryBuilder builder
        end local 1 // java.lang.String columnAliasPrefix
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0               this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0   25     1  columnAliasPrefix  Ljava/lang/String;
            0   25     2            builder  Lio/ebeaninternal/server/query/CQueryBuilder;
            0   25     3            request  Lio/ebeaninternal/server/core/OrmQueryRequest<*>;
            0   25     4         predicates  Lio/ebeaninternal/server/query/CQueryPredicates;
           18   25     5      fromForUpdate  Ljava/lang/String;
           19   25     6     historySupport  Lio/ebeaninternal/server/query/CQueryHistorySupport;
           20   25     7       draftSupport  Lio/ebeaninternal/server/query/CQueryDraftSupport;
           23   25     8           colAlias  Ljava/lang/String;
    Signature: (Ljava/lang/String;Lio/ebeaninternal/server/query/CQueryBuilder;Lio/ebeaninternal/server/core/OrmQueryRequest<*>;Lio/ebeaninternal/server/query/CQueryPredicates;)V
    MethodParameters:
                   Name  Flags
      columnAliasPrefix  
      builder            
      request            
      predicates         

  public io.ebeaninternal.server.query.SqlTree build();
    descriptor: ()Lio/ebeaninternal/server/query/SqlTree;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=8, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
         0: .line 129
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.desc:Lio/ebeaninternal/server/query/STreeType;
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.buildRoot:(Lio/ebeaninternal/server/query/STreeType;)V
         1: .line 132
            aconst_null
            astore 1 /* distinctOn */
        start local 1 // java.lang.String distinctOn
         2: .line 133
            aconst_null
            astore 2 /* selectSql */
        start local 2 // java.lang.String selectSql
         3: .line 134
            aconst_null
            astore 3 /* fromSql */
        start local 3 // java.lang.String fromSql
         4: .line 135
            aconst_null
            astore 4 /* inheritanceWhereSql */
        start local 4 // java.lang.String inheritanceWhereSql
         5: .line 136
            aconst_null
            astore 5 /* groupBy */
        start local 5 // java.lang.String groupBy
         6: .line 137
            aconst_null
            astore 6 /* encryptedProps */
        start local 6 // io.ebeaninternal.server.query.STreeProperty[] encryptedProps
         7: .line 138
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rawSql:Z
            ifne 14
         8: .line 139
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.buildSelectClause:()Ljava/lang/String;
            astore 2 /* selectSql */
         9: .line 140
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.buildFromClause:()Ljava/lang/String;
            astore 3 /* fromSql */
        10: .line 141
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.buildWhereClause:()Ljava/lang/String;
            astore 4 /* inheritanceWhereSql */
        11: .line 142
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.buildGroupByClause:()Ljava/lang/String;
            astore 5 /* groupBy */
        12: .line 143
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.buildDistinctOn:()Ljava/lang/String;
            astore 1 /* distinctOn */
        13: .line 144
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            invokevirtual io.ebeaninternal.server.query.DefaultDbSqlContext.getEncryptedProps:()[Lio/ebeaninternal/server/deploy/BeanProperty;
            astore 6 /* encryptedProps */
        14: .line 147
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String io.ebeaninternal.server.query.STreeProperty[]
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.alias:Lio/ebeaninternal/server/query/SqlTreeAlias;
            ifnull 15
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.alias:Lio/ebeaninternal/server/query/SqlTreeAlias;
            invokevirtual io.ebeaninternal.server.query.SqlTreeAlias.isIncludeJoins:()Z
            ifeq 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 7 /* includeJoins */
        start local 7 // boolean includeJoins
        17: .line 148
            new io.ebeaninternal.server.query.SqlTree
            dup
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rootNode:Lio/ebeaninternal/server/query/SqlTreeNode;
            aload 1 /* distinctOn */
            aload 2 /* selectSql */
            aload 3 /* fromSql */
            aload 5 /* groupBy */
            aload 4 /* inheritanceWhereSql */
            aload 6 /* encryptedProps */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.manyProperty:Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            iload 7 /* includeJoins */
            invokespecial io.ebeaninternal.server.query.SqlTree.<init>:(Lio/ebeaninternal/server/query/SqlTreeNode;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Lio/ebeaninternal/server/query/STreeProperty;Lio/ebeaninternal/server/query/STreePropertyAssocMany;Z)V
            areturn
        end local 7 // boolean includeJoins
        end local 6 // io.ebeaninternal.server.query.STreeProperty[] encryptedProps
        end local 5 // java.lang.String groupBy
        end local 4 // java.lang.String inheritanceWhereSql
        end local 3 // java.lang.String fromSql
        end local 2 // java.lang.String selectSql
        end local 1 // java.lang.String distinctOn
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   18     0                 this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            2   18     1           distinctOn  Ljava/lang/String;
            3   18     2            selectSql  Ljava/lang/String;
            4   18     3              fromSql  Ljava/lang/String;
            5   18     4  inheritanceWhereSql  Ljava/lang/String;
            6   18     5              groupBy  Ljava/lang/String;
            7   18     6       encryptedProps  [Lio/ebeaninternal/server/query/STreeProperty;
           17   18     7         includeJoins  Z

  private java.lang.String buildSelectClause();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
         0: .line 153
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rawSql:Z
            ifeq 2
         1: .line 154
            ldc "Not Used"
            areturn
         2: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rootNode:Lio/ebeaninternal/server/query/SqlTreeNode;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.subQuery:Z
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.appendSelect:(Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
         3: .line 157
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            invokevirtual io.ebeaninternal.server.query.DefaultDbSqlContext.getContent:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.trimComma:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/ebeaninternal/server/query/SqlTreeBuilder;

  private java.lang.String buildGroupByClause();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
         0: .line 162
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rawSql:Z
            ifne 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rootNode:Lio/ebeaninternal/server/query/SqlTreeNode;
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.isAggregation:()Z
            ifne 2
         1: .line 163
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            invokevirtual io.ebeaninternal.server.query.DefaultDbSqlContext.startGroupBy:()V
         3: .line 166
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rootNode:Lio/ebeaninternal/server/query/SqlTreeNode;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.subQuery:Z
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.appendGroupBy:(Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
         4: .line 167
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            invokevirtual io.ebeaninternal.server.query.DefaultDbSqlContext.getContent:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.trimComma:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/ebeaninternal/server/query/SqlTreeBuilder;

  private java.lang.String buildDistinctOn();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
         0: .line 172
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rawSql:Z
            ifne 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.distinctOnPlatform:Z
            ifeq 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.sqlDistinct:Z
            ifeq 1
            getstatic io.ebeaninternal.api.SpiQuery$Type.COUNT:Lio/ebeaninternal/api/SpiQuery$Type;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.getType:()Lio/ebeaninternal/api/SpiQuery$Type;
            if_acmpne 2
         1: .line 173
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            invokevirtual io.ebeaninternal.server.query.DefaultDbSqlContext.startGroupBy:()V
         3: .line 176
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rootNode:Lio/ebeaninternal/server/query/SqlTreeNode;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.subQuery:Z
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.appendDistinctOn:(Lio/ebeaninternal/server/deploy/DbSqlContext;Z)V
         4: .line 177
            aload 0 /* this */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            invokevirtual io.ebeaninternal.server.query.DefaultDbSqlContext.getContent:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.trimComma:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* idCols */
        start local 1 // java.lang.String idCols
         5: .line 178
            aload 1 /* idCols */
            ifnonnull 6
            aconst_null
            goto 7
      StackMap locals: java.lang.String
      StackMap stack:
         6: aload 1 /* idCols */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.predicates:Lio/ebeaninternal/server/query/CQueryPredicates;
            invokevirtual io.ebeaninternal.server.query.CQueryPredicates.getDbOrderBy:()Ljava/lang/String;
            invokestatic io.ebeaninternal.server.query.SqlTreeBuilder.mergeOnDistinct:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         7: areturn
        end local 1 // java.lang.String idCols
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            5    8     1  idCols  Ljava/lang/String;

  static java.lang.String mergeOnDistinct(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.lang.String idCols
        start local 1 // java.lang.String dbOrderBy
         0: .line 182
            aload 1 /* dbOrderBy */
            ifnonnull 2
         1: .line 183
            aload 0 /* idCols */
            areturn
         2: .line 185
      StackMap locals:
      StackMap stack:
            aload 1 /* dbOrderBy */
            invokestatic io.ebeaninternal.server.query.DbOrderByTrim.trim:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* dbOrderBy */
         3: .line 186
            new java.lang.StringBuilder
            dup
            aload 1 /* dbOrderBy */
            invokevirtual java.lang.String.length:()I
            aload 0 /* idCols */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_2
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         4: .line 187
            aload 2 /* sb */
            aload 1 /* dbOrderBy */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 188
            aload 0 /* idCols */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* split */
        start local 3 // java.lang.String[] split
         6: .line 189
            aload 3 /* split */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 12
      StackMap locals: java.lang.String java.lang.String java.lang.StringBuilder java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         7: aload 7
            iload 5
            aaload
            astore 4 /* col */
        start local 4 // java.lang.String col
         8: .line 190
            aload 4 /* col */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 4 /* col */
         9: .line 191
            aload 1 /* dbOrderBy */
            aload 4 /* col */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 11
        10: .line 192
            aload 2 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* col */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.String col
        11: .line 189
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        12: iload 5
            iload 6
            if_icmplt 7
        13: .line 195
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String[] split
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.lang.String dbOrderBy
        end local 0 // java.lang.String idCols
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0     idCols  Ljava/lang/String;
            0   14     1  dbOrderBy  Ljava/lang/String;
            4   14     2         sb  Ljava/lang/StringBuilder;
            6   14     3      split  [Ljava/lang/String;
            8   11     4        col  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      idCols     
      dbOrderBy  

  private java.lang.String trimComma(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // java.lang.String groupBy
         0: .line 202
            aload 1 /* groupBy */
            invokevirtual java.lang.String.length:()I
            ldc ", "
            invokevirtual java.lang.String.length:()I
            if_icmpge 2
         1: .line 203
            aconst_null
            areturn
         2: .line 205
      StackMap locals:
      StackMap stack:
            aload 1 /* groupBy */
            ldc ", "
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String groupBy
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0    3     1  groupBy  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      groupBy  

  private java.lang.String buildWhereClause();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
         0: .line 211
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rawSql:Z
            ifeq 2
         1: .line 212
            ldc "Not Used"
            areturn
         2: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rootNode:Lio/ebeaninternal/server/query/SqlTreeNode;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.appendWhere:(Lio/ebeaninternal/server/deploy/DbSqlContext;)V
         3: .line 215
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            invokevirtual io.ebeaninternal.server.query.DefaultDbSqlContext.getContent:()Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/ebeaninternal/server/query/SqlTreeBuilder;

  private java.lang.String buildFromClause();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
         0: .line 220
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rawSql:Z
            ifeq 2
         1: .line 221
            ldc "Not Used"
            areturn
         2: .line 223
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rootNode:Lio/ebeaninternal/server/query/SqlTreeNode;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            getstatic io.ebeaninternal.server.query.SqlJoinType.AUTO:Lio/ebeaninternal/server/query/SqlJoinType;
            invokeinterface io.ebeaninternal.server.query.SqlTreeNode.appendFrom:(Lio/ebeaninternal/server/deploy/DbSqlContext;Lio/ebeaninternal/server/query/SqlJoinType;)V
         3: .line 224
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.ctx:Lio/ebeaninternal/server/query/DefaultDbSqlContext;
            invokevirtual io.ebeaninternal.server.query.DefaultDbSqlContext.getContent:()Ljava/lang/String;
            areturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/ebeaninternal/server/query/SqlTreeBuilder;

  private void buildRoot(io.ebeaninternal.server.query.STreeType);
    descriptor: (Lio/ebeaninternal/server/query/STreeType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // io.ebeaninternal.server.query.STreeType desc
         0: .line 229
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            aconst_null
            aload 1 /* desc */
            aconst_null
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.buildSelectChain:(Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Ljava/util/List;)Lio/ebeaninternal/server/query/SqlTreeNode;
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.rootNode:Lio/ebeaninternal/server/query/SqlTreeNode;
         1: .line 231
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rawSql:Z
            ifne 7
         2: .line 232
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.alias:Lio/ebeaninternal/server/query/SqlTreeAlias;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.queryDetail:Lio/ebeaninternal/server/querydefn/OrmQueryDetail;
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryDetail.getFetchPaths:()Ljava/util/Set;
            aload 1 /* desc */
            invokevirtual io.ebeaninternal.server.query.SqlTreeAlias.addJoin:(Ljava/util/Set;Lio/ebeaninternal/server/query/STreeType;)V
         3: .line 233
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.alias:Lio/ebeaninternal/server/query/SqlTreeAlias;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.predicates:Lio/ebeaninternal/server/query/CQueryPredicates;
            invokevirtual io.ebeaninternal.server.query.CQueryPredicates.getPredicateIncludes:()Ljava/util/Set;
            aload 1 /* desc */
            invokevirtual io.ebeaninternal.server.query.SqlTreeAlias.addJoin:(Ljava/util/Set;Lio/ebeaninternal/server/query/STreeType;)V
         4: .line 234
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.alias:Lio/ebeaninternal/server/query/SqlTreeAlias;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.manyWhereJoins:Lio/ebeaninternal/api/ManyWhereJoins;
            invokevirtual io.ebeaninternal.api.ManyWhereJoins.getPropertyNames:()Ljava/util/TreeSet;
            invokevirtual io.ebeaninternal.server.query.SqlTreeAlias.addManyWhereJoins:(Ljava/util/Set;)V
         5: .line 237
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.alias:Lio/ebeaninternal/server/query/SqlTreeAlias;
            invokevirtual io.ebeaninternal.server.query.SqlTreeAlias.buildAlias:()V
         6: .line 239
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.predicates:Lio/ebeaninternal/server/query/CQueryPredicates;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.alias:Lio/ebeaninternal/server/query/SqlTreeAlias;
            invokevirtual io.ebeaninternal.server.query.CQueryPredicates.parseTableAlias:(Lio/ebeaninternal/server/query/SqlTreeAlias;)V
         7: .line 241
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.ebeaninternal.server.query.STreeType desc
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0    8     1  desc  Lio/ebeaninternal/server/query/STreeType;
    MethodParameters:
      Name  Flags
      desc  

  private io.ebeaninternal.server.query.SqlTreeNode buildSelectChain(java.lang.String, io.ebeaninternal.server.query.STreePropertyAssoc, io.ebeaninternal.server.query.STreeType, java.util.List<io.ebeaninternal.server.query.SqlTreeNode>);
    descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Ljava/util/List;)Lio/ebeaninternal/server/query/SqlTreeNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=5
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // java.lang.String prefix
        start local 2 // io.ebeaninternal.server.query.STreePropertyAssoc prop
        start local 3 // io.ebeaninternal.server.query.STreeType desc
        start local 4 // java.util.List joinList
         0: .line 250
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* myJoinList */
        start local 5 // java.util.List myJoinList
         1: .line 252
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* extraProps */
        start local 6 // java.util.List extraProps
         2: .line 253
            aload 3 /* desc */
            invokeinterface io.ebeaninternal.server.query.STreeType.propsOne:()[Lio/ebeaninternal/server/query/STreePropertyAssocOne;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 11
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType java.util.List java.util.List java.util.List top int int io.ebeaninternal.server.query.STreePropertyAssocOne[]
      StackMap stack:
         3: aload 10
            iload 8
            aaload
            astore 7 /* one */
        start local 7 // io.ebeaninternal.server.query.STreePropertyAssocOne one
         4: .line 254
            aload 1 /* prefix */
            aload 7 /* one */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocOne.getName:()Ljava/lang/String;
            invokestatic io.ebean.util.SplitName.add:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* propPrefix */
        start local 11 // java.lang.String propPrefix
         5: .line 255
            aload 0 /* this */
            aload 11 /* propPrefix */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.isIncludeBean:(Ljava/lang/String;)Z
            ifeq 10
         6: .line 256
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.selectIncludes:Ljava/util/HashSet;
            aload 11 /* propPrefix */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         7: .line 257
            aload 7 /* one */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocOne.hasForeignKey:()Z
            ifne 9
         8: .line 258
            aload 6 /* extraProps */
            aload 7 /* one */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 260
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType java.util.List java.util.List java.util.List io.ebeaninternal.server.query.STreePropertyAssocOne int int io.ebeaninternal.server.query.STreePropertyAssocOne[] java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 11 /* propPrefix */
            aload 7 /* one */
            aload 7 /* one */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocOne.target:()Lio/ebeaninternal/server/query/STreeType;
            aload 5 /* myJoinList */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.buildSelectChain:(Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Ljava/util/List;)Lio/ebeaninternal/server/query/SqlTreeNode;
            pop
        end local 11 // java.lang.String propPrefix
        end local 7 // io.ebeaninternal.server.query.STreePropertyAssocOne one
        10: .line 253
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType java.util.List java.util.List java.util.List top int int io.ebeaninternal.server.query.STreePropertyAssocOne[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        11: iload 8
            iload 9
            if_icmplt 3
        12: .line 264
            aload 3 /* desc */
            invokeinterface io.ebeaninternal.server.query.STreeType.propsMany:()[Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 19
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType java.util.List java.util.List java.util.List top int int io.ebeaninternal.server.query.STreePropertyAssocMany[]
      StackMap stack:
        13: aload 10
            iload 8
            aaload
            astore 7 /* many */
        start local 7 // io.ebeaninternal.server.query.STreePropertyAssocMany many
        14: .line 265
            aload 1 /* prefix */
            aload 7 /* many */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocMany.getName:()Ljava/lang/String;
            invokestatic io.ebean.util.SplitName.add:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* propPrefix */
        start local 11 // java.lang.String propPrefix
        15: .line 266
            aload 0 /* this */
            aload 11 /* propPrefix */
            aload 7 /* many */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.isIncludeMany:(Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssocMany;)Z
            ifeq 18
        16: .line 267
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.selectIncludes:Ljava/util/HashSet;
            aload 11 /* propPrefix */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        17: .line 268
            aload 0 /* this */
            aload 11 /* propPrefix */
            aload 7 /* many */
            aload 7 /* many */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocMany.target:()Lio/ebeaninternal/server/query/STreeType;
            aload 5 /* myJoinList */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.buildSelectChain:(Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Ljava/util/List;)Lio/ebeaninternal/server/query/SqlTreeNode;
            pop
        end local 11 // java.lang.String propPrefix
        end local 7 // io.ebeaninternal.server.query.STreePropertyAssocMany many
        18: .line 264
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        19: iload 8
            iload 9
            if_icmplt 13
        20: .line 272
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.queryDetail:Lio/ebeaninternal/server/querydefn/OrmQueryDetail;
            aload 1 /* prefix */
            iconst_0
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryDetail.getChunk:(Ljava/lang/String;Z)Lio/ebeaninternal/server/querydefn/OrmQueryProperties;
            astore 7 /* queryProps */
        start local 7 // io.ebeaninternal.server.querydefn.OrmQueryProperties queryProps
        21: .line 273
            aload 0 /* this */
            aload 3 /* desc */
            aload 7 /* queryProps */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.getBaseSelect:(Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/querydefn/OrmQueryProperties;)Lio/ebeaninternal/server/query/SqlTreeProperties;
            astore 8 /* props */
        start local 8 // io.ebeaninternal.server.query.SqlTreeProperties props
        22: .line 275
            aload 1 /* prefix */
            ifnonnull 26
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rawSql:Z
            ifne 26
        23: .line 276
            aload 8 /* props */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.manyWhereJoins:Lio/ebeaninternal/api/ManyWhereJoins;
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.requireSqlDistinct:(Lio/ebeaninternal/api/ManyWhereJoins;)Z
            ifeq 25
        24: .line 277
            aload 0 /* this */
            iconst_1
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.sqlDistinct:Z
        25: .line 279
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType java.util.List java.util.List java.util.List io.ebeaninternal.server.querydefn.OrmQueryProperties io.ebeaninternal.server.query.SqlTreeProperties
      StackMap stack:
            aload 0 /* this */
            aload 5 /* myJoinList */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.addManyWhereJoins:(Ljava/util/List;)V
        26: .line 281
      StackMap locals:
      StackMap stack:
            aload 6 /* extraProps */
            aload 8 /* props */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lio/ebeaninternal/server/query/SqlTreeProperties;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/ebeaninternal/server/query/SqlTreeProperties.add(Lio/ebeaninternal/server/query/STreeProperty;)V (5)
                  (Lio/ebeaninternal/server/query/STreePropertyAssocOne;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        27: .line 283
            aload 0 /* this */
            aload 1 /* prefix */
            aload 2 /* prop */
            aload 3 /* desc */
            aload 5 /* myJoinList */
            aload 8 /* props */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.buildNode:(Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Ljava/util/List;Lio/ebeaninternal/server/query/SqlTreeProperties;)Lio/ebeaninternal/server/query/SqlTreeNode;
            astore 10 /* selectNode */
        start local 10 // io.ebeaninternal.server.query.SqlTreeNode selectNode
        28: .line 284
            aload 4 /* joinList */
            ifnull 30
        29: .line 285
            aload 4 /* joinList */
            aload 10 /* selectNode */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 287
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder java.lang.String io.ebeaninternal.server.query.STreePropertyAssoc io.ebeaninternal.server.query.STreeType java.util.List java.util.List java.util.List io.ebeaninternal.server.querydefn.OrmQueryProperties io.ebeaninternal.server.query.SqlTreeProperties top io.ebeaninternal.server.query.SqlTreeNode
      StackMap stack:
            aload 10 /* selectNode */
            areturn
        end local 10 // io.ebeaninternal.server.query.SqlTreeNode selectNode
        end local 8 // io.ebeaninternal.server.query.SqlTreeProperties props
        end local 7 // io.ebeaninternal.server.querydefn.OrmQueryProperties queryProps
        end local 6 // java.util.List extraProps
        end local 5 // java.util.List myJoinList
        end local 4 // java.util.List joinList
        end local 3 // io.ebeaninternal.server.query.STreeType desc
        end local 2 // io.ebeaninternal.server.query.STreePropertyAssoc prop
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0   31     1      prefix  Ljava/lang/String;
            0   31     2        prop  Lio/ebeaninternal/server/query/STreePropertyAssoc;
            0   31     3        desc  Lio/ebeaninternal/server/query/STreeType;
            0   31     4    joinList  Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;
            1   31     5  myJoinList  Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;
            2   31     6  extraProps  Ljava/util/List<Lio/ebeaninternal/server/query/STreePropertyAssocOne;>;
            4   10     7         one  Lio/ebeaninternal/server/query/STreePropertyAssocOne;
            5   10    11  propPrefix  Ljava/lang/String;
           14   18     7        many  Lio/ebeaninternal/server/query/STreePropertyAssocMany;
           15   18    11  propPrefix  Ljava/lang/String;
           21   31     7  queryProps  Lio/ebeaninternal/server/querydefn/OrmQueryProperties;
           22   31     8       props  Lio/ebeaninternal/server/query/SqlTreeProperties;
           28   31    10  selectNode  Lio/ebeaninternal/server/query/SqlTreeNode;
    Signature: (Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;)Lio/ebeaninternal/server/query/SqlTreeNode;
    MethodParameters:
          Name  Flags
      prefix    
      prop      
      desc      
      joinList  

  private void addManyWhereJoins(java.util.List<io.ebeaninternal.server.query.SqlTreeNode>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // java.util.List myJoinList
         0: .line 299
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.manyWhereJoins:Lio/ebeaninternal/api/ManyWhereJoins;
            invokevirtual io.ebeaninternal.api.ManyWhereJoins.getPropertyJoins:()Ljava/util/Collection;
            astore 2 /* includes */
        start local 2 // java.util.Collection includes
         1: .line 300
            aload 2 /* includes */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder java.util.List java.util.Collection top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebeaninternal.api.PropertyJoin
            astore 3 /* joinProp */
        start local 3 // io.ebeaninternal.api.PropertyJoin joinProp
         3: .line 301
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.desc:Lio/ebeaninternal/server/query/STreeType;
            aload 3 /* joinProp */
            invokevirtual io.ebeaninternal.api.PropertyJoin.getProperty:()Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.query.STreeType.findPropertyFromPath:(Ljava/lang/String;)Lio/ebeaninternal/server/query/STreeProperty;
            checkcast io.ebeaninternal.server.query.STreePropertyAssoc
            astore 5 /* beanProperty */
        start local 5 // io.ebeaninternal.server.query.STreePropertyAssoc beanProperty
         4: .line 302
            new io.ebeaninternal.server.query.SqlTreeNodeManyWhereJoin
            dup
            aload 3 /* joinProp */
            invokevirtual io.ebeaninternal.api.PropertyJoin.getProperty:()Ljava/lang/String;
            aload 5 /* beanProperty */
            aload 3 /* joinProp */
            invokevirtual io.ebeaninternal.api.PropertyJoin.getSqlJoinType:()Lio/ebeaninternal/server/query/SqlJoinType;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.temporalMode:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            invokespecial io.ebeaninternal.server.query.SqlTreeNodeManyWhereJoin.<init>:(Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/SqlJoinType;Lio/ebeaninternal/api/SpiQuery$TemporalMode;)V
            astore 6 /* nodeJoin */
        start local 6 // io.ebeaninternal.server.query.SqlTreeNodeManyWhereJoin nodeJoin
         5: .line 303
            aload 1 /* myJoinList */
            aload 6 /* nodeJoin */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // io.ebeaninternal.server.query.SqlTreeNodeManyWhereJoin nodeJoin
        end local 5 // io.ebeaninternal.server.query.STreePropertyAssoc beanProperty
        end local 3 // io.ebeaninternal.api.PropertyJoin joinProp
         6: .line 300
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 305
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.manyWhereJoins:Lio/ebeaninternal/api/ManyWhereJoins;
            invokevirtual io.ebeaninternal.api.ManyWhereJoins.isFormulaWithJoin:()Z
            ifeq 13
         8: .line 306
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.manyWhereJoins:Lio/ebeaninternal/api/ManyWhereJoins;
            invokevirtual io.ebeaninternal.api.ManyWhereJoins.getFormulaJoinProperties:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals:
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* property */
        start local 3 // java.lang.String property
        10: .line 307
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.desc:Lio/ebeaninternal/server/query/STreeType;
            aload 3 /* property */
            invokeinterface io.ebeaninternal.server.query.STreeType.findPropertyFromPath:(Ljava/lang/String;)Lio/ebeaninternal/server/query/STreeProperty;
            astore 5 /* beanProperty */
        start local 5 // io.ebeaninternal.server.query.STreeProperty beanProperty
        11: .line 308
            aload 1 /* myJoinList */
            new io.ebeaninternal.server.query.SqlTreeNodeFormulaWhereJoin
            dup
            aload 5 /* beanProperty */
            getstatic io.ebeaninternal.server.query.SqlJoinType.OUTER:Lio/ebeaninternal/server/query/SqlJoinType;
            invokespecial io.ebeaninternal.server.query.SqlTreeNodeFormulaWhereJoin.<init>:(Lio/ebeaninternal/server/query/STreeProperty;Lio/ebeaninternal/server/query/SqlJoinType;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // io.ebeaninternal.server.query.STreeProperty beanProperty
        end local 3 // java.lang.String property
        12: .line 306
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 311
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder java.util.List java.util.Collection
      StackMap stack:
            return
        end local 2 // java.util.Collection includes
        end local 1 // java.util.List myJoinList
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0   14     1    myJoinList  Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;
            1   14     2      includes  Ljava/util/Collection<Lio/ebeaninternal/api/PropertyJoin;>;
            3    6     3      joinProp  Lio/ebeaninternal/api/PropertyJoin;
            4    6     5  beanProperty  Lio/ebeaninternal/server/query/STreePropertyAssoc;
            5    6     6      nodeJoin  Lio/ebeaninternal/server/query/SqlTreeNodeManyWhereJoin;
           10   12     3      property  Ljava/lang/String;
           11   12     5  beanProperty  Lio/ebeaninternal/server/query/STreeProperty;
    Signature: (Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;)V
    MethodParameters:
            Name  Flags
      myJoinList  

  private io.ebeaninternal.server.query.SqlTreeNode buildNode(java.lang.String, io.ebeaninternal.server.query.STreePropertyAssoc, io.ebeaninternal.server.query.STreeType, java.util.List<io.ebeaninternal.server.query.SqlTreeNode>, io.ebeaninternal.server.query.SqlTreeProperties);
    descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Ljava/util/List;Lio/ebeaninternal/server/query/SqlTreeProperties;)Lio/ebeaninternal/server/query/SqlTreeNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=9, args_size=6
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // java.lang.String prefix
        start local 2 // io.ebeaninternal.server.query.STreePropertyAssoc prop
        start local 3 // io.ebeaninternal.server.query.STreeType desc
        start local 4 // java.util.List myList
        start local 5 // io.ebeaninternal.server.query.SqlTreeProperties props
         0: .line 315
            aload 1 /* prefix */
            ifnonnull 15
         1: .line 316
            aload 0 /* this */
            aload 3 /* desc */
            aload 4 /* myList */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.buildExtraJoins:(Lio/ebeaninternal/server/query/STreeType;Ljava/util/List;)V
         2: .line 319
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.getLazyLoadMany:()Lio/ebeaninternal/server/deploy/BeanPropertyAssocMany;
      StackMap locals:
      StackMap stack: io.ebeaninternal.server.deploy.BeanPropertyAssocMany
         4: astore 6 /* lazyLoadMany */
        start local 6 // io.ebeaninternal.server.query.STreePropertyAssocMany lazyLoadMany
         5: .line 320
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rawNoId:Z
            ifne 7
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.subQuery:Z
            ifne 7
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            ifnull 6
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.isWithId:()Z
            ifeq 7
      StackMap locals: io.ebeaninternal.server.query.STreePropertyAssocMany
      StackMap stack:
         6: iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 7 /* withId */
        start local 7 // boolean withId
         9: .line 322
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            ifnonnull 10
            aconst_null
            goto 11
      StackMap locals: int
      StackMap stack:
        10: aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.getBaseTable:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        11: astore 8 /* baseTable */
        start local 8 // java.lang.String baseTable
        12: .line 323
            aload 8 /* baseTable */
            ifnonnull 14
        13: .line 324
            aload 3 /* desc */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.temporalMode:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            invokeinterface io.ebeaninternal.server.query.STreeType.getBaseTable:(Lio/ebeaninternal/api/SpiQuery$TemporalMode;)Ljava/lang/String;
            astore 8 /* baseTable */
        14: .line 326
      StackMap locals: java.lang.String
      StackMap stack:
            new io.ebeaninternal.server.query.SqlTreeNodeRoot
            dup
            aload 3 /* desc */
            aload 5 /* props */
            aload 4 /* myList */
            iload 7 /* withId */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.includeJoin:Lio/ebeaninternal/server/deploy/TableJoin;
            aload 6 /* lazyLoadMany */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.temporalMode:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.disableLazyLoad:Z
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.sqlDistinct:Z
            aload 8 /* baseTable */
            invokespecial io.ebeaninternal.server.query.SqlTreeNodeRoot.<init>:(Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/query/SqlTreeProperties;Ljava/util/List;ZLio/ebeaninternal/server/deploy/TableJoin;Lio/ebeaninternal/server/query/STreePropertyAssocMany;Lio/ebeaninternal/api/SpiQuery$TemporalMode;ZZLjava/lang/String;)V
            areturn
        end local 8 // java.lang.String baseTable
        end local 7 // boolean withId
        end local 6 // io.ebeaninternal.server.query.STreePropertyAssocMany lazyLoadMany
        15: .line 328
      StackMap locals:
      StackMap stack:
            aload 2 /* prop */
            instanceof io.ebeaninternal.server.query.STreePropertyAssocMany
            ifeq 17
        16: .line 329
            new io.ebeaninternal.server.query.SqlTreeNodeManyRoot
            dup
            aload 1 /* prefix */
            aload 2 /* prop */
            checkcast io.ebeaninternal.server.query.STreePropertyAssocMany
            aload 5 /* props */
            aload 4 /* myList */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.temporalMode:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.disableLazyLoad:Z
            invokespecial io.ebeaninternal.server.query.SqlTreeNodeManyRoot.<init>:(Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssocMany;Lio/ebeaninternal/server/query/SqlTreeProperties;Ljava/util/List;Lio/ebeaninternal/api/SpiQuery$TemporalMode;Z)V
            areturn
        17: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.isNotSingleAttribute:()Z
            istore 6 /* withId */
        start local 6 // boolean withId
        18: .line 334
            new io.ebeaninternal.server.query.SqlTreeNodeBean
            dup
            aload 1 /* prefix */
            aload 2 /* prop */
            aload 5 /* props */
            aload 4 /* myList */
            iload 6 /* withId */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.temporalMode:Lio/ebeaninternal/api/SpiQuery$TemporalMode;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.disableLazyLoad:Z
            invokespecial io.ebeaninternal.server.query.SqlTreeNodeBean.<init>:(Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/SqlTreeProperties;Ljava/util/List;ZLio/ebeaninternal/api/SpiQuery$TemporalMode;Z)V
            areturn
        end local 6 // boolean withId
        end local 5 // io.ebeaninternal.server.query.SqlTreeProperties props
        end local 4 // java.util.List myList
        end local 3 // io.ebeaninternal.server.query.STreeType desc
        end local 2 // io.ebeaninternal.server.query.STreePropertyAssoc prop
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0   19     1        prefix  Ljava/lang/String;
            0   19     2          prop  Lio/ebeaninternal/server/query/STreePropertyAssoc;
            0   19     3          desc  Lio/ebeaninternal/server/query/STreeType;
            0   19     4        myList  Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;
            0   19     5         props  Lio/ebeaninternal/server/query/SqlTreeProperties;
            5   15     6  lazyLoadMany  Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            9   15     7        withId  Z
           12   15     8     baseTable  Ljava/lang/String;
           18   19     6        withId  Z
    Signature: (Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssoc;Lio/ebeaninternal/server/query/STreeType;Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;Lio/ebeaninternal/server/query/SqlTreeProperties;)Lio/ebeaninternal/server/query/SqlTreeNode;
    MethodParameters:
        Name  Flags
      prefix  
      prop    
      desc    
      myList  
      props   

  private void buildExtraJoins(io.ebeaninternal.server.query.STreeType, java.util.List<io.ebeaninternal.server.query.SqlTreeNode>);
    descriptor: (Lio/ebeaninternal/server/query/STreeType;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // io.ebeaninternal.server.query.STreeType desc
        start local 2 // java.util.List myList
         0: .line 344
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.rawSql:Z
            ifeq 2
         1: .line 345
            return
         2: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.predicates:Lio/ebeaninternal/server/query/CQueryPredicates;
            invokevirtual io.ebeaninternal.server.query.CQueryPredicates.getPredicateIncludes:()Ljava/util/Set;
            astore 3 /* predicateIncludes */
        start local 3 // java.util.Set predicateIncludes
         3: .line 350
            aload 3 /* predicateIncludes */
            ifnonnull 5
         4: .line 351
            return
         5: .line 360
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* predicateIncludes */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.manyWhereJoins:Lio/ebeaninternal/api/ManyWhereJoins;
            invokevirtual io.ebeaninternal.api.ManyWhereJoins.getPropertyNames:()Ljava/util/TreeSet;
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
         6: .line 361
            aload 3 /* predicateIncludes */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.predicates:Lio/ebeaninternal/server/query/CQueryPredicates;
            invokevirtual io.ebeaninternal.server.query.CQueryPredicates.getOrderByIncludes:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 365
            new io.ebeaninternal.server.query.SqlTreeBuilder$IncludesDistiller
            dup
            aload 1 /* desc */
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.selectIncludes:Ljava/util/HashSet;
            aload 3 /* predicateIncludes */
            invokespecial io.ebeaninternal.server.query.SqlTreeBuilder$IncludesDistiller.<init>:(Lio/ebeaninternal/server/query/STreeType;Ljava/util/Set;Ljava/util/Set;)V
            astore 4 /* extraJoinDistill */
        start local 4 // io.ebeaninternal.server.query.SqlTreeBuilder$IncludesDistiller extraJoinDistill
         8: .line 367
            aload 4 /* extraJoinDistill */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder$IncludesDistiller.getExtraJoinRootNodes:()Ljava/util/Collection;
            astore 5 /* extraJoins */
        start local 5 // java.util.Collection extraJoins
         9: .line 368
            aload 5 /* extraJoins */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 16
        10: .line 371
            aload 5 /* extraJoins */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 15
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder io.ebeaninternal.server.query.STreeType java.util.List java.util.Set io.ebeaninternal.server.query.SqlTreeBuilder$IncludesDistiller java.util.Collection top java.util.Iterator
      StackMap stack:
        11: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.ebeaninternal.server.query.SqlTreeNodeExtraJoin
            astore 6 /* extraJoin */
        start local 6 // io.ebeaninternal.server.query.SqlTreeNodeExtraJoin extraJoin
        12: .line 372
            aload 2 /* myList */
            aload 6 /* extraJoin */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 373
            aload 6 /* extraJoin */
            invokevirtual io.ebeaninternal.server.query.SqlTreeNodeExtraJoin.isManyJoin:()Z
            ifeq 15
        14: .line 377
            aload 0 /* this */
            iconst_1
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.sqlDistinct:Z
        end local 6 // io.ebeaninternal.server.query.SqlTreeNodeExtraJoin extraJoin
        15: .line 371
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        16: .line 381
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder io.ebeaninternal.server.query.STreeType java.util.List java.util.Set io.ebeaninternal.server.query.SqlTreeBuilder$IncludesDistiller java.util.Collection
      StackMap stack:
            return
        end local 5 // java.util.Collection extraJoins
        end local 4 // io.ebeaninternal.server.query.SqlTreeBuilder$IncludesDistiller extraJoinDistill
        end local 3 // java.util.Set predicateIncludes
        end local 2 // java.util.List myList
        end local 1 // io.ebeaninternal.server.query.STreeType desc
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0   17     1               desc  Lio/ebeaninternal/server/query/STreeType;
            0   17     2             myList  Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;
            3   17     3  predicateIncludes  Ljava/util/Set<Ljava/lang/String;>;
            8   17     4   extraJoinDistill  Lio/ebeaninternal/server/query/SqlTreeBuilder$IncludesDistiller;
            9   17     5         extraJoins  Ljava/util/Collection<Lio/ebeaninternal/server/query/SqlTreeNodeExtraJoin;>;
           12   15     6          extraJoin  Lio/ebeaninternal/server/query/SqlTreeNodeExtraJoin;
    Signature: (Lio/ebeaninternal/server/query/STreeType;Ljava/util/List<Lio/ebeaninternal/server/query/SqlTreeNode;>;)V
    MethodParameters:
        Name  Flags
      desc    
      myList  

  private void addPropertyToSubQuery(io.ebeaninternal.server.query.SqlTreeProperties, io.ebeaninternal.server.query.STreeType, java.lang.String);
    descriptor: (Lio/ebeaninternal/server/query/SqlTreeProperties;Lio/ebeaninternal/server/query/STreeType;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // io.ebeaninternal.server.query.SqlTreeProperties selectProps
        start local 2 // io.ebeaninternal.server.query.STreeType desc
        start local 3 // java.lang.String propName
         0: .line 393
            aload 2 /* desc */
            aload 3 /* propName */
            invokeinterface io.ebeaninternal.server.query.STreeType.findProperty:(Ljava/lang/String;)Lio/ebeaninternal/server/query/STreeProperty;
            astore 4 /* p */
        start local 4 // io.ebeaninternal.server.query.STreeProperty p
         1: .line 394
            aload 4 /* p */
            ifnonnull 4
         2: .line 395
            getstatic io.ebeaninternal.server.query.SqlTreeBuilder.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "property ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* propName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]not found on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " for query - excluding it."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
         3: .line 397
            goto 9
      StackMap locals: io.ebeaninternal.server.query.STreeProperty
      StackMap stack:
         4: aload 4 /* p */
            instanceof io.ebeaninternal.server.query.STreePropertyAssoc
            ifeq 9
            aload 4 /* p */
            invokeinterface io.ebeaninternal.server.query.STreeProperty.isEmbedded:()Z
            ifeq 9
         5: .line 399
            aload 3 /* propName */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            istore 5 /* pos */
        start local 5 // int pos
         6: .line 400
            iload 5 /* pos */
            iconst_m1
            if_icmple 9
         7: .line 401
            aload 3 /* propName */
            iload 5 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         8: .line 402
            aload 4 /* p */
            checkcast io.ebeaninternal.server.query.STreePropertyAssoc
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssoc.target:()Lio/ebeaninternal/server/query/STreeType;
            aload 6 /* name */
            invokeinterface io.ebeaninternal.server.query.STreeType.findProperty:(Ljava/lang/String;)Lio/ebeaninternal/server/query/STreeProperty;
            astore 4 /* p */
        end local 6 // java.lang.String name
        end local 5 // int pos
         9: .line 406
      StackMap locals:
      StackMap stack:
            aload 1 /* selectProps */
            aload 4 /* p */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.add:(Lio/ebeaninternal/server/query/STreeProperty;)V
        10: .line 407
            return
        end local 4 // io.ebeaninternal.server.query.STreeProperty p
        end local 3 // java.lang.String propName
        end local 2 // io.ebeaninternal.server.query.STreeType desc
        end local 1 // io.ebeaninternal.server.query.SqlTreeProperties selectProps
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0   11     1  selectProps  Lio/ebeaninternal/server/query/SqlTreeProperties;
            0   11     2         desc  Lio/ebeaninternal/server/query/STreeType;
            0   11     3     propName  Ljava/lang/String;
            1   11     4            p  Lio/ebeaninternal/server/query/STreeProperty;
            6    9     5          pos  I
            8    9     6         name  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      selectProps  
      desc         
      propName     

  private void addProperty(io.ebeaninternal.server.query.SqlTreeProperties, io.ebeaninternal.server.query.STreeType, io.ebeaninternal.server.querydefn.OrmQueryProperties, java.lang.String);
    descriptor: (Lio/ebeaninternal/server/query/SqlTreeProperties;Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/querydefn/OrmQueryProperties;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // io.ebeaninternal.server.query.SqlTreeProperties selectProps
        start local 2 // io.ebeaninternal.server.query.STreeType desc
        start local 3 // io.ebeaninternal.server.querydefn.OrmQueryProperties queryProps
        start local 4 // java.lang.String propName
         0: .line 412
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.subQuery:Z
            ifeq 3
         1: .line 413
            aload 0 /* this */
            aload 1 /* selectProps */
            aload 2 /* desc */
            aload 4 /* propName */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.addPropertyToSubQuery:(Lio/ebeaninternal/server/query/SqlTreeProperties;Lio/ebeaninternal/server/query/STreeType;Ljava/lang/String;)V
         2: .line 414
            return
         3: .line 417
      StackMap locals:
      StackMap stack:
            aload 4 /* propName */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            istore 5 /* basePos */
        start local 5 // int basePos
         4: .line 418
            iload 5 /* basePos */
            iconst_m1
            if_icmple 20
         5: .line 422
            aload 4 /* propName */
            iconst_0
            iload 5 /* basePos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* baseName */
        start local 6 // java.lang.String baseName
         6: .line 425
            aload 1 /* selectProps */
            aload 6 /* baseName */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.containsProperty:(Ljava/lang/String;)Z
            ifne 32
         7: .line 426
            aload 2 /* desc */
            aload 6 /* baseName */
            aconst_null
            invokeinterface io.ebeaninternal.server.query.STreeType.findPropertyWithDynamic:(Ljava/lang/String;Ljava/lang/String;)Lio/ebeaninternal/server/query/STreeProperty;
            astore 7 /* p */
        start local 7 // io.ebeaninternal.server.query.STreeProperty p
         8: .line 427
            aload 7 /* p */
            ifnonnull 15
         9: .line 429
            aload 2 /* desc */
            aload 4 /* propName */
            aconst_null
            invokeinterface io.ebeaninternal.server.query.STreeType.findPropertyWithDynamic:(Ljava/lang/String;Ljava/lang/String;)Lio/ebeaninternal/server/query/STreeProperty;
            astore 7 /* p */
        10: .line 430
            aload 7 /* p */
            ifnull 13
        11: .line 431
            aload 1 /* selectProps */
            aload 7 /* p */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.add:(Lio/ebeaninternal/server/query/STreeProperty;)V
        12: .line 432
            goto 32
        13: .line 433
      StackMap locals: int java.lang.String io.ebeaninternal.server.query.STreeProperty
      StackMap stack:
            getstatic io.ebeaninternal.server.query.SqlTreeBuilder.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "property ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* propName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] not found on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " for query - excluding it."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
        14: .line 435
            goto 32
      StackMap locals:
      StackMap stack:
        15: aload 7 /* p */
            invokeinterface io.ebeaninternal.server.query.STreeProperty.isEmbedded:()Z
            ifne 16
            aload 7 /* p */
            instanceof io.ebeaninternal.server.query.STreePropertyAssoc
            ifeq 18
            aload 3 /* queryProps */
            aload 7 /* p */
            invokeinterface io.ebeaninternal.server.query.STreeProperty.getName:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryProperties.isIncludedBeanJoin:(Ljava/lang/String;)Z
            ifne 18
        16: .line 437
      StackMap locals:
      StackMap stack:
            aload 1 /* selectProps */
            aload 7 /* p */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.add:(Lio/ebeaninternal/server/query/STreeProperty;)V
        17: .line 438
            goto 32
        18: .line 439
      StackMap locals:
      StackMap stack:
            getstatic io.ebeaninternal.server.query.SqlTreeBuilder.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "property ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* p */
            invokeinterface io.ebeaninternal.server.query.STreeProperty.getFullBeanName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] expected to be an embedded or *ToOne bean for query - excluding it."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
        end local 7 // io.ebeaninternal.server.query.STreeProperty p
        end local 6 // java.lang.String baseName
        19: .line 443
            goto 32
        20: .line 446
      StackMap locals:
      StackMap stack:
            aload 2 /* desc */
            aload 4 /* propName */
            aload 3 /* queryProps */
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryProperties.getPath:()Ljava/lang/String;
            invokeinterface io.ebeaninternal.server.query.STreeType.findPropertyWithDynamic:(Ljava/lang/String;Ljava/lang/String;)Lio/ebeaninternal/server/query/STreeProperty;
            astore 6 /* p */
        start local 6 // io.ebeaninternal.server.query.STreeProperty p
        21: .line 447
            aload 6 /* p */
            ifnonnull 26
        22: .line 448
            getstatic io.ebeaninternal.server.query.SqlTreeBuilder.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "property ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* propName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] not found on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " for query - excluding it."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
        23: .line 449
            aload 2 /* desc */
            ldc "id"
            invokeinterface io.ebeaninternal.server.query.STreeType.findProperty:(Ljava/lang/String;)Lio/ebeaninternal/server/query/STreeProperty;
            astore 6 /* p */
        24: .line 450
            aload 1 /* selectProps */
            aload 6 /* p */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.add:(Lio/ebeaninternal/server/query/STreeProperty;)V
        25: .line 452
            goto 32
      StackMap locals: io.ebeaninternal.server.query.STreeProperty
      StackMap stack:
        26: aload 6 /* p */
            invokeinterface io.ebeaninternal.server.query.STreeProperty.isId:()Z
            ifeq 27
            aload 0 /* this */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.excludeIdProperty:()Z
            ifne 32
        27: .line 456
      StackMap locals:
      StackMap stack:
            aload 6 /* p */
            instanceof io.ebeaninternal.server.query.STreePropertyAssoc
            ifeq 31
        28: .line 462
            aload 3 /* queryProps */
            aload 6 /* p */
            invokeinterface io.ebeaninternal.server.query.STreeProperty.getName:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryProperties.isIncludedBeanJoin:(Ljava/lang/String;)Z
            ifne 32
        29: .line 465
            aload 1 /* selectProps */
            aload 6 /* p */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.add:(Lio/ebeaninternal/server/query/STreeProperty;)V
        30: .line 467
            goto 32
        31: .line 468
      StackMap locals:
      StackMap stack:
            aload 1 /* selectProps */
            aload 6 /* p */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.add:(Lio/ebeaninternal/server/query/STreeProperty;)V
        end local 6 // io.ebeaninternal.server.query.STreeProperty p
        32: .line 471
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int basePos
        end local 4 // java.lang.String propName
        end local 3 // io.ebeaninternal.server.querydefn.OrmQueryProperties queryProps
        end local 2 // io.ebeaninternal.server.query.STreeType desc
        end local 1 // io.ebeaninternal.server.query.SqlTreeProperties selectProps
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   33     0         this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0   33     1  selectProps  Lio/ebeaninternal/server/query/SqlTreeProperties;
            0   33     2         desc  Lio/ebeaninternal/server/query/STreeType;
            0   33     3   queryProps  Lio/ebeaninternal/server/querydefn/OrmQueryProperties;
            0   33     4     propName  Ljava/lang/String;
            4   33     5      basePos  I
            6   19     6     baseName  Ljava/lang/String;
            8   19     7            p  Lio/ebeaninternal/server/query/STreeProperty;
           21   32     6            p  Lio/ebeaninternal/server/query/STreeProperty;
    MethodParameters:
             Name  Flags
      selectProps  
      desc         
      queryProps   
      propName     

  private io.ebeaninternal.server.query.SqlTreeProperties getBaseSelectPartial(io.ebeaninternal.server.query.STreeType, io.ebeaninternal.server.querydefn.OrmQueryProperties);
    descriptor: (Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/querydefn/OrmQueryProperties;)Lio/ebeaninternal/server/query/SqlTreeProperties;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // io.ebeaninternal.server.query.STreeType desc
        start local 2 // io.ebeaninternal.server.querydefn.OrmQueryProperties queryProps
         0: .line 475
            new io.ebeaninternal.server.query.SqlTreeProperties
            dup
            invokespecial io.ebeaninternal.server.query.SqlTreeProperties.<init>:()V
            astore 3 /* selectProps */
        start local 3 // io.ebeaninternal.server.query.SqlTreeProperties selectProps
         1: .line 483
            aload 2 /* queryProps */
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryProperties.getSelectInclude:()Ljava/util/Set;
            astore 4 /* selectInclude */
        start local 4 // java.util.Set selectInclude
         2: .line 484
            aload 4 /* selectInclude */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.querydefn.OrmQueryProperties io.ebeaninternal.server.query.SqlTreeProperties java.util.Set top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* propName */
        start local 5 // java.lang.String propName
         4: .line 485
            aload 5 /* propName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 6
         5: .line 486
            aload 0 /* this */
            aload 3 /* selectProps */
            aload 1 /* desc */
            aload 2 /* queryProps */
            aload 5 /* propName */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.addProperty:(Lio/ebeaninternal/server/query/SqlTreeProperties;Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/querydefn/OrmQueryProperties;Ljava/lang/String;)V
        end local 5 // java.lang.String propName
         6: .line 484
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 490
            aload 3 /* selectProps */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.isAggregationManyToOne:()Z
            ifne 15
         8: .line 491
            aload 2 /* queryProps */
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryProperties.getSelectQueryJoin:()Ljava/util/Set;
            astore 5 /* selectQueryJoin */
        start local 5 // java.util.Set selectQueryJoin
         9: .line 492
            aload 5 /* selectQueryJoin */
            ifnull 15
        10: .line 493
            aload 5 /* selectQueryJoin */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.querydefn.OrmQueryProperties io.ebeaninternal.server.query.SqlTreeProperties java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        11: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* joinProperty */
        start local 6 // java.lang.String joinProperty
        12: .line 494
            aload 4 /* selectInclude */
            aload 6 /* joinProperty */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 14
        13: .line 495
            aload 0 /* this */
            aload 3 /* selectProps */
            aload 1 /* desc */
            aload 2 /* queryProps */
            aload 6 /* joinProperty */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.addProperty:(Lio/ebeaninternal/server/query/SqlTreeProperties;Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/querydefn/OrmQueryProperties;Ljava/lang/String;)V
        end local 6 // java.lang.String joinProperty
        14: .line 493
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 5 // java.util.Set selectQueryJoin
        15: .line 501
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.querydefn.OrmQueryProperties io.ebeaninternal.server.query.SqlTreeProperties java.util.Set
      StackMap stack:
            aload 3 /* selectProps */
            areturn
        end local 4 // java.util.Set selectInclude
        end local 3 // io.ebeaninternal.server.query.SqlTreeProperties selectProps
        end local 2 // io.ebeaninternal.server.querydefn.OrmQueryProperties queryProps
        end local 1 // io.ebeaninternal.server.query.STreeType desc
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0   16     1             desc  Lio/ebeaninternal/server/query/STreeType;
            0   16     2       queryProps  Lio/ebeaninternal/server/querydefn/OrmQueryProperties;
            1   16     3      selectProps  Lio/ebeaninternal/server/query/SqlTreeProperties;
            2   16     4    selectInclude  Ljava/util/Set<Ljava/lang/String;>;
            4    6     5         propName  Ljava/lang/String;
            9   15     5  selectQueryJoin  Ljava/util/Set<Ljava/lang/String;>;
           12   14     6     joinProperty  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      desc        
      queryProps  

  private io.ebeaninternal.server.query.SqlTreeProperties getBaseSelect(io.ebeaninternal.server.query.STreeType, io.ebeaninternal.server.querydefn.OrmQueryProperties);
    descriptor: (Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/querydefn/OrmQueryProperties;)Lio/ebeaninternal/server/query/SqlTreeProperties;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // io.ebeaninternal.server.query.STreeType desc
        start local 2 // io.ebeaninternal.server.querydefn.OrmQueryProperties queryProps
         0: .line 506
            aload 2 /* queryProps */
            ifnull 1
            aload 2 /* queryProps */
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryProperties.allProperties:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* partial */
        start local 3 // boolean partial
         3: .line 507
            iload 3 /* partial */
            ifeq 5
         4: .line 508
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* queryProps */
            invokevirtual io.ebeaninternal.server.query.SqlTreeBuilder.getBaseSelectPartial:(Lio/ebeaninternal/server/query/STreeType;Lio/ebeaninternal/server/querydefn/OrmQueryProperties;)Lio/ebeaninternal/server/query/SqlTreeProperties;
            areturn
         5: .line 511
      StackMap locals: int
      StackMap stack:
            new io.ebeaninternal.server.query.SqlTreeProperties
            dup
            invokespecial io.ebeaninternal.server.query.SqlTreeProperties.<init>:()V
            astore 4 /* selectProps */
        start local 4 // io.ebeaninternal.server.query.SqlTreeProperties selectProps
         6: .line 512
            aload 4 /* selectProps */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.setAllProperties:()V
         7: .line 515
            aload 4 /* selectProps */
            aload 1 /* desc */
            invokeinterface io.ebeaninternal.server.query.STreeType.propsBaseScalar:()[Lio/ebeaninternal/server/query/STreeProperty;
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.add:([Lio/ebeaninternal/server/query/STreeProperty;)V
         8: .line 516
            aload 4 /* selectProps */
            aload 1 /* desc */
            invokeinterface io.ebeaninternal.server.query.STreeType.propsEmbedded:()[Lio/ebeaninternal/server/query/STreePropertyAssoc;
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.add:([Lio/ebeaninternal/server/query/STreeProperty;)V
         9: .line 518
            aload 1 /* desc */
            invokeinterface io.ebeaninternal.server.query.STreeType.propsOne:()[Lio/ebeaninternal/server/query/STreePropertyAssocOne;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 17
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.querydefn.OrmQueryProperties int io.ebeaninternal.server.query.SqlTreeProperties top int int io.ebeaninternal.server.query.STreePropertyAssocOne[]
      StackMap stack:
        10: aload 8
            iload 6
            aaload
            astore 5 /* propertyAssocOne */
        start local 5 // io.ebeaninternal.server.query.STreePropertyAssocOne propertyAssocOne
        11: .line 520
            aload 2 /* queryProps */
            ifnull 15
        12: .line 521
            aload 2 /* queryProps */
            aload 5 /* propertyAssocOne */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocOne.getName:()Ljava/lang/String;
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryProperties.isIncludedBeanJoin:(Ljava/lang/String;)Z
            ifeq 15
        13: .line 522
            aload 5 /* propertyAssocOne */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocOne.hasForeignKey:()Z
            ifeq 15
        14: .line 523
            aload 5 /* propertyAssocOne */
            invokeinterface io.ebeaninternal.server.query.STreePropertyAssocOne.isFormula:()Z
            ifeq 16
        15: .line 527
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.querydefn.OrmQueryProperties int io.ebeaninternal.server.query.SqlTreeProperties io.ebeaninternal.server.query.STreePropertyAssocOne int int io.ebeaninternal.server.query.STreePropertyAssocOne[]
      StackMap stack:
            aload 4 /* selectProps */
            aload 5 /* propertyAssocOne */
            invokevirtual io.ebeaninternal.server.query.SqlTreeProperties.add:(Lio/ebeaninternal/server/query/STreeProperty;)V
        end local 5 // io.ebeaninternal.server.query.STreePropertyAssocOne propertyAssocOne
        16: .line 518
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.querydefn.OrmQueryProperties int io.ebeaninternal.server.query.SqlTreeProperties top int int io.ebeaninternal.server.query.STreePropertyAssocOne[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        17: iload 6
            iload 7
            if_icmplt 10
        18: .line 531
            aload 1 /* desc */
            invokeinterface io.ebeaninternal.server.query.STreeType.getInheritInfo:()Lio/ebeaninternal/server/deploy/InheritInfo;
            astore 5 /* inheritInfo */
        start local 5 // io.ebeaninternal.server.deploy.InheritInfo inheritInfo
        19: .line 532
            aload 5 /* inheritInfo */
            ifnull 21
        20: .line 534
            aload 5 /* inheritInfo */
            aload 4 /* selectProps */
            invokevirtual io.ebeaninternal.server.deploy.InheritInfo.addChildrenProperties:(Lio/ebeaninternal/server/query/SqlTreeProperties;)V
        21: .line 537
      StackMap locals: io.ebeaninternal.server.query.SqlTreeBuilder io.ebeaninternal.server.query.STreeType io.ebeaninternal.server.querydefn.OrmQueryProperties int io.ebeaninternal.server.query.SqlTreeProperties io.ebeaninternal.server.deploy.InheritInfo
      StackMap stack:
            aload 4 /* selectProps */
            areturn
        end local 5 // io.ebeaninternal.server.deploy.InheritInfo inheritInfo
        end local 4 // io.ebeaninternal.server.query.SqlTreeProperties selectProps
        end local 3 // boolean partial
        end local 2 // io.ebeaninternal.server.querydefn.OrmQueryProperties queryProps
        end local 1 // io.ebeaninternal.server.query.STreeType desc
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0              this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0   22     1              desc  Lio/ebeaninternal/server/query/STreeType;
            0   22     2        queryProps  Lio/ebeaninternal/server/querydefn/OrmQueryProperties;
            3   22     3           partial  Z
            6   22     4       selectProps  Lio/ebeaninternal/server/query/SqlTreeProperties;
           11   16     5  propertyAssocOne  Lio/ebeaninternal/server/query/STreePropertyAssocOne;
           19   22     5       inheritInfo  Lio/ebeaninternal/server/deploy/InheritInfo;
    MethodParameters:
            Name  Flags
      desc        
      queryProps  

  private boolean isIncludeMany(java.lang.String, io.ebeaninternal.server.query.STreePropertyAssocMany);
    descriptor: (Ljava/lang/String;Lio/ebeaninternal/server/query/STreePropertyAssocMany;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // java.lang.String propName
        start local 2 // io.ebeaninternal.server.query.STreePropertyAssocMany manyProp
         0: .line 545
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.queryDetail:Lio/ebeaninternal/server/querydefn/OrmQueryDetail;
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryDetail.isJoinsEmpty:()Z
            ifeq 2
         1: .line 546
            iconst_0
            ireturn
         2: .line 549
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.queryDetail:Lio/ebeaninternal/server/querydefn/OrmQueryDetail;
            aload 1 /* propName */
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryDetail.includesPath:(Ljava/lang/String;)Z
            ifeq 9
         3: .line 551
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.manyProperty:Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            ifnull 7
         4: .line 553
            getstatic io.ebeaninternal.server.query.SqlTreeBuilder.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 6
         5: .line 554
            getstatic io.ebeaninternal.server.query.SqlTreeBuilder.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Not joining ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* propName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] as already joined to a Many["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.manyProperty:Lio/ebeaninternal/server/query/STreePropertyAssocMany;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
         6: .line 556
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* manyProp */
            putfield io.ebeaninternal.server.query.SqlTreeBuilder.manyProperty:Lio/ebeaninternal/server/query/STreePropertyAssocMany;
         8: .line 560
            iconst_1
            ireturn
         9: .line 562
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // io.ebeaninternal.server.query.STreePropertyAssocMany manyProp
        end local 1 // java.lang.String propName
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0   10     1  propName  Ljava/lang/String;
            0   10     2  manyProp  Lio/ebeaninternal/server/query/STreePropertyAssocMany;
    MethodParameters:
          Name  Flags
      propName  
      manyProp  

  private boolean isIncludeBean(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
        start local 1 // java.lang.String prefix
         0: .line 575
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.queryDetail:Lio/ebeaninternal/server/querydefn/OrmQueryDetail;
            aload 1 /* prefix */
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryDetail.includesPath:(Ljava/lang/String;)Z
            ifeq 4
         1: .line 577
            aload 1 /* prefix */
            invokestatic io.ebean.util.SplitName.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* splitNames */
        start local 2 // java.lang.String[] splitNames
         2: .line 578
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.queryDetail:Lio/ebeaninternal/server/querydefn/OrmQueryDetail;
            aload 2 /* splitNames */
            iconst_0
            aaload
            aload 2 /* splitNames */
            iconst_1
            aaload
            invokevirtual io.ebeaninternal.server.querydefn.OrmQueryDetail.includeBeanJoin:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 579
            iconst_1
            ireturn
        end local 2 // java.lang.String[] splitNames
         4: .line 582
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String prefix
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
            0    5     1      prefix  Ljava/lang/String;
            2    4     2  splitNames  [Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  private boolean excludeIdProperty();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
         0: .line 733
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            ifnull 2
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.isSingleAttribute:()Z
            ifne 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.isManualId:()Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/ebeaninternal/server/query/SqlTreeBuilder;

  private boolean isNotSingleAttribute();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
         0: .line 740
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            ifnull 1
            aload 0 /* this */
            getfield io.ebeaninternal.server.query.SqlTreeBuilder.query:Lio/ebeaninternal/api/SpiQuery;
            invokeinterface io.ebeaninternal.api.SpiQuery.isSingleAttribute:()Z
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.ebeaninternal.server.query.SqlTreeBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/query/SqlTreeBuilder;
}
SourceFile: "SqlTreeBuilder.java"
NestMembers:
  io.ebeaninternal.server.query.SqlTreeBuilder$IncludesDistiller
InnerClasses:
  public final TemporalMode = io.ebeaninternal.api.SpiQuery$TemporalMode of io.ebeaninternal.api.SpiQuery
  public final Type = io.ebeaninternal.api.SpiQuery$Type of io.ebeaninternal.api.SpiQuery
  private IncludesDistiller = io.ebeaninternal.server.query.SqlTreeBuilder$IncludesDistiller of io.ebeaninternal.server.query.SqlTreeBuilder
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles