/// <summary>
        /// Adds a notification to this collection.
        /// </summary>
        /// <param name="notification"></param>
        public void Notify(Notification notification)
        {
            //
            switch (notification.Behaviour)
            {
            case NotificationBehaviour.Cohabitate:
                m_items.Add(notification);
                break;

            case NotificationBehaviour.Overwrite:
                // Replace the previous notifications with the same invalidation key
                InvalidateCore(notification.InvalidationKey);
                m_items.Add(notification);
                break;

            case NotificationBehaviour.Merge:
                // Merge the notifications with the same key
                var key = notification.InvalidationKey;
                foreach (var other in m_items.Where(x => x.InvalidationKey == key))
                {
                    notification.Append(other);
                }

                // Replace the previous notifications with the same invalidation key
                InvalidateCore(key);
                m_items.Add(notification);
                break;
            }

            EveClient.OnNotificationSent(notification);
        }