public void loadReportParameterValues(
      List<ReportParameterMap> reportParameters, Map<String, Object> parameters)
      throws ProviderException {
    for (int i = 0; i < reportParameters.size(); i++) {
      ReportParameterMap rpMap = reportParameters.get(i);
      ReportParameter rp = rpMap.getReportParameter();

      try {
        if (rp.getType().equals(ReportParameter.LIST_PARAM)
            || rp.getType().equals(ReportParameter.QUERY_PARAM)
            || rp.getType().equals(ReportParameter.BOOLEAN_PARAM)) {
          if (rp.getValues() == null) // only load once...
          {
            log.debug("loading parameter values: " + rp.getName());
            rp.setValues(getParamValues(rp, parameters));
          }
        }
      } catch (Exception e) {
        log.error("Error loading parameter values: " + rp.getName());
        throw new ProviderException("loadReportParameterValues: " + e.getMessage());
      }
    }
  }