public static void ClearEvent(string name)
 {
     if (IsEnabled)
     {
         OpenEvents.Remove(name);
     }
 }
 public static void EndEvent(string name)
 {
     if (IsEnabled)
     {
         Debug.Assert(OpenEvents.ContainsKey(name), "Trying to end an event that is not open.");
         OpenEvents[name].Dispose();
         OpenEvents.Remove(name);
     }
 }
        public static bool ContainsEvent(string name)
        {
            if (!IsEnabled)
            {
                return(false);
            }

            return(OpenEvents.ContainsKey(name));
        }
 public static void StartEvent(string name)
 {
     if (IsEnabled)
     {
         // Commented out because it breaks automation
         //Debug.Assert(!OpenEvents.ContainsKey(name), "2 open events with the same name.");
         OpenEvents.Add(name, LogEvent(name));
     }
 }