Starting Out with Java: From Control Structures through Objects - Gaddis, Tony