code: @Override
      public Object unmarshal(Source source) throws IOException, XmlMappingException {
          if (source instanceof StAXSource) {
              source = fixStAXSource((StAXSource) source);
          }
  
          final Transformer identityTransformer;
          try {
              identityTransformer = this.xmlUtilities.getIdentityTransformer();
          } catch (TransformerConfigurationException e) {
              throw new RuntimeException("Failed to create identity Transformer", e);
          }
  
          final DOMResult domResult = new DOMResult();
          try {
              identityTransformer.transform(source, domResult);
          } catch (TransformerException e) {
              throw new RuntimeException("Failed to transform " + source + " into Document", e);
          }
  
          final Document resultDoc = (Document) domResult.getNode();
          return new Tuple<String, Document>(source.getSystemId(), resultDoc);
      }
docs: /* (non-Javadoc)
  @see org.springframework.oxm.Unmarshaller#unmarshal(javax.xml.transform.Source)