Data abstraction & problem solving with Java : walls and mirrors /: walls and mirrors. (©2011)