/// <summary>
 /// Get all rules for whole basedOn hierarchy, starting from root ancestor
 /// </summary>
 /// <returns></returns>
 public IEnumerable <EventRuleElement> GetRules()
 {
     if (InheritRules && BaseBot != null)
     {
         foreach (var rule in BaseBot.GetRules())
         {
             yield return(rule);
         }
     }
     foreach (var rule in EventRules)
     {
         yield return(rule);
     }
 }