Guarded Suspension: Context
A class that implements a queue data structure must also implement a policy for handling a request to put an object out of the queue when the queue is empty.
A design for a queue class that throws an exception or returns null when empty is rather straightforward.