public List<ReportParameter> getAvailableParameters(Report report) throws ProviderException { List<ReportParameter> parameters = getReportParameters(); Iterator<ReportParameter> iterator = parameters.iterator(); while (iterator.hasNext()) { ReportParameter rp = iterator.next(); Iterator<ReportParameterMap> reportIterator = report.getParameters().iterator(); while (reportIterator.hasNext()) { ReportParameterMap rpMap = reportIterator.next(); if (rp.getId().equals(rpMap.getReportParameter().getId())) { parameters.remove(rp); iterator = parameters.iterator(); } } } return parameters; }