@Test public void emptyPop() { Assert.assertNull(createQueue().pop()); }
@Nullable public abstract E pop();
PriorityQueue implements Iterable<E> { @Nullable public abstract E pop(); }
PriorityQueue implements Iterable<E> { @Nullable public abstract E pop();  }
PriorityQueue implements Iterable<E> { @Nullable public abstract E pop();  abstract boolean isEmpty(); abstract int size(); abstract E push(@NotNull P priority, @NotNull E value); @Nullable final E peek(); @Nullable abstract Pair<P, E> peekPair(); @Nullable abstract Pair<P, E> floorPair(); @Nullable abstract E pop(); abstract void clear(); abstract Guard lock(); abstract void unlock(); static int moveQueue(@NotNull final PriorityQueue<P, E> source,
                                                                     @NotNull final PriorityQueue<P, E> dest); }
PriorityQueue implements Iterable<E> { @Nullable public abstract E pop();  abstract boolean isEmpty(); abstract int size(); abstract E push(@NotNull P priority, @NotNull E value); @Nullable final E peek(); @Nullable abstract Pair<P, E> peekPair(); @Nullable abstract Pair<P, E> floorPair(); @Nullable abstract E pop(); abstract void clear(); abstract Guard lock(); abstract void unlock(); static int moveQueue(@NotNull final PriorityQueue<P, E> source,
                                                                     @NotNull final PriorityQueue<P, E> dest);  }