private IEnumerable <ReferenceRule> GetMatchingRules(IReadOnlyList <ReferenceRule> rules, Reference reference, RuleKind kind)
 {
     foreach (var rule in rules)
     {
         if (Regex.IsMatch(reference.From, _patternParser.GetRegex(rule.PatternFrom)) &&
             Regex.IsMatch(reference.To, _patternParser.GetRegex(rule.PatternTo)) &&
             DoesPrivateAssetsRuleMatch(reference, rule) &&
             DoesVersionRuleMatch(reference, rule) &&
             rule.Kind == kind)
         {
             yield return(rule);
         }
     }
 }