public void Process(IFileInfo file, decimal differencePercentage) { var records = fileLoader.Load(file); if (records.Count > 0) { var sortedRecords = records.OrderBy(r => r.Value).ToList(); var median = medianCalculator.Calculate( sortedRecords.Select(r => r.Value).ToList()); var trigger = median * (differencePercentage / 100); foreach (var record in sortedRecords) { var diff = Math.Abs(record.Value - median); if (diff > trigger) { fluctuationReporter.ReportRecord(file.Name, median, record); } } } }