code: public static <T> T xmlNodeToObject(final Node node, final Class<T> valueType,
        final JAXBContext jaxbContext)
        throws JAXBException {
  
      if (node == null) {
        return null;
      }
      Validate.notNull(valueType, "valueType must not be null");
      if (jaxbContext == null) {
        return valueType.cast(getJaxbContext(valueType).createUnmarshaller().unmarshal(node));
      }
      return valueType.cast(jaxbContext.createUnmarshaller().unmarshal(node));
    }
docs: Transforms a XML node into an object.
  
  @param <T>         the type parameter
  @param node        the XML node
  @param valueType   the class of the target object
  @param jaxbContext the {@link JAXBContext} (can be null)
  @return the target object
  @throws JAXBException if transformation fails