Imagine! Java programming concepts in context - Carrano, Frank M (Prentice Hall, 2011)