Java 5.0 program design : An introduction to programming and object-oriented design / James P. Cohoon - Cohoon, James P.