Concurrency: State Models and Java Programs - page 1