Verify your Java implementation.
Use tools like, for example,
(other tools may be added soon)
to verify your implementation. You may also want to consider minor
variations on your implementation (showing, for example, that a particular
lock is essential to guarantee deadlock freedom).
Write a report that discusses your verification effort.