### Question:
PriorityMessageQueue implements MessageQueue { @Override public final JmsInboundMessageDispatch dequeueNoWait() { synchronized (lock) { if (!isRunning() || isEmpty()) { return null; } return removeFirst(); } } @SuppressWarnings("unchecked")  PriorityMessageQueue(); @Override void enqueue(JmsInboundMessageDispatch envelope); @Override void enqueueFirst(JmsInboundMessageDispatch envelope); @Override final JmsInboundMessageDispatch dequeue(long timeout); @Override final JmsInboundMessageDispatch dequeueNoWait(); @Override final void start(); @Override final void stop(); @Override final void close(); @Override final boolean isRunning(); @Override final boolean isClosed(); @Override boolean isEmpty(); @Override int size(); @Override void clear();  }### Answer:
@Test public void testRemoveFirstOnEmptyQueue() { assertNull(queue.dequeueNoWait()); }