This is an excellent example of a developer getting carried away by his/her own cleverness:
When generating Java code from an XML Schema, in certain modes JAXB automagically converts words to plural where there may be more than one element. For example, the word Datum is automatically converted to Data, the word Item converted to Items.
This is an exceptionally bad idea for 2 reasons (off the top of my head):
1. Surely it makes more sense for the code to closely match the schema? Not arbitrarily deciding to fix your grammar for you.
2. It’s badly implemented. For example, if I have an abbreviated word ending with “f” it incorrectly converts to plural — “Itemref” becomes “Itemreves”. Garbage. What’s worse, is that I have an xsd:choice contain Items and Itemrefs, so the JAXB1 generated code contained the method “getItemOrItemRef” — JAXB2 in extensions mode creates the wonderful “getItemsAndItemreves” method.
What 1st university student on 6 months work experience came up with that brilliant plan?
But wait, it gets even worse. The jaxb documentation at dev.java.net is full of badly written (often unintelligible) ramblings, missing links, less-than-useless links to blog entries and unwritten faq entries (why bother writing the heading if you don’t have time to write the content, I ask you?).
It is, to put it politely, an absolute mess.


