public class org.apache.commons.math3.util.IntegerSequence$Incrementor implements java.util.Iterator<java.lang.Integer>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.math3.util.IntegerSequence$Incrementor
  super_class: java.lang.Object
{
  private static final org.apache.commons.math3.util.IntegerSequence$Incrementor$MaxCountExceededCallback CALLBACK;
    descriptor: Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final int init;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maximalCount;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int increment;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.commons.math3.util.IntegerSequence$Incrementor$MaxCountExceededCallback maxCountCallback;
    descriptor: Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 130
            new org.apache.commons.math3.util.IntegerSequence$Incrementor$1
            dup
            invokespecial org.apache.commons.math3.util.IntegerSequence$Incrementor$1.<init>:()V
         1: .line 129
            putstatic org.apache.commons.math3.util.IntegerSequence$Incrementor.CALLBACK:Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;
         2: .line 135
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(int, int, int, org.apache.commons.math3.util.IntegerSequence$Incrementor$MaxCountExceededCallback);
    descriptor: (IIILorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
        start local 1 // int start
        start local 2 // int max
        start local 3 // int step
        start local 4 // org.apache.commons.math3.util.IntegerSequence$Incrementor$MaxCountExceededCallback cb
         0: .line 173
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 146
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.math3.util.IntegerSequence$Incrementor.count:I
         2: .line 178
            aload 4 /* cb */
            ifnonnull 4
         3: .line 179
            new org.apache.commons.math3.exception.NullArgumentException
            dup
            invokespecial org.apache.commons.math3.exception.NullArgumentException.<init>:()V
            athrow
         4: .line 181
      StackMap locals: org.apache.commons.math3.util.IntegerSequence$Incrementor int int int org.apache.commons.math3.util.IntegerSequence$Incrementor$MaxCountExceededCallback
      StackMap stack:
            aload 0 /* this */
            iload 1 /* start */
            putfield org.apache.commons.math3.util.IntegerSequence$Incrementor.init:I
         5: .line 182
            aload 0 /* this */
            iload 2 /* max */
            putfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maximalCount:I
         6: .line 183
            aload 0 /* this */
            iload 3 /* step */
            putfield org.apache.commons.math3.util.IntegerSequence$Incrementor.increment:I
         7: .line 184
            aload 0 /* this */
            aload 4 /* cb */
            putfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maxCountCallback:Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;
         8: .line 185
            aload 0 /* this */
            iload 1 /* start */
            putfield org.apache.commons.math3.util.IntegerSequence$Incrementor.count:I
         9: .line 186
            return
        end local 4 // org.apache.commons.math3.util.IntegerSequence$Incrementor$MaxCountExceededCallback cb
        end local 3 // int step
        end local 2 // int max
        end local 1 // int start
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
            0   10     1  start  I
            0   10     2    max  I
            0   10     3   step  I
            0   10     4     cb  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;
    Exceptions:
      throws org.apache.commons.math3.exception.NullArgumentException
    MethodParameters:
       Name  Flags
      start  
      max    
      step   
      cb     

  public static org.apache.commons.math3.util.IntegerSequence$Incrementor create();
    descriptor: ()Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 197
            new org.apache.commons.math3.util.IntegerSequence$Incrementor
            dup
            iconst_0
            iconst_0
            iconst_1
            getstatic org.apache.commons.math3.util.IntegerSequence$Incrementor.CALLBACK:Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;
            invokespecial org.apache.commons.math3.util.IntegerSequence$Incrementor.<init>:(IIILorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.apache.commons.math3.util.IntegerSequence$Incrementor withStart(int);
    descriptor: (I)Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
        start local 1 // int start
         0: .line 208
            new org.apache.commons.math3.util.IntegerSequence$Incrementor
            dup
            iload 1 /* start */
         1: .line 209
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maximalCount:I
         2: .line 210
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.increment:I
         3: .line 211
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maxCountCallback:Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;
         4: .line 208
            invokespecial org.apache.commons.math3.util.IntegerSequence$Incrementor.<init>:(IIILorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;)V
            areturn
        end local 1 // int start
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
            0    5     1  start  I
    MethodParameters:
       Name  Flags
      start  

  public org.apache.commons.math3.util.IntegerSequence$Incrementor withMaximalCount(int);
    descriptor: (I)Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
        start local 1 // int max
         0: .line 222
            new org.apache.commons.math3.util.IntegerSequence$Incrementor
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.init:I
         1: .line 223
            iload 1 /* max */
         2: .line 224
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.increment:I
         3: .line 225
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maxCountCallback:Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;
         4: .line 222
            invokespecial org.apache.commons.math3.util.IntegerSequence$Incrementor.<init>:(IIILorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;)V
            areturn
        end local 1 // int max
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
            0    5     1   max  I
    MethodParameters:
      Name  Flags
      max   

  public org.apache.commons.math3.util.IntegerSequence$Incrementor withIncrement(int);
    descriptor: (I)Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
        start local 1 // int step
         0: .line 236
            iload 1 /* step */
            ifne 2
         1: .line 237
            new org.apache.commons.math3.exception.ZeroException
            dup
            invokespecial org.apache.commons.math3.exception.ZeroException.<init>:()V
            athrow
         2: .line 239
      StackMap locals:
      StackMap stack:
            new org.apache.commons.math3.util.IntegerSequence$Incrementor
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.init:I
         3: .line 240
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maximalCount:I
         4: .line 241
            iload 1 /* step */
         5: .line 242
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maxCountCallback:Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;
         6: .line 239
            invokespecial org.apache.commons.math3.util.IntegerSequence$Incrementor.<init>:(IIILorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;)V
            areturn
        end local 1 // int step
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
            0    7     1  step  I
    MethodParameters:
      Name  Flags
      step  

  public org.apache.commons.math3.util.IntegerSequence$Incrementor withCallback(org.apache.commons.math3.util.IntegerSequence$Incrementor$MaxCountExceededCallback);
    descriptor: (Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;)Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
        start local 1 // org.apache.commons.math3.util.IntegerSequence$Incrementor$MaxCountExceededCallback cb
         0: .line 253
            new org.apache.commons.math3.util.IntegerSequence$Incrementor
            dup
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.init:I
         1: .line 254
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maximalCount:I
         2: .line 255
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.increment:I
         3: .line 256
            aload 1 /* cb */
         4: .line 253
            invokespecial org.apache.commons.math3.util.IntegerSequence$Incrementor.<init>:(IIILorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;)V
            areturn
        end local 1 // org.apache.commons.math3.util.IntegerSequence$Incrementor$MaxCountExceededCallback cb
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
            0    5     1    cb  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;
    MethodParameters:
      Name  Flags
      cb    

  public int getMaximalCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
         0: .line 265
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maximalCount:I
            ireturn
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;

  public int getCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
         0: .line 274
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.count:I
            ireturn
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;

  public boolean canIncrement();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
         0: .line 285
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.commons.math3.util.IntegerSequence$Incrementor.canIncrement:(I)Z
            ireturn
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;

  public boolean canIncrement(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
        start local 1 // int nTimes
         0: .line 297
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.count:I
            iload 1 /* nTimes */
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.increment:I
            imul
            iadd
            istore 2 /* finalCount */
        start local 2 // int finalCount
         1: .line 298
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.increment:I
            ifge 4
         2: .line 299
            iload 2 /* finalCount */
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maximalCount:I
            if_icmple 3
            iconst_1
            goto 6
      StackMap locals: int
      StackMap stack:
         3: iconst_0
            goto 6
         4: .line 300
      StackMap locals:
      StackMap stack:
            iload 2 /* finalCount */
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maximalCount:I
            if_icmpge 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
         6: .line 298
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 2 // int finalCount
        end local 1 // int nTimes
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
            0    7     1      nTimes  I
            1    7     2  finalCount  I
    MethodParameters:
        Name  Flags
      nTimes  

  public void increment(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
        start local 1 // int nTimes
         0: .line 313
            iload 1 /* nTimes */
            ifgt 2
         1: .line 314
            new org.apache.commons.math3.exception.NotStrictlyPositiveException
            dup
            iload 1 /* nTimes */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial org.apache.commons.math3.exception.NotStrictlyPositiveException.<init>:(Ljava/lang/Number;)V
            athrow
         2: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.commons.math3.util.IntegerSequence$Incrementor.canIncrement:(I)Z
            ifne 4
         3: .line 318
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maxCountCallback:Lorg/apache/commons/math3/util/IntegerSequence$Incrementor$MaxCountExceededCallback;
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.maximalCount:I
            invokeinterface org.apache.commons.math3.util.IntegerSequence$Incrementor$MaxCountExceededCallback.trigger:(I)V
         4: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.count:I
            iload 1 /* nTimes */
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.increment:I
            imul
            iadd
            putfield org.apache.commons.math3.util.IntegerSequence$Incrementor.count:I
         5: .line 321
            return
        end local 1 // int nTimes
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
            0    6     1  nTimes  I
    Exceptions:
      throws org.apache.commons.math3.exception.MaxCountExceededException
    MethodParameters:
        Name  Flags
      nTimes  

  public void increment();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
         0: .line 338
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.commons.math3.util.IntegerSequence$Incrementor.increment:(I)V
         1: .line 339
            return
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
    Exceptions:
      throws org.apache.commons.math3.exception.MaxCountExceededException

  public boolean hasNext();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
         0: .line 343
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.commons.math3.util.IntegerSequence$Incrementor.canIncrement:(I)Z
            ireturn
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;

  public java.lang.Integer next();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
         0: .line 348
            aload 0 /* this */
            getfield org.apache.commons.math3.util.IntegerSequence$Incrementor.count:I
            istore 1 /* value */
        start local 1 // int value
         1: .line 349
            aload 0 /* this */
            invokevirtual org.apache.commons.math3.util.IntegerSequence$Incrementor.increment:()V
         2: .line 350
            iload 1 /* value */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 1 // int value
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;
            1    3     1  value  I

  public void remove();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
         0: .line 359
            new org.apache.commons.math3.exception.MathUnsupportedOperationException
            dup
            invokespecial org.apache.commons.math3.exception.MathUnsupportedOperationException.<init>:()V
            athrow
        end local 0 // org.apache.commons.math3.util.IntegerSequence$Incrementor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/math3/util/IntegerSequence$Incrementor;

  public java.lang.Object next();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.apache.commons.math3.util.IntegerSequence$Incrementor.next:()Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/util/Iterator<Ljava/lang/Integer;>;
SourceFile: "IntegerSequence.java"
NestHost: org.apache.commons.math3.util.IntegerSequence
InnerClasses:
  public Incrementor = org.apache.commons.math3.util.IntegerSequence$Incrementor of org.apache.commons.math3.util.IntegerSequence
  org.apache.commons.math3.util.IntegerSequence$Incrementor$1
  public abstract MaxCountExceededCallback = org.apache.commons.math3.util.IntegerSequence$Incrementor$MaxCountExceededCallback of org.apache.commons.math3.util.IntegerSequence$Incrementor