/// <summary>
        /// Returns an existing or creates a new view model for the specified search hit.
        /// </summary>
        /// <param name="searchHit">Search hit for which a view model should be returned, or created.</param>
        /// <param name="parent">Parent enumerable</param>
        /// <returns>Created or existing view model.</returns>
        public static SearchHitViewModel GetOrCreateSearchHitViewModel(Engine.Interfaces.ISearchHit searchHit, ObservableEnumerable parent)
        {
            SearchHitViewModel viewModel = null;

            if (!mViewModels.TryGetValue(searchHit, out viewModel))
            {
                viewModel = new SearchHitViewModel(searchHit, parent);
                mViewModels.Add(searchHit, viewModel);
            }
            return(viewModel);
        }
 /// <summary>
 /// Initialization constructor.
 /// </summary>
 /// <param name="searchHit">Underlying search hit.</param>
 private SearchHitViewModel(Engine.Interfaces.ISearchHit searchHit, ObservableEnumerable parent)
 {
     mParent    = parent;
     mSearchHit = searchHit;
 }