code: public Object deserialise(final XMLStreamReader reader)
  	{
  		if (reader == null)
  			throw new IllegalArgumentException("Null argument passed to deserialise!");
  
  		final Unmarshaller unmarshaller = getUnmarshaller();
  
  		try
  		{
  			final Object obj = unmarshaller.unmarshal(reader);
  
  			if (obj == null)
  				throw new RuntimeException("Malformed XML! JAXB returned null");
  			else
  				return obj;
  		}
  		catch (JAXBException e)
  		{
  			throw new JAXBRuntimeException("deserialisation", e);
  		}
  	}
docs: Deserialise an XMLStreamReader to an Object (or JAXBElement)
  
  @param reader
  
  @return