Hi Mike,
I'm not sure why JAXB creates this third factory method for your modified schema. Unfortunately it's some time ago when i used JAXB the last time
Basically the "normal" classes wrapped in a JAXBElement just contain additional XML specific information (have a look at the API). But you can use the other classes without this and simply construct your object hierarchies just like with any other POJOs. I just used this JAXBElement wrapper for the root element of an XML document, i.e. I wrapped the root element with a JAXBElement before giving it to the Marshaller and it's a JAXBElement you get from the Unmarshaller when parsing a XML document. Then you have to call jaxbElement.getValue() to get the "real" root object of a tree hierarchy.
Perphaps someone other knows more exactly what this is good for...
Marco