Grandy, et al.. A Refinement Method for Java Programs. Springer Berlin Heidelberg, 2007, doi:10.1007/978-3-540-72952-5_14.