code: private void run(Map<String, ReportPlugin> reportPlugins, ReportOperation operation, Set<String> executedPlugins) throws ReportException {
          for (Map.Entry<String, ReportPlugin> entry : reportPlugins.entrySet()) {
              if (executedPlugins.add(entry.getKey())) {
                  operation.run(entry.getValue());
              }
          }
      }
docs: Execute a {@link ReportOperation} on the provided {@link ReportPlugin}s but
  assure that this happens only once.
  
  @param reportPlugins
  The {@link ReportPlugin}s.
  @param operation
  The {@link ReportOperation}.
  @param executedPlugins
  The already executed {@link ReportPlugin}s.
  @throws ReportException
  If a problem is reported.