private IList<string> DataSourcesForReport(IReportingClient reportingClient, Report report)
        {
            var path = IsCustomReport(report.Id) ? _customReportsPath : _cannedReportsPath;
            var reports = reportingClient.GetReports(path);

            String baseReportName = string.Join("/", SplitReportId(report.Id), 0, DataSourcePartIndex);

            return (from reportInfo in reports
                    where reportInfo.Id.StartsWith(baseReportName, StringComparison.OrdinalIgnoreCase)
                    select SplitReportId(reportInfo.Id)[DataSourcePartIndex]).ToList();
        }
        private IEnumerable<ReportInfo> GetCustomReports(IReportingClient reportingClient)
        {
            ICollection<ReportInfo> filteredCustomReports = new Collection<ReportInfo>();
            IEnumerable<ReportInfo> customReports = reportingClient.GetReports(_customReportsPath);

            foreach (ReportInfo reportInfo in customReports)
            {
                if (reportInfo.Id.Contains("/History/Standard"))
                {
                    filteredCustomReports.Add(new ReportInfo(reportInfo.Id, GetCustomReportName(reportInfo.Id), reportInfo.Description));
                }
            }

            return filteredCustomReports;
        }