Text this: Data Abstraction & Problem solving with Java: walls and mirrors