final class org.h2.table.JoinBatch$ViewIndexLookupBatch extends org.h2.table.JoinBatch$ViewIndexLookupBatchBase<org.h2.table.JoinBatch$QueryRunner>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.h2.table.JoinBatch$ViewIndexLookupBatch
  super_class: org.h2.table.JoinBatch$ViewIndexLookupBatchBase
{
  final org.h2.table.JoinBatch this$0;
    descriptor: Lorg/h2/table/JoinBatch;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.h2.table.JoinBatch, org.h2.index.ViewIndex);
    descriptor: (Lorg/h2/table/JoinBatch;Lorg/h2/index/ViewIndex;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatch this
        start local 2 // org.h2.index.ViewIndex viewIndex
         0: .line 902
            aload 0 /* this */
            aload 1
            putfield org.h2.table.JoinBatch$ViewIndexLookupBatch.this$0:Lorg/h2/table/JoinBatch;
         1: .line 903
            aload 0 /* this */
            aload 2 /* viewIndex */
            invokespecial org.h2.table.JoinBatch$ViewIndexLookupBatchBase.<init>:(Lorg/h2/index/ViewIndex;)V
         2: .line 904
            return
        end local 2 // org.h2.index.ViewIndex viewIndex
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatch this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatch;
            0    3     2  viewIndex  Lorg/h2/index/ViewIndex;
    MethodParameters:
           Name  Flags
      this$0     final
      viewIndex  

  protected org.h2.table.JoinBatch$QueryRunner newQueryRunner();
    descriptor: ()Lorg/h2/table/JoinBatch$QueryRunner;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatch this
         0: .line 908
            new org.h2.table.JoinBatch$QueryRunner
            dup
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatch.this$0:Lorg/h2/table/JoinBatch;
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatch.viewIndex:Lorg/h2/index/ViewIndex;
            invokespecial org.h2.table.JoinBatch$QueryRunner.<init>:(Lorg/h2/table/JoinBatch;Lorg/h2/index/ViewIndex;)V
            areturn
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatch;

  protected boolean collectSearchRows(org.h2.table.JoinBatch$QueryRunner);
    descriptor: (Lorg/h2/table/JoinBatch$QueryRunner;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatch this
        start local 1 // org.h2.table.JoinBatch$QueryRunner r
         0: .line 913
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatch.this$0:Lorg/h2/table/JoinBatch;
            getfield org.h2.table.JoinBatch.top:Lorg/h2/table/JoinBatch$JoinFilter;
            invokevirtual org.h2.table.JoinBatch$JoinFilter.collectSearchRows:()Z
            ireturn
        end local 1 // org.h2.table.JoinBatch$QueryRunner r
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatch;
            0    1     1     r  Lorg/h2/table/JoinBatch$QueryRunner;
    MethodParameters:
      Name  Flags
      r     

  public boolean isBatchFull();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatch this
         0: .line 918
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatch.this$0:Lorg/h2/table/JoinBatch;
            getfield org.h2.table.JoinBatch.top:Lorg/h2/table/JoinBatch$JoinFilter;
            invokevirtual org.h2.table.JoinBatch$JoinFilter.isBatchFull:()Z
            ireturn
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatch;

  protected void startQueryRunners(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatch this
        start local 1 // int resultSize
         0: .line 925
            aload 0 /* this */
            getfield org.h2.table.JoinBatch$ViewIndexLookupBatch.this$0:Lorg/h2/table/JoinBatch;
            getfield org.h2.table.JoinBatch.top:Lorg/h2/table/JoinBatch$JoinFilter;
            invokevirtual org.h2.table.JoinBatch$JoinFilter.find:()Ljava/util/List;
            astore 2 /* topFutureCursors */
        start local 2 // java.util.List topFutureCursors
         1: .line 926
            aload 2 /* topFutureCursors */
            invokeinterface java.util.List.size:()I
            iload 1 /* resultSize */
            if_icmpeq 7
         2: .line 928
            new java.lang.StringBuilder
            dup
            ldc "Unexpected result size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 929
            aload 2 /* topFutureCursors */
            invokeinterface java.util.List.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", expected :"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 930
            iload 1 /* resultSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 928
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
         6: .line 927
            athrow
         7: .line 932
      StackMap locals: java.util.List
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 933
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.h2.table.JoinBatch$ViewIndexLookupBatch.queryRunner:(I)Lorg/h2/table/JoinBatch$QueryRunnerBase;
            checkcast org.h2.table.JoinBatch$QueryRunner
            astore 4 /* r */
        start local 4 // org.h2.table.JoinBatch$QueryRunner r
        10: .line 934
            aload 4 /* r */
            aload 2 /* topFutureCursors */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.concurrent.Future
            putfield org.h2.table.JoinBatch$QueryRunner.topFutureCursor:Ljava/util/concurrent/Future;
        end local 4 // org.h2.table.JoinBatch$QueryRunner r
        11: .line 932
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 1 /* resultSize */
            if_icmplt 9
        end local 3 // int i
        13: .line 936
            return
        end local 2 // java.util.List topFutureCursors
        end local 1 // int resultSize
        end local 0 // org.h2.table.JoinBatch$ViewIndexLookupBatch this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Lorg/h2/table/JoinBatch$ViewIndexLookupBatch;
            0   14     1        resultSize  I
            1   14     2  topFutureCursors  Ljava/util/List<Ljava/util/concurrent/Future<Lorg/h2/index/Cursor;>;>;
            8   13     3                 i  I
           10   11     4                 r  Lorg/h2/table/JoinBatch$QueryRunner;
    MethodParameters:
            Name  Flags
      resultSize  

  protected org.h2.table.JoinBatch$QueryRunnerBase newQueryRunner();
    descriptor: ()Lorg/h2/table/JoinBatch$QueryRunnerBase;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.h2.table.JoinBatch$ViewIndexLookupBatch.newQueryRunner:()Lorg/h2/table/JoinBatch$QueryRunner;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected boolean collectSearchRows(org.h2.table.JoinBatch$QueryRunnerBase);
    descriptor: (Lorg/h2/table/JoinBatch$QueryRunnerBase;)Z
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.h2.table.JoinBatch$QueryRunner
            invokevirtual org.h2.table.JoinBatch$ViewIndexLookupBatch.collectSearchRows:(Lorg/h2/table/JoinBatch$QueryRunner;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/h2/table/JoinBatch$ViewIndexLookupBatchBase<Lorg/h2/table/JoinBatch$QueryRunner;>;
SourceFile: "JoinBatch.java"
NestHost: org.h2.table.JoinBatch
InnerClasses:
  private final JoinFilter = org.h2.table.JoinBatch$JoinFilter of org.h2.table.JoinBatch
  private final QueryRunner = org.h2.table.JoinBatch$QueryRunner of org.h2.table.JoinBatch
  private abstract QueryRunnerBase = org.h2.table.JoinBatch$QueryRunnerBase of org.h2.table.JoinBatch
  private final ViewIndexLookupBatch = org.h2.table.JoinBatch$ViewIndexLookupBatch of org.h2.table.JoinBatch
  private abstract ViewIndexLookupBatchBase = org.h2.table.JoinBatch$ViewIndexLookupBatchBase of org.h2.table.JoinBatch