Beginning Java SE 6 platform : from novice to professional - Friesen, Jeff (The expert's voice in Java technology, 2007)