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