/// <summary>
        /// Safely adds a key to the recently viewed collection list.
        /// </summary>
        /// <param name="recent">
        /// The recent.
        /// </param>
        /// <param name="key">
        /// The key.
        /// </param>
        /// <param name="siteAlias">
        /// The site alias.
        /// </param>
        private static void AddKey(this RecentlyViewed recent, Guid key, string siteAlias = "ChairOffice")
        {
            const int count = 6;

            var keys = recent.Keys.ToList();

            if (recent.Keys.Count() >= count)
            {
                keys.ToList().RemoveAt(0);
            }

            if (!keys.Contains(key))
            {
                keys.Add(key);
            }

            recent.Keys = keys;
        }
 /// <summary>
 /// Serializes the keys to a CSV list for cookie storage.
 /// </summary>
 /// <param name="recent">
 /// The recent.
 /// </param>
 /// <param name="context">
 /// The <see cref="ICustomerContext"/>.
 /// </param>
 internal static void Store(this RecentlyViewed recent, ICustomerContext context)
 {
     context.SetValue("rviewed", string.Join(",", recent.Keys));
 }