Javadoc uses only UTF-8.
Add product type documentation and refactor.
Enhance type information.
Document creation of product attributes.