private IEnumerable <RegexMutation> FindMutants(RegexNode regexNode, RegexNode root) { return(_mutatorsByRegexNodeType .Where(item => regexNode.GetType() == item.Key || regexNode.GetType().IsSubclassOf(item.Key)) .SelectMany(item => item.Value) .SelectMany(mutator => mutator.Mutate(regexNode, root))); }