Imagine! Java programming concepts in context - Carrano, Frank M. (Pearson, 2011)