/// <summary>
        /// Converts an MRU model into an equivalent ViewModel.
        /// </summary>
        /// <param name="model"></param>
        /// <param name="VM"></param>
        /// <returns></returns>
        public static IMRUListViewModel ConvertToViewModel(MRUList model
                                                           , IMRUListViewModel VM = null)
        {
            if (VM == null)
            {
                VM = new MRUListViewModel();
            }
            else
            {
                VM.Clear();
            }

            if (model != null)
            {
                VM.ResetMaxMruEntryCount(model.MaxMruEntryCount);

                foreach (var item in model.ListOfMRUEntries)
                {
                    VM.UpdateEntry(new MRUEntryViewModel(item.PathFileName
                                                         , item.LastUpdate
                                                         , item.IsPinned));
                }
            }

            return(VM);
        }
        /// <summary>
        /// Converts an MRU ViewModel into an equivalent model.
        /// </summary>
        /// <param name="VM"></param>
        /// <param name="list"></param>
        /// <returns></returns>
        public static MRUList ConvertToModel(IMRUListViewModel VM
                                             , MRUList list = null)
        {
            if (list == null)
            {
                list = new MRUList();
            }
            else
            {
                list.ListOfMRUEntries.Clear();
            }

            if (VM != null)
            {
                list.MaxMruEntryCount = VM.MaxMruEntryCount;

                foreach (var item in VM.Entries.Values)
                {
                    list.ListOfMRUEntries.Add(new MRUEntry(item.PathFileName
                                                           , item.IsPinned
                                                           , item.LastUpdate));
                }
            }

            return(list);
        }