¿cuándo JAXB unmarshaller.unmarshal devuelve un JAXBElement <MySchemaObject> o un MySchemaObject?

Tengo dos códigos, en dos proyectos Java diferentes, que hacen casi lo mismo, (sin distorsionar la entrada de un servicio web de acuerdo con un archivo xsd).

Pero en un caso debería escribir esto: (La entrada es un nombre de marcador de posición) (el elemento es la entrada de elemento de elemento)

<code>ClassLoader clInput = input.ObjectFactory.class.getClassLoader();
JAXBContext jc = JAXBContext.newInstance("input", clInput);
Unmarshaller unmarshaller = jc.createUnmarshaller();
Input input = (Input)unmarshaller.unmarshal( element.getXMLStreamReader() );
</code>

y en la otra biblioteca, debo usar JAXBElement.getValue (), porque es un JAXBElement que se devuelve, y una conversión simple (de entrada) simplemente se bloquea:

<code>Input input = (Input)unmarshaller.unmarshal( element.getXMLStreamReader() ).getValue();
</code>

¿Sabes lo que lleva a tal diferencia?

Respuestas a la pregunta(5)

Su respuesta a la pregunta