Patterns In Java Exercise Solution