public class org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator extends org.apache.xml.dtm.ref.DTMDefaultBaseIterators$InternalAxisIteratorBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator
  super_class: org.apache.xml.dtm.ref.DTMDefaultBaseIterators$InternalAxisIteratorBase
{
  private final int _maxAncestors;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: 8

  protected int[] _stack;
    descriptor: [I
    flags: (0x0004) ACC_PROTECTED

  protected int _sp;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int _oldsp;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int _markedsp;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int _markedNode;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int _markedDescendant;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  final org.apache.xml.dtm.ref.DTMDefaultBaseIterators this$0;
    descriptor: Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.apache.xml.dtm.ref.DTMDefaultBaseIterators);
    descriptor: (Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
         0: .line 1238
            aload 0 /* this */
            aload 1
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.this$0:Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;
            aload 0 /* this */
            aload 1
            invokespecial org.apache.xml.dtm.ref.DTMDefaultBaseIterators$InternalAxisIteratorBase.<init>:(Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;)V
         1: .line 1242
            aload 0 /* this */
            bipush 8
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._maxAncestors:I
         2: .line 1248
            aload 0 /* this */
            bipush 8
            newarray 10
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
         3: .line 1238
            return
        end local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators$PrecedingIterator;
    MethodParameters:
        Name  Flags
      this$0  final

  public boolean isReverse();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
         0: .line 1264
            iconst_1
            ireturn
        end local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators$PrecedingIterator;

  public org.apache.xml.dtm.DTMAxisIterator cloneIterator();
    descriptor: ()Lorg/apache/xml/dtm/DTMAxisIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
         0: .line 1274
            aload 0 /* this */
            iconst_0
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._isRestartable:Z
         1: .line 1278
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator
            astore 1 /* clone */
        start local 1 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator clone
         2: .line 1279
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
            arraylength
            newarray 10
            astore 2 /* stackCopy */
        start local 2 // int[] stackCopy
         3: .line 1280
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
            iconst_0
            aload 2 /* stackCopy */
            iconst_0
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 1282
            aload 1 /* clone */
            aload 2 /* stackCopy */
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
         5: .line 1285
            aload 1 /* clone */
         6: areturn
        end local 2 // int[] stackCopy
        end local 1 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator clone
         7: .line 1287
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            pop
         8: .line 1289
            new org.apache.xml.dtm.DTMException
            dup
            ldc "ER_ITERATOR_CLONE_NOT_SUPPORTED"
            aconst_null
            invokestatic org.apache.xml.res.XMLMessages.createXMLMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.xml.dtm.DTMException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators$PrecedingIterator;
            2    7     1      clone  Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators$PrecedingIterator;
            3    7     2  stackCopy  [I
      Exception table:
        from    to  target  type
           1     6       7  Class java.lang.CloneNotSupportedException

  public org.apache.xml.dtm.DTMAxisIterator setStartNode(int);
    descriptor: (I)Lorg/apache/xml/dtm/DTMAxisIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
        start local 1 // int node
         0: .line 1304
            iload 1 /* node */
            ifne 2
         1: .line 1305
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.this$0:Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;
            invokevirtual org.apache.xml.dtm.ref.DTMDefaultBaseIterators.getDocument:()I
            istore 1 /* node */
         2: .line 1306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._isRestartable:Z
            ifeq 22
         3: .line 1308
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.this$0:Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;
            iload 1 /* node */
            invokevirtual org.apache.xml.dtm.ref.DTMDefaultBaseIterators.makeNodeIdentity:(I)I
            istore 1 /* node */
         4: .line 1313
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.this$0:Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;
            iload 1 /* node */
            invokevirtual org.apache.xml.dtm.ref.DTMDefaultBaseIterators._type:(I)S
            iconst_2
            if_icmpne 6
         5: .line 1314
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.this$0:Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;
            iload 1 /* node */
            invokevirtual org.apache.xml.dtm.ref.DTMDefaultBaseIterators._parent:(I)I
            istore 1 /* node */
         6: .line 1316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* node */
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._startNode:I
         7: .line 1317
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
            iconst_0
            dup
            istore 3 /* index */
        start local 3 // int index
         8: iload 1 /* node */
            iastore
         9: .line 1321
            iload 1 /* node */
            istore 2 /* parent */
        start local 2 // int parent
        10: .line 1322
            goto 16
        11: .line 1324
      StackMap locals: int int
      StackMap stack:
            iinc 3 /* index */ 1
            iload 3 /* index */
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
            arraylength
            if_icmpne 15
        12: .line 1326
            iload 3 /* index */
            iconst_4
            iadd
            newarray 10
            astore 4 /* stack */
        start local 4 // int[] stack
        13: .line 1327
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
            iconst_0
            aload 4 /* stack */
            iconst_0
            iload 3 /* index */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 1328
            aload 0 /* this */
            aload 4 /* stack */
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
        end local 4 // int[] stack
        15: .line 1330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
            iload 3 /* index */
            iload 2 /* parent */
            iastore
        16: .line 1322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.this$0:Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;
            iload 2 /* parent */
            invokevirtual org.apache.xml.dtm.ref.DTMDefaultBaseIterators._parent:(I)I
            dup
            istore 2 /* parent */
            iconst_m1
            if_icmpne 11
        17: .line 1332
            iload 3 /* index */
            ifle 19
        18: .line 1333
            iinc 3 /* index */ -1
        19: .line 1335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
            iload 3 /* index */
            iaload
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._currentNode:I
        20: .line 1337
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* index */
            dup_x1
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._sp:I
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._oldsp:I
        21: .line 1339
            aload 0 /* this */
            invokevirtual org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.resetPosition:()Lorg/apache/xml/dtm/DTMAxisIterator;
            areturn
        end local 3 // int index
        end local 2 // int parent
        22: .line 1342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // int node
        end local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators$PrecedingIterator;
            0   23     1    node  I
           10   22     2  parent  I
            8   22     3   index  I
           13   15     4   stack  [I
    MethodParameters:
      Name  Flags
      node  

  public int next();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
         0: .line 1355
            aload 0 /* this */
            dup
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._currentNode:I
            iconst_1
            iadd
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._currentNode:I
         1: .line 1356
            goto 8
         2: .line 1359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._currentNode:I
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._sp:I
            iaload
            if_icmpge 6
         3: .line 1361
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.this$0:Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._currentNode:I
            invokevirtual org.apache.xml.dtm.ref.DTMDefaultBaseIterators._type:(I)S
            iconst_2
            if_icmpeq 7
         4: .line 1362
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.this$0:Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._currentNode:I
            invokevirtual org.apache.xml.dtm.ref.DTMDefaultBaseIterators._type:(I)S
            bipush 13
            if_icmpeq 7
         5: .line 1363
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.this$0:Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators;
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._currentNode:I
            invokevirtual org.apache.xml.dtm.ref.DTMDefaultBaseIterators.makeNodeHandle:(I)I
            invokevirtual org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.returnNode:(I)I
            ireturn
         6: .line 1366
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._sp:I
            iconst_1
            isub
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._sp:I
         7: .line 1357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._currentNode:I
            iconst_1
            iadd
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._currentNode:I
         8: .line 1356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._sp:I
         9: .line 1355
            ifge 2
        10: .line 1368
            iconst_m1
            ireturn
        end local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators$PrecedingIterator;

  public org.apache.xml.dtm.DTMAxisIterator reset();
    descriptor: ()Lorg/apache/xml/dtm/DTMAxisIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
         0: .line 1382
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._oldsp:I
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._sp:I
         1: .line 1384
            aload 0 /* this */
            invokevirtual org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator.resetPosition:()Lorg/apache/xml/dtm/DTMAxisIterator;
            areturn
        end local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators$PrecedingIterator;

  public void setMark();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
         0: .line 1388
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._sp:I
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._markedsp:I
         1: .line 1389
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._currentNode:I
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._markedNode:I
         2: .line 1390
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._stack:[I
            iconst_0
            iaload
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._markedDescendant:I
         3: .line 1391
            return
        end local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators$PrecedingIterator;

  public void gotoMark();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
         0: .line 1394
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._markedsp:I
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._sp:I
         1: .line 1395
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._markedNode:I
            putfield org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator._currentNode:I
         2: .line 1396
            return
        end local 0 // org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/xml/dtm/ref/DTMDefaultBaseIterators$PrecedingIterator;
}
SourceFile: "DTMDefaultBaseIterators.java"
NestHost: org.apache.xml.dtm.ref.DTMDefaultBaseIterators
InnerClasses:
  public abstract InternalAxisIteratorBase = org.apache.xml.dtm.ref.DTMDefaultBaseIterators$InternalAxisIteratorBase of org.apache.xml.dtm.ref.DTMDefaultBaseIterators
  public PrecedingIterator = org.apache.xml.dtm.ref.DTMDefaultBaseIterators$PrecedingIterator of org.apache.xml.dtm.ref.DTMDefaultBaseIterators