internal void AddAlert(AnalysisRule rule)
 {
     if (!this.alerts.Contains(rule))
     {
         this.alerts.Add(rule.Clone());
     }
 }
        private IEnumerable <CalendarLogAnalysis> PerformAnalysis(IEnumerable <CalendarLogAnalysis> logs)
        {
            IEnumerable <AnalysisRule>       analysisRules = AnalysisRule.GetAnalysisRules();
            LinkedList <CalendarLogAnalysis> linkedList    = new LinkedList <CalendarLogAnalysis>(logs);

            foreach (AnalysisRule analysisRule in analysisRules)
            {
                analysisRule.Analyze(linkedList);
            }
            return(linkedList.ToList <CalendarLogAnalysis>());
        }