/// <summary>
        /// Will continue to observe and react to changes
        /// </summary>
        /// <returns></returns>
        public MyObservableList <T> ToSortedList()
        {
            var list = new MyObservableList <T>();

            list.InsertSorted(this);
            return(list);
        }
        /// <summary>
        /// Generates a sublist from the current list, using the given filter. Sublist continues to update with main list.
        /// </summary>
        /// <param name="filter"></param>
        /// <returns></returns>
        public MyObservableList <T> Sublist(IFilter <T> filter)
        {
            MyObservableList <T> list = new MyObservableList <T>()
            {
                Filter        = filter,
                Comparer      = Comparer,
                InsertAdapter = InsertAdapter
            };

            list.InsertSorted(this);

            return(list);
        }