Java TM2 by example - Friesen, Jeff (QUE, 2002)