Eng 6428 - Review only.wait for merge till System tests have run.

If not a lot of work, I would vote for making `peek()` do the right thing and have the caller do
```
peek
if empty:
    pop
```