code: @Override
      protected void loadReport(ReportsConfig result, File report, String reportId) throws IOException {
          // Need to refresh? -- CahcedReport should be made abstract and the type should define which class to use
          // and what refresh checking method is used.
          if (!cache.containsKey(reportId) || cache.get(reportId).getLastModified() != report.lastModified())
          {
              super.loadReport(result, report, reportId);
              cache.put(reportId,new CachedReport(result.getReports().get(reportId),report.lastModified()));
          }
          result.getReports().put(reportId, cache.get(reportId).getReportConfig());
      }
docs: {@inheritDoc}
  @param result
  @param report
  @param reportId
  @throws IOException