References for Common Design Patterns in Java