Source: https://www.cs.ru.nl/E.Poll/talks/p3_assertions_jml.pdf