public void ResetHighlights()
        {
            lock (_providers)
            {
                Highlighting.SafeInvoke(this);

                foreach (var provider in _providers)
                {
                    provider.ResetHighlight();
                }

                Highlighted.SafeInvoke(this);
            }
        }
        public void HighlightSearchables(IEnumerable <object> searchables)
        {
            lock (_providers)
            {
                Highlighting.SafeInvoke(this);

                foreach (var searchable in searchables)
                {
                    foreach (var provider in _providers)
                    {
                        provider.HighlightSearchable(searchable);
                    }
                }

                Highlighted.SafeInvoke(this);
            }
        }