Objects, abstraction, data structures and design using Java - Koffman, Elliot B. (John Wiley & Sons, 2005)