Java Software Solutions Foundations of Program Design - James Lee, Brent Ware (Pearson Education Inc., 2007)