docs: public static <MSG extends Message> CloseableIterator<MSG> readStream(File file, Parser<MSG> parser) {
      try {
        // the input stream is closed by the CloseableIterator
        BufferedInputStream input = new BufferedInputStream(new FileInputStream(file));
        return readStream(input, parser);
      } catch (Exception e) {
        throw ContextException.of("Unable to read messages", e).addContext("file", file);
      }
    }