Illustrative examples for understanding and using the Desgin Patterns in Java