public final class org.apache.commons.collections.BinaryHeap extends java.util.AbstractCollection implements org.apache.commons.collections.PriorityQueue, org.apache.commons.collections.Buffer
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.commons.collections.BinaryHeap
  super_class: java.util.AbstractCollection
{
  private static final int DEFAULT_CAPACITY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  int m_size;
    descriptor: I
    flags: (0x0000) 

  java.lang.Object[] m_elements;
    descriptor: [Ljava/lang/Object;
    flags: (0x0000) 

  boolean m_isMinHeap;
    descriptor: Z
    flags: (0x0000) 

  java.util.Comparator m_comparator;
    descriptor: Ljava/util/Comparator;
    flags: (0x0000) 

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 93
            aload 0 /* this */
            bipush 13
            iconst_1
            invokespecial org.apache.commons.collections.BinaryHeap.<init>:(IZ)V
         1: .line 94
            return
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/collections/BinaryHeap;

  public void <init>(java.util.Comparator);
    descriptor: (Ljava/util/Comparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // java.util.Comparator comparator
         0: .line 104
            aload 0 /* this */
            invokespecial org.apache.commons.collections.BinaryHeap.<init>:()V
         1: .line 105
            aload 0 /* this */
            aload 1 /* comparator */
            putfield org.apache.commons.collections.BinaryHeap.m_comparator:Ljava/util/Comparator;
         2: .line 106
            return
        end local 1 // java.util.Comparator comparator
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/commons/collections/BinaryHeap;
            0    3     1  comparator  Ljava/util/Comparator;
    MethodParameters:
            Name  Flags
      comparator  

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // int capacity
         0: .line 117
            aload 0 /* this */
            iload 1 /* capacity */
            iconst_1
            invokespecial org.apache.commons.collections.BinaryHeap.<init>:(IZ)V
         1: .line 118
            return
        end local 1 // int capacity
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/commons/collections/BinaryHeap;
            0    2     1  capacity  I
    MethodParameters:
          Name  Flags
      capacity  

  public void <init>(int, java.util.Comparator);
    descriptor: (ILjava/util/Comparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // int capacity
        start local 2 // java.util.Comparator comparator
         0: .line 130
            aload 0 /* this */
            iload 1 /* capacity */
            invokespecial org.apache.commons.collections.BinaryHeap.<init>:(I)V
         1: .line 131
            aload 0 /* this */
            aload 2 /* comparator */
            putfield org.apache.commons.collections.BinaryHeap.m_comparator:Ljava/util/Comparator;
         2: .line 132
            return
        end local 2 // java.util.Comparator comparator
        end local 1 // int capacity
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/commons/collections/BinaryHeap;
            0    3     1    capacity  I
            0    3     2  comparator  Ljava/util/Comparator;
    MethodParameters:
            Name  Flags
      capacity    
      comparator  

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // boolean isMinHeap
         0: .line 141
            aload 0 /* this */
            bipush 13
            iload 1 /* isMinHeap */
            invokespecial org.apache.commons.collections.BinaryHeap.<init>:(IZ)V
         1: .line 142
            return
        end local 1 // boolean isMinHeap
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/commons/collections/BinaryHeap;
            0    2     1  isMinHeap  Z
    MethodParameters:
           Name  Flags
      isMinHeap  

  public void <init>(boolean, java.util.Comparator);
    descriptor: (ZLjava/util/Comparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // boolean isMinHeap
        start local 2 // java.util.Comparator comparator
         0: .line 153
            aload 0 /* this */
            iload 1 /* isMinHeap */
            invokespecial org.apache.commons.collections.BinaryHeap.<init>:(Z)V
         1: .line 154
            aload 0 /* this */
            aload 2 /* comparator */
            putfield org.apache.commons.collections.BinaryHeap.m_comparator:Ljava/util/Comparator;
         2: .line 155
            return
        end local 2 // java.util.Comparator comparator
        end local 1 // boolean isMinHeap
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/commons/collections/BinaryHeap;
            0    3     1   isMinHeap  Z
            0    3     2  comparator  Ljava/util/Comparator;
    MethodParameters:
            Name  Flags
      isMinHeap   
      comparator  

  public void <init>(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // int capacity
        start local 2 // boolean isMinHeap
         0: .line 168
            aload 0 /* this */
            invokespecial java.util.AbstractCollection.<init>:()V
         1: .line 169
            iload 1 /* capacity */
            ifgt 3
         2: .line 170
            new java.lang.IllegalArgumentException
            dup
            ldc "invalid capacity"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 172
      StackMap locals: org.apache.commons.collections.BinaryHeap int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* isMinHeap */
            putfield org.apache.commons.collections.BinaryHeap.m_isMinHeap:Z
         4: .line 175
            aload 0 /* this */
            iload 1 /* capacity */
            iconst_1
            iadd
            anewarray java.lang.Object
            putfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
         5: .line 176
            return
        end local 2 // boolean isMinHeap
        end local 1 // int capacity
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/commons/collections/BinaryHeap;
            0    6     1   capacity  I
            0    6     2  isMinHeap  Z
    MethodParameters:
           Name  Flags
      capacity   
      isMinHeap  

  public void <init>(int, boolean, java.util.Comparator);
    descriptor: (IZLjava/util/Comparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // int capacity
        start local 2 // boolean isMinHeap
        start local 3 // java.util.Comparator comparator
         0: .line 190
            aload 0 /* this */
            iload 1 /* capacity */
            iload 2 /* isMinHeap */
            invokespecial org.apache.commons.collections.BinaryHeap.<init>:(IZ)V
         1: .line 191
            aload 0 /* this */
            aload 3 /* comparator */
            putfield org.apache.commons.collections.BinaryHeap.m_comparator:Ljava/util/Comparator;
         2: .line 192
            return
        end local 3 // java.util.Comparator comparator
        end local 2 // boolean isMinHeap
        end local 1 // int capacity
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/apache/commons/collections/BinaryHeap;
            0    3     1    capacity  I
            0    3     2   isMinHeap  Z
            0    3     3  comparator  Ljava/util/Comparator;
    MethodParameters:
            Name  Flags
      capacity    
      isMinHeap   
      comparator  

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 199
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            arraylength
            anewarray java.lang.Object
            putfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
         1: .line 200
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.collections.BinaryHeap.m_size:I
         2: .line 201
            return
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/collections/BinaryHeap;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 210
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/collections/BinaryHeap;

  public boolean isFull();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 221
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            arraylength
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            iconst_1
            iadd
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/collections/BinaryHeap;

  public void insert(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // java.lang.Object element
         0: .line 230
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BinaryHeap.isFull:()Z
            ifeq 2
         1: .line 231
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BinaryHeap.grow:()V
         2: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_isMinHeap:Z
            ifeq 5
         3: .line 235
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual org.apache.commons.collections.BinaryHeap.percolateUpMinHeap:(Ljava/lang/Object;)V
         4: .line 236
            goto 6
         5: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual org.apache.commons.collections.BinaryHeap.percolateUpMaxHeap:(Ljava/lang/Object;)V
         6: .line 239
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object element
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/commons/collections/BinaryHeap;
            0    7     1  element  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      element  

  public java.lang.Object peek();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 248
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BinaryHeap.isEmpty:()Z
            ifeq 2
         1: .line 249
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
         2: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iconst_1
            aaload
            areturn
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/collections/BinaryHeap;
    Exceptions:
      throws java.util.NoSuchElementException

  public java.lang.Object pop();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 262
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BinaryHeap.peek:()Ljava/lang/Object;
            astore 1 /* result */
        start local 1 // java.lang.Object result
         1: .line 263
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iconst_1
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            aload 0 /* this */
            dup
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            dup_x1
            iconst_1
            isub
            putfield org.apache.commons.collections.BinaryHeap.m_size:I
            aaload
            aastore
         2: .line 267
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            iconst_1
            iadd
            aconst_null
            aastore
         3: .line 269
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            ifeq 8
         4: .line 271
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_isMinHeap:Z
            ifeq 7
         5: .line 272
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.commons.collections.BinaryHeap.percolateDownMinHeap:(I)V
         6: .line 273
            goto 8
         7: .line 274
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.commons.collections.BinaryHeap.percolateDownMaxHeap:(I)V
         8: .line 278
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.lang.Object result
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/apache/commons/collections/BinaryHeap;
            1    9     1  result  Ljava/lang/Object;
    Exceptions:
      throws java.util.NoSuchElementException

  protected void percolateDownMinHeap(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // int index
         0: .line 289
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 1 /* index */
            aaload
            astore 2 /* element */
        start local 2 // java.lang.Object element
         1: .line 290
            iload 1 /* index */
            istore 3 /* hole */
        start local 3 // int hole
         2: .line 292
            goto 10
         3: .line 293
      StackMap locals: java.lang.Object int
      StackMap stack:
            iload 3 /* hole */
            iconst_2
            imul
            istore 4 /* child */
        start local 4 // int child
         4: .line 297
            iload 4 /* child */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            if_icmpeq 6
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 4 /* child */
            iconst_1
            iadd
            aaload
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 4 /* child */
            aaload
            invokevirtual org.apache.commons.collections.BinaryHeap.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifge 6
         5: .line 298
            iinc 4 /* child */ 1
         6: .line 302
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 4 /* child */
            aaload
            aload 2 /* element */
            invokevirtual org.apache.commons.collections.BinaryHeap.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            iflt 8
         7: .line 303
            goto 11
         8: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 3 /* hole */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 4 /* child */
            aaload
            aastore
         9: .line 307
            iload 4 /* child */
            istore 3 /* hole */
        end local 4 // int child
        10: .line 292
      StackMap locals:
      StackMap stack:
            iload 3 /* hole */
            iconst_2
            imul
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            if_icmple 3
        11: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 3 /* hole */
            aload 2 /* element */
            aastore
        12: .line 311
            return
        end local 3 // int hole
        end local 2 // java.lang.Object element
        end local 1 // int index
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/apache/commons/collections/BinaryHeap;
            0   13     1    index  I
            1   13     2  element  Ljava/lang/Object;
            2   13     3     hole  I
            4   10     4    child  I
    MethodParameters:
       Name  Flags
      index  final

  protected void percolateDownMaxHeap(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // int index
         0: .line 321
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 1 /* index */
            aaload
            astore 2 /* element */
        start local 2 // java.lang.Object element
         1: .line 322
            iload 1 /* index */
            istore 3 /* hole */
        start local 3 // int hole
         2: .line 324
            goto 10
         3: .line 325
      StackMap locals: java.lang.Object int
      StackMap stack:
            iload 3 /* hole */
            iconst_2
            imul
            istore 4 /* child */
        start local 4 // int child
         4: .line 329
            iload 4 /* child */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            if_icmpeq 6
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 4 /* child */
            iconst_1
            iadd
            aaload
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 4 /* child */
            aaload
            invokevirtual org.apache.commons.collections.BinaryHeap.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifle 6
         5: .line 330
            iinc 4 /* child */ 1
         6: .line 334
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 4 /* child */
            aaload
            aload 2 /* element */
            invokevirtual org.apache.commons.collections.BinaryHeap.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifgt 8
         7: .line 335
            goto 11
         8: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 3 /* hole */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 4 /* child */
            aaload
            aastore
         9: .line 339
            iload 4 /* child */
            istore 3 /* hole */
        end local 4 // int child
        10: .line 324
      StackMap locals:
      StackMap stack:
            iload 3 /* hole */
            iconst_2
            imul
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            if_icmple 3
        11: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 3 /* hole */
            aload 2 /* element */
            aastore
        12: .line 343
            return
        end local 3 // int hole
        end local 2 // java.lang.Object element
        end local 1 // int index
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/apache/commons/collections/BinaryHeap;
            0   13     1    index  I
            1   13     2  element  Ljava/lang/Object;
            2   13     3     hole  I
            4   10     4    child  I
    MethodParameters:
       Name  Flags
      index  final

  protected void percolateUpMinHeap(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // int index
         0: .line 353
            iload 1 /* index */
            istore 2 /* hole */
        start local 2 // int hole
         1: .line 354
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 2 /* hole */
            aaload
            astore 3 /* element */
        start local 3 // java.lang.Object element
         2: .line 355
            goto 6
         3: .line 358
      StackMap locals: int java.lang.Object
      StackMap stack:
            iload 2 /* hole */
            iconst_2
            idiv
            istore 4 /* next */
        start local 4 // int next
         4: .line 359
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 2 /* hole */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 4 /* next */
            aaload
            aastore
         5: .line 360
            iload 4 /* next */
            istore 2 /* hole */
        end local 4 // int next
         6: .line 355
      StackMap locals:
      StackMap stack:
            iload 2 /* hole */
            iconst_1
            if_icmple 7
            aload 0 /* this */
            aload 3 /* element */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 2 /* hole */
            iconst_2
            idiv
            aaload
            invokevirtual org.apache.commons.collections.BinaryHeap.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            iflt 3
         7: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 2 /* hole */
            aload 3 /* element */
            aastore
         8: .line 363
            return
        end local 3 // java.lang.Object element
        end local 2 // int hole
        end local 1 // int index
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/commons/collections/BinaryHeap;
            0    9     1    index  I
            1    9     2     hole  I
            2    9     3  element  Ljava/lang/Object;
            4    6     4     next  I
    MethodParameters:
       Name  Flags
      index  final

  protected void percolateUpMinHeap(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // java.lang.Object element
         0: .line 373
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            aload 0 /* this */
            dup
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            iconst_1
            iadd
            dup_x1
            putfield org.apache.commons.collections.BinaryHeap.m_size:I
            aload 1 /* element */
            aastore
         1: .line 374
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            invokevirtual org.apache.commons.collections.BinaryHeap.percolateUpMinHeap:(I)V
         2: .line 375
            return
        end local 1 // java.lang.Object element
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/commons/collections/BinaryHeap;
            0    3     1  element  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      element  final

  protected void percolateUpMaxHeap(int);
    descriptor: (I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // int index
         0: .line 385
            iload 1 /* index */
            istore 2 /* hole */
        start local 2 // int hole
         1: .line 386
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 2 /* hole */
            aaload
            astore 3 /* element */
        start local 3 // java.lang.Object element
         2: .line 388
            goto 6
         3: .line 391
      StackMap locals: int java.lang.Object
      StackMap stack:
            iload 2 /* hole */
            iconst_2
            idiv
            istore 4 /* next */
        start local 4 // int next
         4: .line 392
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 2 /* hole */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 4 /* next */
            aaload
            aastore
         5: .line 393
            iload 4 /* next */
            istore 2 /* hole */
        end local 4 // int next
         6: .line 388
      StackMap locals:
      StackMap stack:
            iload 2 /* hole */
            iconst_1
            if_icmple 7
            aload 0 /* this */
            aload 3 /* element */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 2 /* hole */
            iconst_2
            idiv
            aaload
            invokevirtual org.apache.commons.collections.BinaryHeap.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifgt 3
         7: .line 396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 2 /* hole */
            aload 3 /* element */
            aastore
         8: .line 397
            return
        end local 3 // java.lang.Object element
        end local 2 // int hole
        end local 1 // int index
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/commons/collections/BinaryHeap;
            0    9     1    index  I
            1    9     2     hole  I
            2    9     3  element  Ljava/lang/Object;
            4    6     4     next  I
    MethodParameters:
       Name  Flags
      index  final

  protected void percolateUpMaxHeap(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // java.lang.Object element
         0: .line 407
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            aload 0 /* this */
            dup
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            iconst_1
            iadd
            dup_x1
            putfield org.apache.commons.collections.BinaryHeap.m_size:I
            aload 1 /* element */
            aastore
         1: .line 408
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            invokevirtual org.apache.commons.collections.BinaryHeap.percolateUpMaxHeap:(I)V
         2: .line 409
            return
        end local 1 // java.lang.Object element
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/commons/collections/BinaryHeap;
            0    3     1  element  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      element  final

  private int compare(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // java.lang.Object a
        start local 2 // java.lang.Object b
         0: .line 420
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_comparator:Ljava/util/Comparator;
            ifnull 2
         1: .line 421
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_comparator:Ljava/util/Comparator;
            aload 1 /* a */
            aload 2 /* b */
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ireturn
         2: .line 423
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            checkcast java.lang.Comparable
            aload 2 /* b */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ireturn
        end local 2 // java.lang.Object b
        end local 1 // java.lang.Object a
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/collections/BinaryHeap;
            0    3     1     a  Ljava/lang/Object;
            0    3     2     b  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     
      b     

  protected void grow();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 431
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            arraylength
            iconst_2
            imul
            anewarray java.lang.Object
            astore 1 /* elements */
        start local 1 // java.lang.Object[] elements
         1: .line 432
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iconst_0
            aload 1 /* elements */
            iconst_0
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 433
            aload 0 /* this */
            aload 1 /* elements */
            putfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
         3: .line 434
            return
        end local 1 // java.lang.Object[] elements
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/commons/collections/BinaryHeap;
            1    4     1  elements  [Ljava/lang/Object;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 443
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 445
            aload 1 /* sb */
            ldc "[ "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 447
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         3: goto 8
         4: .line 448
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            iload 2 /* i */
            iconst_1
            if_icmpeq 6
         5: .line 449
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 451
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_elements:[Ljava/lang/Object;
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
         7: .line 447
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            iconst_1
            iadd
            if_icmplt 4
        end local 2 // int i
         9: .line 454
            aload 1 /* sb */
            ldc " ]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 456
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/commons/collections/BinaryHeap;
            1   11     1    sb  Ljava/lang/StringBuffer;
            3    9     2     i  I

  public java.util.Iterator iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 466
            new org.apache.commons.collections.BinaryHeap$1
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.collections.BinaryHeap$1.<init>:(Lorg/apache/commons/collections/BinaryHeap;)V
            areturn
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BinaryHeap;

  public boolean add(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BinaryHeap this
        start local 1 // java.lang.Object object
         0: .line 524
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual org.apache.commons.collections.BinaryHeap.insert:(Ljava/lang/Object;)V
         1: .line 525
            iconst_1
            ireturn
        end local 1 // java.lang.Object object
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/collections/BinaryHeap;
            0    2     1  object  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      object  

  public java.lang.Object get();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 536
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BinaryHeap.peek:()Ljava/lang/Object;
         1: areturn
         2: .line 537
      StackMap locals:
      StackMap stack: java.util.NoSuchElementException
            pop
         3: .line 538
            new org.apache.commons.collections.BufferUnderflowException
            dup
            invokespecial org.apache.commons.collections.BufferUnderflowException.<init>:()V
            athrow
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/collections/BinaryHeap;
      Exception table:
        from    to  target  type
           0     1       2  Class java.util.NoSuchElementException

  public java.lang.Object remove();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 550
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BinaryHeap.pop:()Ljava/lang/Object;
         1: areturn
         2: .line 551
      StackMap locals:
      StackMap stack: java.util.NoSuchElementException
            pop
         3: .line 552
            new org.apache.commons.collections.BufferUnderflowException
            dup
            invokespecial org.apache.commons.collections.BufferUnderflowException.<init>:()V
            athrow
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/collections/BinaryHeap;
      Exception table:
        from    to  target  type
           0     1       2  Class java.util.NoSuchElementException

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BinaryHeap this
         0: .line 562
            aload 0 /* this */
            getfield org.apache.commons.collections.BinaryHeap.m_size:I
            ireturn
        end local 0 // org.apache.commons.collections.BinaryHeap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BinaryHeap;
}
SourceFile: "BinaryHeap.java"
NestMembers:
  org.apache.commons.collections.BinaryHeap$1
InnerClasses:
  org.apache.commons.collections.BinaryHeap$1