Icon - Java Design Patterns