Java software structures : - Lewis, John 1963- (Pearson Education, 2004)