public class it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue implements it.unimi.dsi.fastutil.doubles.DoublePriorityQueue, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  protected transient double[] heap;
    descriptor: [D
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

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

  protected it.unimi.dsi.fastutil.doubles.DoubleComparator c;
    descriptor: Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
    flags: (0x0004) ACC_PROTECTED

  public void <init>(int, it.unimi.dsi.fastutil.doubles.DoubleComparator);
    descriptor: (ILit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // int capacity
        start local 2 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
         0: .line 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 32
            aload 0 /* this */
            getstatic it.unimi.dsi.fastutil.doubles.DoubleArrays.EMPTY_ARRAY:[D
            putfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
         2: .line 48
            iload 1 /* capacity */
            ifle 4
         3: .line 49
            aload 0 /* this */
            iload 1 /* capacity */
            newarray 7
            putfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
         4: .line 50
      StackMap locals: it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue int it.unimi.dsi.fastutil.doubles.DoubleComparator
      StackMap stack:
            aload 0 /* this */
            aload 2 /* c */
            putfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.c:Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
         5: .line 51
            return
        end local 2 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
        end local 1 // int capacity
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    6     1  capacity  I
            0    6     2         c  Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
    MethodParameters:
          Name  Flags
      capacity  
      c         

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // int capacity
         0: .line 59
            aload 0 /* this */
            iload 1 /* capacity */
            aconst_null
            invokespecial it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.<init>:(ILit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
         1: .line 60
            return
        end local 1 // int capacity
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    2     1  capacity  I
    MethodParameters:
          Name  Flags
      capacity  

  public void <init>(it.unimi.dsi.fastutil.doubles.DoubleComparator);
    descriptor: (Lit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
         0: .line 69
            aload 0 /* this */
            iconst_0
            aload 1 /* c */
            invokespecial it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.<init>:(ILit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
         1: .line 70
            return
        end local 1 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    2     1     c  Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
    MethodParameters:
      Name  Flags
      c     

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
         0: .line 75
            aload 0 /* this */
            iconst_0
            aconst_null
            invokespecial it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.<init>:(ILit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
         1: .line 76
            return
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;

  public void <init>(double[], int, it.unimi.dsi.fastutil.doubles.DoubleComparator);
    descriptor: ([DILit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // double[] a
        start local 2 // int size
        start local 3 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
         0: .line 94
            aload 0 /* this */
            aload 3 /* c */
            invokespecial it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.<init>:(Lit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
         1: .line 95
            aload 0 /* this */
            aload 1 /* a */
            putfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
         2: .line 96
            aload 0 /* this */
            iload 2 /* size */
            putfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
         3: .line 97
            aload 1 /* a */
            iload 2 /* size */
            aload 3 /* c */
            invokestatic it.unimi.dsi.fastutil.doubles.DoubleHeaps.makeHeap:([DILit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
         4: .line 98
            return
        end local 3 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
        end local 2 // int size
        end local 1 // double[] a
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    5     1     a  [D
            0    5     2  size  I
            0    5     3     c  Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
    MethodParameters:
      Name  Flags
      a     final
      size  
      c     final

  public void <init>(double[], it.unimi.dsi.fastutil.doubles.DoubleComparator);
    descriptor: ([DLit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // double[] a
        start local 2 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
         0: .line 114
            aload 0 /* this */
            aload 1 /* a */
            aload 1 /* a */
            arraylength
            aload 2 /* c */
            invokespecial it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.<init>:([DILit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
         1: .line 115
            return
        end local 2 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
        end local 1 // double[] a
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    2     1     a  [D
            0    2     2     c  Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
    MethodParameters:
      Name  Flags
      a     final
      c     final

  public void <init>(double[], int);
    descriptor: ([DI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // double[] a
        start local 2 // int size
         0: .line 130
            aload 0 /* this */
            aload 1 /* a */
            iload 2 /* size */
            aconst_null
            invokespecial it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.<init>:([DILit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
         1: .line 131
            return
        end local 2 // int size
        end local 1 // double[] a
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    2     1     a  [D
            0    2     2  size  I
    MethodParameters:
      Name  Flags
      a     final
      size  

  public void <init>(double[]);
    descriptor: ([D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // double[] a
         0: .line 144
            aload 0 /* this */
            aload 1 /* a */
            aload 1 /* a */
            arraylength
            invokespecial it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.<init>:([DI)V
         1: .line 145
            return
        end local 1 // double[] a
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    2     1     a  [D
    MethodParameters:
      Name  Flags
      a     final

  public void <init>(it.unimi.dsi.fastutil.doubles.DoubleCollection, it.unimi.dsi.fastutil.doubles.DoubleComparator);
    descriptor: (Lit/unimi/dsi/fastutil/doubles/DoubleCollection;Lit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // it.unimi.dsi.fastutil.doubles.DoubleCollection collection
        start local 2 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
         0: .line 161
            aload 0 /* this */
            aload 1 /* collection */
            invokeinterface it.unimi.dsi.fastutil.doubles.DoubleCollection.toDoubleArray:()[D
            aload 2 /* c */
            invokespecial it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.<init>:([DLit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
         1: .line 162
            return
        end local 2 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
        end local 1 // it.unimi.dsi.fastutil.doubles.DoubleCollection collection
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    2     1  collection  Lit/unimi/dsi/fastutil/doubles/DoubleCollection;
            0    2     2           c  Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
    MethodParameters:
            Name  Flags
      collection  final
      c           final

  public void <init>(it.unimi.dsi.fastutil.doubles.DoubleCollection);
    descriptor: (Lit/unimi/dsi/fastutil/doubles/DoubleCollection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // it.unimi.dsi.fastutil.doubles.DoubleCollection collection
         0: .line 175
            aload 0 /* this */
            aload 1 /* collection */
            aconst_null
            invokespecial it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.<init>:(Lit/unimi/dsi/fastutil/doubles/DoubleCollection;Lit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
         1: .line 176
            return
        end local 1 // it.unimi.dsi.fastutil.doubles.DoubleCollection collection
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    2     1  collection  Lit/unimi/dsi/fastutil/doubles/DoubleCollection;
    MethodParameters:
            Name  Flags
      collection  final

  public void <init>(java.util.Collection<? extends java.lang.Double>, it.unimi.dsi.fastutil.doubles.DoubleComparator);
    descriptor: (Ljava/util/Collection;Lit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // java.util.Collection collection
        start local 2 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
         0: .line 191
            aload 0 /* this */
            aload 1 /* collection */
            invokeinterface java.util.Collection.size:()I
            aload 2 /* c */
            invokespecial it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.<init>:(ILit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
         1: .line 192
            aload 1 /* collection */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* iterator */
        start local 3 // java.util.Iterator iterator
         2: .line 193
            aload 1 /* collection */
            invokeinterface java.util.Collection.size:()I
            istore 4 /* size */
        start local 4 // int size
         3: .line 194
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 195
      StackMap locals: it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue java.util.Collection it.unimi.dsi.fastutil.doubles.DoubleComparator java.util.Iterator int int
      StackMap stack:
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            iload 5 /* i */
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dastore
         6: .line 194
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 4 /* size */
            if_icmplt 5
        end local 5 // int i
         8: .line 196
            return
        end local 4 // int size
        end local 3 // java.util.Iterator iterator
        end local 2 // it.unimi.dsi.fastutil.doubles.DoubleComparator c
        end local 1 // java.util.Collection collection
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    9     1  collection  Ljava/util/Collection<+Ljava/lang/Double;>;
            0    9     2           c  Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
            2    9     3    iterator  Ljava/util/Iterator<+Ljava/lang/Double;>;
            3    9     4        size  I
            4    8     5           i  I
    Signature: (Ljava/util/Collection<+Ljava/lang/Double;>;Lit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
    MethodParameters:
            Name  Flags
      collection  final
      c           final

  public void <init>(java.util.Collection<? extends java.lang.Double>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // java.util.Collection collection
         0: .line 208
            aload 0 /* this */
            aload 1 /* collection */
            aconst_null
            invokespecial it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.<init>:(Ljava/util/Collection;Lit/unimi/dsi/fastutil/doubles/DoubleComparator;)V
         1: .line 209
            return
        end local 1 // java.util.Collection collection
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    2     1  collection  Ljava/util/Collection<+Ljava/lang/Double;>;
    Signature: (Ljava/util/Collection<+Ljava/lang/Double;>;)V
    MethodParameters:
            Name  Flags
      collection  final

  public void enqueue(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // double x
         0: .line 212
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            arraylength
            if_icmpne 2
         1: .line 213
            aload 0 /* this */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            iconst_1
            iadd
            invokestatic it.unimi.dsi.fastutil.doubles.DoubleArrays.grow:([DI)[D
            putfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
         2: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            aload 0 /* this */
            dup
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            dup_x1
            iconst_1
            iadd
            putfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            dload 1 /* x */
            dastore
         3: .line 215
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            iconst_1
            isub
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.c:Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
            invokestatic it.unimi.dsi.fastutil.doubles.DoubleHeaps.upHeap:([DIILit/unimi/dsi/fastutil/doubles/DoubleComparator;)I
            pop
         4: .line 216
            return
        end local 1 // double x
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    5     1     x  D
    MethodParameters:
      Name  Flags
      x     

  public double dequeueDouble();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
         0: .line 219
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            ifne 2
         1: .line 220
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
         2: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            iconst_0
            daload
            dstore 1 /* result */
        start local 1 // double result
         3: .line 222
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            iconst_0
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            aload 0 /* this */
            dup
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            iconst_1
            isub
            dup_x1
            putfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            daload
            dastore
         4: .line 223
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            ifeq 6
         5: .line 224
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            iconst_0
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.c:Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
            invokestatic it.unimi.dsi.fastutil.doubles.DoubleHeaps.downHeap:([DIILit/unimi/dsi/fastutil/doubles/DoubleComparator;)I
            pop
         6: .line 225
      StackMap locals: double
      StackMap stack:
            dload 1 /* result */
            dreturn
        end local 1 // double result
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            3    7     1  result  D

  public double firstDouble();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
         0: .line 229
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            ifne 2
         1: .line 230
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
         2: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            iconst_0
            daload
            dreturn
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;

  public void changed();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
         0: .line 235
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            iconst_0
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.c:Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
            invokestatic it.unimi.dsi.fastutil.doubles.DoubleHeaps.downHeap:([DIILit/unimi/dsi/fastutil/doubles/DoubleComparator;)I
            pop
         1: .line 236
            return
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
         0: .line 239
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            ireturn
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
         0: .line 243
            aload 0 /* this */
            iconst_0
            putfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
         1: .line 244
            return
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;

  public void trim();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
         0: .line 250
            aload 0 /* this */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            invokestatic it.unimi.dsi.fastutil.doubles.DoubleArrays.trim:([DI)[D
            putfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
         1: .line 251
            return
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;

  public it.unimi.dsi.fastutil.doubles.DoubleComparator comparator();
    descriptor: ()Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
         0: .line 254
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.c:Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
            areturn
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // java.io.ObjectOutputStream s
         0: .line 257
            aload 1 /* s */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         1: .line 258
            aload 1 /* s */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            arraylength
            invokevirtual java.io.ObjectOutputStream.writeInt:(I)V
         2: .line 259
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 260
      StackMap locals: int
      StackMap stack:
            aload 1 /* s */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            iload 2 /* i */
            daload
            invokevirtual java.io.ObjectOutputStream.writeDouble:(D)V
         5: .line 259
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            if_icmplt 4
        end local 2 // int i
         7: .line 261
            return
        end local 1 // java.io.ObjectOutputStream s
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    8     1     s  Ljava/io/ObjectOutputStream;
            3    7     2     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
        start local 1 // java.io.ObjectInputStream s
         0: .line 264
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 265
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.readInt:()I
            newarray 7
            putfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
         2: .line 266
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 267
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.heap:[D
            iload 2 /* i */
            aload 1 /* s */
            invokevirtual java.io.ObjectInputStream.readDouble:()D
            dastore
         5: .line 266
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.size:I
            if_icmplt 4
        end local 2 // int i
         7: .line 268
            return
        end local 1 // java.io.ObjectInputStream s
        end local 0 // it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lit/unimi/dsi/fastutil/doubles/DoubleHeapPriorityQueue;
            0    8     1     s  Ljava/io/ObjectInputStream;
            3    7     2     i  I
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      s     

  public java.lang.Object dequeue();
    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
            invokeinterface it.unimi.dsi.fastutil.doubles.DoublePriorityQueue.dequeue:()Ljava/lang/Double;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.Comparator comparator();
    descriptor: ()Ljava/util/Comparator;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual it.unimi.dsi.fastutil.doubles.DoubleHeapPriorityQueue.comparator:()Lit/unimi/dsi/fastutil/doubles/DoubleComparator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void enqueue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Double
            invokeinterface it.unimi.dsi.fastutil.doubles.DoublePriorityQueue.enqueue:(Ljava/lang/Double;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object last();
    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
            invokeinterface it.unimi.dsi.fastutil.doubles.DoublePriorityQueue.last:()Ljava/lang/Double;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object first();
    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
            invokeinterface it.unimi.dsi.fastutil.doubles.DoublePriorityQueue.first:()Ljava/lang/Double;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "DoubleHeapPriorityQueue.java"