protected override void ApplySortCore(PropertyDescriptor prop, ListSortDirection direction)
        {
            m_SortDirection = direction;
            m_SortProperty  = prop;
            BOSortComparer <T> comparer = new BOSortComparer <T>(prop, direction);

            ApplySortInternal(comparer);
        }
        private void ApplySortInternal(BOSortComparer <T> comparer)
        {
            List <T> listRef = this.Items as List <T>;

            if (listRef == null)
            {
                return;
            }

            listRef.Sort(comparer);
            m_Sorted = true;
            OnListChanged(new ListChangedEventArgs(ListChangedType.Reset, -1));
        }