internal PatternTestSummary Clone()
        {
            var clone = new PatternTestSummary(_patternName);

            foreach (var pattern in Patterns)
            {
                clone.Patterns.Add(pattern.Clone());
            }

            clone.Options = Options.Clone();

            foreach (var item in Frequencies)
            {
                clone.Frequencies.Add(item.Clone());
            }

            foreach (var item in Unexpected)
            {
                clone.Unexpected.Add(item.Clone());
            }

            foreach (var item in KnownIdle)
            {
                clone.KnownIdle.Add(item.Clone());
            }

            foreach (var item in Durations)
            {
                clone.Durations.Add(item.Clone());
            }

            return(clone);
        }
 internal void Merge(PatternTestSummary source)
 {
     Patterns.AddRange(source.Patterns);
     // Note: Options for the same Pattern Summary should be the same, thus no merge - Sara
     MergeFrequencyEvents(source.Frequencies, Frequencies);
     MergeEvents(source.Unexpected, Unexpected);
     MergeEvents(source.KnownIdle, KnownIdle);
     MergeEvents(source.Durations, Durations);
 }