/// <summary>
        /// Remove the all pages of the backstack with optional pageToken and parameter
        /// </summary>
        /// <param name="pageToken"></param>
        /// <param name="parameter"></param>
        public void RemoveAllPages(string pageToken = null, object parameter = null)
        {
            if (pageToken != null)
            {
                IEnumerable <PageStackEntry> pages;
                var pageType = _navigationResolver(pageToken);
                if (parameter != null)
                {
                    pages = _frame.BackStack.Where(x => x.SourcePageType == pageType && x.Parameter.Equals(parameter));
                }
                else
                {
                    pages = _frame.BackStack.Where(x => x.SourcePageType == pageType);
                }

                foreach (var page in pages)
                {
                    _frame.RemoveBackStackEntry(page);
                }
            }
            else
            {
                _frame.ClearBackStack();
            }
        }
 /// <summary>
 /// Clears the navigation history.
 /// </summary>
 public void ClearHistory()
 {
     _frame.ClearBackStack();
 }