@Override
    public E peek() {
        E item = peekNext();
        if (item != null) {
            return item;
        }
        if (!drainPutStack()) {
            return null;
        }
        return peekNext();
    }
@Test
    public void when_peekEmpty_then_Null() {
        assertNull(queue.peek());
    }