private IEnumerable <Hour24Model> FillAllHourPartials(IEnumerable <int> digits, IEnumerable <Hour24Model> modelsWithHour, Action <Hour24Model, TimeNoModel> modelModificator) { var allFilledModels = new List <Hour24Model>(); foreach (var hour in modelsWithHour) { var allPossibleValues = _generator.GenerateUniqueNumbersExcluding(digits, ExplodeHourModel(hour)) .Select(n => { int firstDigit = n / 10; int secondDigit = n - firstDigit * 10; return(new TimeNoModel { first = firstDigit, second = secondDigit }); }) .Where(v => ValidateMinSec(v)) .ToList(); allPossibleValues.ForEach(model => { var copy = hour.Copy(); modelModificator(copy, model); allFilledModels.Add(copy); }); } return(allFilledModels); }