Java software structures designing & using data structures - Lewis, John 1963- (Pearson/Addison Wesley, 2005)