@Override
  public Collection<PerformanceReport> parse(
      AbstractBuild<?, ?> build, Collection<File> reports, TaskListener listener)
      throws IOException {
    List<PerformanceReport> result = new ArrayList<PerformanceReport>();

    PrintStream logger = listener.getLogger();
    for (File f : reports) {
      final PerformanceReport r = new PerformanceReport();
      r.setReportFileName(f.getName());
      logger.println("Performance: Parsing JMeter report file " + f.getName());
      BufferedReader reader = new BufferedReader(new FileReader(f));
      try {
        String line = reader.readLine();
        if (line != null && skipFirstLine) {
          logger.println("Performance: Skipping first line");
          line = reader.readLine();
        }
        while (line != null) {
          HttpSample sample = getSample(line);
          if (sample != null) {
            try {
              r.addSample(sample);
            } catch (SAXException e) {
              throw new RuntimeException("Unnable to add sample for line " + line, e);
            }
          }
          line = reader.readLine();
        }
      } finally {
        if (reader != null) reader.close();
      }
      result.add(r);
    }
    return result;
  }