Java Software Solutions: Foundations of Program Design - John Lewis (Pearson Education,Inc., 2005)