Bierhoff, Aldrich, 2005. Lightweight object specification with typestates, in: . ACM Press.. https://doi.org/10.1145/1081706.1081741