code: public Model parse(InputStream inputStream) throws PomParseException {
          try {
              final PomHandler handler = new PomHandler();
              final SAXParser saxParser = XmlUtils.buildSecureSaxParser();
              final XMLReader xmlReader = saxParser.getXMLReader();
              xmlReader.setContentHandler(handler);
  
              final BOMInputStream bomStream = new BOMInputStream(new XmlInputStream(new PomProjectInputStream(inputStream)));
              final ByteOrderMark bom = bomStream.getBOM();
              final String defaultEncoding = StandardCharsets.UTF_8.name();
              final String charsetName = bom == null ? defaultEncoding : bom.getCharsetName();
              final Reader reader = new InputStreamReader(bomStream, charsetName);
              final InputSource in = new InputSource(reader);
              xmlReader.parse(in);
              return handler.getModel();
          } catch (ParserConfigurationException | SAXException | FileNotFoundException ex) {
              LOGGER.debug("", ex);
              throw new PomParseException(ex);
          } catch (IOException ex) {
              LOGGER.debug("", ex);
              throw new PomParseException(ex);
          }
      }
docs: Parses the given XML file and returns a Model object containing only the
  fields dependency-check requires.
  
  @param inputStream an InputStream containing suppression rues
  @return a list of suppression rules
  @throws PomParseException if the XML cannot be parsed