docs: public <T> T processDocument(URI uri) throws ConfigurationException
      {
          DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
          dbFactory.setNamespaceAware(true);
          DocumentBuilder dBuilder = null;
  
          try
          {
              dBuilder = dbFactory.newDocumentBuilder();
          }
          catch (Exception e)
          {
              throw new WindupException("Failed to build xml parser due to: " + e.getMessage(), e);
          }
  
          try
          {
              Document doc = dBuilder.parse(uri.toString());
              return processElement(doc.getDocumentElement());
          }
          catch (Exception e)
          {
              throw new WindupException("Failed to parse document at: " + uri + ", due to: " + e.getMessage(), e);
          }
  
      }