docs: public synchronized void load(InputStream pInput) throws IOException {
      // Get parser instance
      XMLReader parser;
  
      // Try to instantiate System default parser
      String driver = System.getProperty("org.xml.sax.driver");
  
      if (driver == null) {
  
        // Instantiate the org.apache.xerces.parsers.SAXParser as default
        driver = "org.apache.xerces.parsers.SAXParser";
      }
      try {
        parser = XMLReaderFactory.createXMLReader(driver);
        parser.setFeature(SAX_VALIDATION_URI, mValidation);
      } catch (SAXNotRecognizedException saxnre) {
  
        // It should be okay to throw RuntimeExptions, as you will need an
        // XML parser
        throw new RuntimeException("Error configuring XML parser \"" + driver + "\": " + saxnre.getClass().getName() + ": "
                                   + saxnre.getMessage());
      } catch (SAXException saxe) {
        throw new RuntimeException("Error creating XML parser \"" + driver + "\": " + saxe.getClass().getName() + ": " + saxe.getMessage());
      }
  
      // Register handler
      PropertiesHandler handler = new PropertiesHandler(this);
  
      parser.setContentHandler(handler);
      parser.setErrorHandler(handler);
      parser.setDTDHandler(handler);
      parser.setEntityResolver(handler);
  
      // Read and parse XML
      try {
        parser.parse(new InputSource(pInput));
      } catch (SAXParseException saxpe) {
  
        // Wrap SAXException in IOException to be consistent
        throw new IOException("Error parsing XML: " + saxpe.getClass().getName() + ": " + saxpe.getMessage() + " Line: "
                              + saxpe.getLineNumber() + " Column: " + saxpe.getColumnNumber());
      } catch (SAXException saxe) {
  
        // Wrap SAXException in IOException to be consistent
        // Doesn't realy matter, as the SAXExceptions seems to be pretty
        // meaningless themselves...
        throw new IOException("Error parsing XML: " + saxe.getClass().getName() + ": " + saxe.getMessage());
      }
    }