private IEnumerable <CReleaseNoteAsset> GetAssetsWithCombination(Dictionary <CReleaseNoteAsset, Dictionary <int, string> > allReleaseNoteDictionary, int count, params string[] combination) { if (count == 0) { return(LinqReleaseNotes.GetAssetsWithValueEqualTo(allReleaseNoteDictionary, count + 1, combination[count])); } return(LinqReleaseNotes.Intersect(GetAssetsWithCombination( allReleaseNoteDictionary, count - 1, combination), LinqReleaseNotes.GetAssetsWithValueEqualTo(allReleaseNoteDictionary, count + 1, combination[count]))); }