BuildIt.Lifecycle.WindowManager.GoToPreviousState C# (CSharp) Method

GoToPreviousState() private method

private GoToPreviousState ( ActionWrapper onsuccess ) : System.Threading.Tasks.Task
onsuccess ActionWrapper
return System.Threading.Tasks.Task
        private async Task GoToPreviousState(ActionWrapper onsuccess)
        { 

        Debug.WriteLine("Going back");

            var reg = RegionForCurrentWindow as IHasStates;
            //var win = Window.Current.CoreWindow;
            //var regId = (from r in RegionWindows
            //    where r.Value == win
            //    select r.Key).FirstOrDefault();
            //if (regId != null)
            //{
            //    var reg = RegionManager.RegionById(regId) as IHasStates;
            if (reg?.StateManager.PreviousStateExists ?? false)
            {
                onsuccess.InvokeAction();
                if (!(reg?.StateManager.GoToPreviousStateIsBlocked ?? false))
                {
                    await reg.StateManager.GoBackToPreviousState();
                }
                return;
            }
            //}

            //var gb = GoBackViewModel;
            //if (gb != null)
            //{

            //    var cancel = new CancelEventArgs();
            //    await GoBackViewModel.GoingBack(cancel);
            //    if (cancel.Cancel)
            //    {
            //        e.Handled = true;
            //        return;
            //    }
            //}
            //e.Handled = true;
            //if (Frame.CanGoBack)
            //{
            //    Frame.GoBack();
            //}
        }