code: @Override
          public List<List<LogTrace<LogEntry>>> parse(InputStream inputStream, ParsingMode parsingMode) throws ParameterException, ParserException {
                  try {
                          inputStream.available();
                  } catch (IOException e) {
                          throw new ParameterException("Unable to read input file: " + e.getMessage());
                  }
  
                  try {
                          SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
                          MXMLSAXHandler handler = new MXMLSAXHandler();
                          parser.parse(inputStream, handler);
  
                          summaries.addAll(handler.summaries);
                          parsedLogFiles = handler.logs;
                          return parsedLogFiles;
                  } catch (ParserConfigurationException | SAXException | IOException ex) {
                          throw new ParserException(ex);
                  }
          }
docs: Parses the specified log file and returns a collection of processes.
  
  @param inputStream {@link InputStream} to parse
  @param parsingMode
  @return Collection of processes, which consist of a collection of
  instances, which again consist of a collection of {@link LogTrace}
  objects.
  @throws ParameterException Gets thrown if there's a discrepancy in
  how the file should be interpreted.
  @throws ParserException Gets thrown if the given file can't be read,
  is a directory, or doesn't exist.