### Question:
PriorityQueue implements Iterable<E> { public abstract void clear();  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);  }### Answer:
@Test public void clear() { final PriorityQueue<Integer, String> queue = createQueue(); queue.push(0, "1"); Assert.assertTrue(queue.size() > 0); Assert.assertFalse(queue.isEmpty()); queue.clear(); assertEquals(0, queue.size()); Assert.assertTrue(queue.isEmpty()); Assert.assertNull(queue.peek()); Assert.assertNull(queue.pop()); }