Contract Model and Exception Handling.
Modify the class
handles its preconditions with one or more exceptions.
Be sure to document this properly in the Requires and Effects.
You are welcome to use JavaDoc instead of Liskov's notation.
Use the standard exceptions listed in Bloch.
You do not need to provide any user interface, just the class