code: protected Object unmarshalStaxSource(Source staxSource) throws XmlMappingException {
  		XMLStreamReader streamReader = StaxUtils.getXMLStreamReader(staxSource);
  		if (streamReader != null) {
  			return unmarshalXmlStreamReader(streamReader);
  		}
  		else {
  			XMLEventReader eventReader = StaxUtils.getXMLEventReader(staxSource);
  			if (eventReader != null) {
  				return unmarshalXmlEventReader(eventReader);
  			}
  			else {
  				throw new IllegalArgumentException("StaxSource contains neither XMLStreamReader nor XMLEventReader");
  			}
  		}
  	}
docs: Template method for handling {@code StaxSource}s.
  <p>This implementation delegates to {@code unmarshalXmlStreamReader} or
  {@code unmarshalXmlEventReader}.
  @param staxSource the {@code StaxSource}
  @return the object graph
  @throws XmlMappingException if the given source cannot be mapped to an object