Problem solving with Java - Koffman, Elliot B.; Wolz, Ursula (Addison-Wesley, 2002)