The object of data abstraction and structures using Java - Riley, David D. 1951- (Addison-Wesley, 2003)