https://www.javacodegeeks.com/2015/03/testing-interface-invariants.html
Testing Interface Invariants