/**
   * Parses the info.xml file into a DOM.
   *
   * <p>This method *must* be called before any other methods.
   *
   * @param file The info.xml file.
   * @throws IOException In event of a parser error.
   */
  public void read(File file) throws IOException {
    parentDirectory = file.getParentFile();
    Reader reader = XmlCharsetDetector.getCharsetAwareReader(new FileInputStream(file));

    try {
      coverage = ReaderUtils.parse(reader);
    } finally {
      reader.close();
    }
  }