abstract class org.apache.cassandra.service.pager.AbstractQueryPager implements org.apache.cassandra.service.pager.QueryPager
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.cassandra.service.pager.AbstractQueryPager
  super_class: java.lang.Object
{
  protected final org.apache.cassandra.db.ReadCommand command;
    descriptor: Lorg/apache/cassandra/db/ReadCommand;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.apache.cassandra.db.filter.DataLimits limits;
    descriptor: Lorg/apache/cassandra/db/filter/DataLimits;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.apache.cassandra.transport.ProtocolVersion protocolVersion;
    descriptor: Lorg/apache/cassandra/transport/ProtocolVersion;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

  private int remaining;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.apache.cassandra.db.DecoratedKey lastKey;
    descriptor: Lorg/apache/cassandra/db/DecoratedKey;
    flags: (0x0002) ACC_PRIVATE

  private int remainingInPartition;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  protected void <init>(org.apache.cassandra.db.ReadCommand, org.apache.cassandra.transport.ProtocolVersion);
    descriptor: (Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/transport/ProtocolVersion;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
        start local 1 // org.apache.cassandra.db.ReadCommand command
        start local 2 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 48
            aload 0 /* this */
            aload 1 /* command */
            putfield org.apache.cassandra.service.pager.AbstractQueryPager.command:Lorg/apache/cassandra/db/ReadCommand;
         2: .line 49
            aload 0 /* this */
            aload 2 /* protocolVersion */
            putfield org.apache.cassandra.service.pager.AbstractQueryPager.protocolVersion:Lorg/apache/cassandra/transport/ProtocolVersion;
         3: .line 50
            aload 0 /* this */
            aload 1 /* command */
            invokevirtual org.apache.cassandra.db.ReadCommand.limits:()Lorg/apache/cassandra/db/filter/DataLimits;
            putfield org.apache.cassandra.service.pager.AbstractQueryPager.limits:Lorg/apache/cassandra/db/filter/DataLimits;
         4: .line 51
            aload 0 /* this */
            aload 1 /* command */
            invokevirtual org.apache.cassandra.db.ReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.enforceStrictLiveness:()Z
            putfield org.apache.cassandra.service.pager.AbstractQueryPager.enforceStrictLiveness:Z
         5: .line 53
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.limits:Lorg/apache/cassandra/db/filter/DataLimits;
            invokevirtual org.apache.cassandra.db.filter.DataLimits.count:()I
            putfield org.apache.cassandra.service.pager.AbstractQueryPager.remaining:I
         6: .line 54
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.limits:Lorg/apache/cassandra/db/filter/DataLimits;
            invokevirtual org.apache.cassandra.db.filter.DataLimits.perPartitionCount:()I
            putfield org.apache.cassandra.service.pager.AbstractQueryPager.remainingInPartition:I
         7: .line 55
            return
        end local 2 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 1 // org.apache.cassandra.db.ReadCommand command
        end local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/apache/cassandra/service/pager/AbstractQueryPager;
            0    8     1          command  Lorg/apache/cassandra/db/ReadCommand;
            0    8     2  protocolVersion  Lorg/apache/cassandra/transport/ProtocolVersion;
    MethodParameters:
                 Name  Flags
      command          
      protocolVersion  

  public org.apache.cassandra.db.ReadExecutionController executionController();
    descriptor: ()Lorg/apache/cassandra/db/ReadExecutionController;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
         0: .line 59
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.command:Lorg/apache/cassandra/db/ReadCommand;
            invokevirtual org.apache.cassandra.db.ReadCommand.executionController:()Lorg/apache/cassandra/db/ReadExecutionController;
            areturn
        end local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/pager/AbstractQueryPager;

  public org.apache.cassandra.db.partitions.PartitionIterator fetchPage(int, org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.service.ClientState, long);
    descriptor: (ILorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
        start local 1 // int pageSize
        start local 2 // org.apache.cassandra.db.ConsistencyLevel consistency
        start local 3 // org.apache.cassandra.service.ClientState clientState
        start local 4 // long queryStartNanoTime
         0: .line 64
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.pager.AbstractQueryPager.isExhausted:()Z
            ifeq 2
         1: .line 65
            invokestatic org.apache.cassandra.db.EmptyIterators.partition:()Lorg/apache/cassandra/db/partitions/PartitionIterator;
            areturn
         2: .line 67
      StackMap locals:
      StackMap stack:
            iload 1 /* pageSize */
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.remaining:I
            invokestatic java.lang.Math.min:(II)I
            istore 1 /* pageSize */
         3: .line 68
            new org.apache.cassandra.service.pager.AbstractQueryPager$RowPager
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.limits:Lorg/apache/cassandra/db/filter/DataLimits;
            iload 1 /* pageSize */
            invokevirtual org.apache.cassandra.db.filter.DataLimits.forPaging:(I)Lorg/apache/cassandra/db/filter/DataLimits;
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.command:Lorg/apache/cassandra/db/ReadCommand;
            invokevirtual org.apache.cassandra.db.ReadCommand.nowInSec:()I
            invokespecial org.apache.cassandra.service.pager.AbstractQueryPager$RowPager.<init>:(Lorg/apache/cassandra/service/pager/AbstractQueryPager;Lorg/apache/cassandra/db/filter/DataLimits;I)V
            astore 6 /* pager */
        start local 6 // org.apache.cassandra.service.pager.AbstractQueryPager$Pager pager
         4: .line 69
            aload 0 /* this */
            iload 1 /* pageSize */
            invokevirtual org.apache.cassandra.service.pager.AbstractQueryPager.nextPageReadCommand:(I)Lorg/apache/cassandra/db/ReadCommand;
            aload 2 /* consistency */
            aload 3 /* clientState */
            lload 4 /* queryStartNanoTime */
            invokevirtual org.apache.cassandra.db.ReadCommand.execute:(Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
            aload 6 /* pager */
            invokestatic org.apache.cassandra.db.transform.Transformation.apply:(Lorg/apache/cassandra/db/partitions/PartitionIterator;Lorg/apache/cassandra/db/transform/Transformation;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
            areturn
        end local 6 // org.apache.cassandra.service.pager.AbstractQueryPager$Pager pager
        end local 4 // long queryStartNanoTime
        end local 3 // org.apache.cassandra.service.ClientState clientState
        end local 2 // org.apache.cassandra.db.ConsistencyLevel consistency
        end local 1 // int pageSize
        end local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/apache/cassandra/service/pager/AbstractQueryPager;
            0    5     1            pageSize  I
            0    5     2         consistency  Lorg/apache/cassandra/db/ConsistencyLevel;
            0    5     3         clientState  Lorg/apache/cassandra/service/ClientState;
            0    5     4  queryStartNanoTime  J
            4    5     6               pager  Lorg/apache/cassandra/service/pager/AbstractQueryPager$Pager;
    MethodParameters:
                    Name  Flags
      pageSize            
      consistency         
      clientState         
      queryStartNanoTime  

  public org.apache.cassandra.db.partitions.PartitionIterator fetchPageInternal(int, org.apache.cassandra.db.ReadExecutionController);
    descriptor: (ILorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
        start local 1 // int pageSize
        start local 2 // org.apache.cassandra.db.ReadExecutionController executionController
         0: .line 74
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.pager.AbstractQueryPager.isExhausted:()Z
            ifeq 2
         1: .line 75
            invokestatic org.apache.cassandra.db.EmptyIterators.partition:()Lorg/apache/cassandra/db/partitions/PartitionIterator;
            areturn
         2: .line 77
      StackMap locals:
      StackMap stack:
            iload 1 /* pageSize */
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.remaining:I
            invokestatic java.lang.Math.min:(II)I
            istore 1 /* pageSize */
         3: .line 78
            new org.apache.cassandra.service.pager.AbstractQueryPager$RowPager
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.limits:Lorg/apache/cassandra/db/filter/DataLimits;
            iload 1 /* pageSize */
            invokevirtual org.apache.cassandra.db.filter.DataLimits.forPaging:(I)Lorg/apache/cassandra/db/filter/DataLimits;
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.command:Lorg/apache/cassandra/db/ReadCommand;
            invokevirtual org.apache.cassandra.db.ReadCommand.nowInSec:()I
            invokespecial org.apache.cassandra.service.pager.AbstractQueryPager$RowPager.<init>:(Lorg/apache/cassandra/service/pager/AbstractQueryPager;Lorg/apache/cassandra/db/filter/DataLimits;I)V
            astore 3 /* pager */
        start local 3 // org.apache.cassandra.service.pager.AbstractQueryPager$RowPager pager
         4: .line 79
            aload 0 /* this */
            iload 1 /* pageSize */
            invokevirtual org.apache.cassandra.service.pager.AbstractQueryPager.nextPageReadCommand:(I)Lorg/apache/cassandra/db/ReadCommand;
            aload 2 /* executionController */
            invokevirtual org.apache.cassandra.db.ReadCommand.executeInternal:(Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
            aload 3 /* pager */
            invokestatic org.apache.cassandra.db.transform.Transformation.apply:(Lorg/apache/cassandra/db/partitions/PartitionIterator;Lorg/apache/cassandra/db/transform/Transformation;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
            areturn
        end local 3 // org.apache.cassandra.service.pager.AbstractQueryPager$RowPager pager
        end local 2 // org.apache.cassandra.db.ReadExecutionController executionController
        end local 1 // int pageSize
        end local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lorg/apache/cassandra/service/pager/AbstractQueryPager;
            0    5     1             pageSize  I
            0    5     2  executionController  Lorg/apache/cassandra/db/ReadExecutionController;
            4    5     3                pager  Lorg/apache/cassandra/service/pager/AbstractQueryPager$RowPager;
    MethodParameters:
                     Name  Flags
      pageSize             
      executionController  

  public org.apache.cassandra.db.partitions.UnfilteredPartitionIterator fetchPageUnfiltered(org.apache.cassandra.config.CFMetaData, int, org.apache.cassandra.db.ReadExecutionController);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;ILorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
        start local 1 // org.apache.cassandra.config.CFMetaData cfm
        start local 2 // int pageSize
        start local 3 // org.apache.cassandra.db.ReadExecutionController executionController
         0: .line 84
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.pager.AbstractQueryPager.isExhausted:()Z
            ifeq 2
         1: .line 85
            aload 1 /* cfm */
            iconst_0
            invokestatic org.apache.cassandra.db.EmptyIterators.unfilteredPartition:(Lorg/apache/cassandra/config/CFMetaData;Z)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            areturn
         2: .line 87
      StackMap locals:
      StackMap stack:
            iload 2 /* pageSize */
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.remaining:I
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* pageSize */
         3: .line 88
            new org.apache.cassandra.service.pager.AbstractQueryPager$UnfilteredPager
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.limits:Lorg/apache/cassandra/db/filter/DataLimits;
            iload 2 /* pageSize */
            invokevirtual org.apache.cassandra.db.filter.DataLimits.forPaging:(I)Lorg/apache/cassandra/db/filter/DataLimits;
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.command:Lorg/apache/cassandra/db/ReadCommand;
            invokevirtual org.apache.cassandra.db.ReadCommand.nowInSec:()I
            invokespecial org.apache.cassandra.service.pager.AbstractQueryPager$UnfilteredPager.<init>:(Lorg/apache/cassandra/service/pager/AbstractQueryPager;Lorg/apache/cassandra/db/filter/DataLimits;I)V
            astore 4 /* pager */
        start local 4 // org.apache.cassandra.service.pager.AbstractQueryPager$UnfilteredPager pager
         4: .line 90
            aload 0 /* this */
            iload 2 /* pageSize */
            invokevirtual org.apache.cassandra.service.pager.AbstractQueryPager.nextPageReadCommand:(I)Lorg/apache/cassandra/db/ReadCommand;
            aload 3 /* executionController */
            invokevirtual org.apache.cassandra.db.ReadCommand.executeLocally:(Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            aload 4 /* pager */
            invokestatic org.apache.cassandra.db.transform.Transformation.apply:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;Lorg/apache/cassandra/db/transform/Transformation;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
            areturn
        end local 4 // org.apache.cassandra.service.pager.AbstractQueryPager$UnfilteredPager pager
        end local 3 // org.apache.cassandra.db.ReadExecutionController executionController
        end local 2 // int pageSize
        end local 1 // org.apache.cassandra.config.CFMetaData cfm
        end local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lorg/apache/cassandra/service/pager/AbstractQueryPager;
            0    5     1                  cfm  Lorg/apache/cassandra/config/CFMetaData;
            0    5     2             pageSize  I
            0    5     3  executionController  Lorg/apache/cassandra/db/ReadExecutionController;
            4    5     4                pager  Lorg/apache/cassandra/service/pager/AbstractQueryPager$UnfilteredPager;
    MethodParameters:
                     Name  Flags
      cfm                  
      pageSize             
      executionController  

  protected void restoreState(org.apache.cassandra.db.DecoratedKey, int, int);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
        start local 1 // org.apache.cassandra.db.DecoratedKey lastKey
        start local 2 // int remaining
        start local 3 // int remainingInPartition
         0: .line 211
            aload 0 /* this */
            aload 1 /* lastKey */
            putfield org.apache.cassandra.service.pager.AbstractQueryPager.lastKey:Lorg/apache/cassandra/db/DecoratedKey;
         1: .line 212
            aload 0 /* this */
            iload 2 /* remaining */
            putfield org.apache.cassandra.service.pager.AbstractQueryPager.remaining:I
         2: .line 213
            aload 0 /* this */
            iload 3 /* remainingInPartition */
            putfield org.apache.cassandra.service.pager.AbstractQueryPager.remainingInPartition:I
         3: .line 214
            return
        end local 3 // int remainingInPartition
        end local 2 // int remaining
        end local 1 // org.apache.cassandra.db.DecoratedKey lastKey
        end local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lorg/apache/cassandra/service/pager/AbstractQueryPager;
            0    4     1               lastKey  Lorg/apache/cassandra/db/DecoratedKey;
            0    4     2             remaining  I
            0    4     3  remainingInPartition  I
    MethodParameters:
                      Name  Flags
      lastKey               
      remaining             
      remainingInPartition  

  public boolean isExhausted();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
         0: .line 218
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.exhausted:Z
            ifne 2
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.remaining:I
            ifeq 2
            aload 0 /* this */
            instanceof org.apache.cassandra.service.pager.SinglePartitionPager
            ifeq 1
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.remainingInPartition:I
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/service/pager/AbstractQueryPager;

  public int maxRemaining();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
         0: .line 223
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.remaining:I
            ireturn
        end local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/pager/AbstractQueryPager;

  protected int remainingInPartition();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
         0: .line 228
            aload 0 /* this */
            getfield org.apache.cassandra.service.pager.AbstractQueryPager.remainingInPartition:I
            ireturn
        end local 0 // org.apache.cassandra.service.pager.AbstractQueryPager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/pager/AbstractQueryPager;

  protected abstract org.apache.cassandra.db.ReadCommand nextPageReadCommand(int);
    descriptor: (I)Lorg/apache/cassandra/db/ReadCommand;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      pageSize  

  protected abstract void recordLast(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.rows.Row);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/rows/Row;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      key   
      row   

  protected abstract boolean isPreviouslyReturnedPartition(org.apache.cassandra.db.DecoratedKey);
    descriptor: (Lorg/apache/cassandra/db/DecoratedKey;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      key   
}
SourceFile: "AbstractQueryPager.java"
NestMembers:
  org.apache.cassandra.service.pager.AbstractQueryPager$Pager  org.apache.cassandra.service.pager.AbstractQueryPager$RowPager  org.apache.cassandra.service.pager.AbstractQueryPager$UnfilteredPager
InnerClasses:
  private abstract Pager = org.apache.cassandra.service.pager.AbstractQueryPager$Pager of org.apache.cassandra.service.pager.AbstractQueryPager
  private RowPager = org.apache.cassandra.service.pager.AbstractQueryPager$RowPager of org.apache.cassandra.service.pager.AbstractQueryPager
  private UnfilteredPager = org.apache.cassandra.service.pager.AbstractQueryPager$UnfilteredPager of org.apache.cassandra.service.pager.AbstractQueryPager