Playing Java in a Nutshell - Benjamin J Evans, Jason Clark