private static void RunViewModelLifecycle(IMvxViewModel viewModel, IMvxBundle savedState,
                                           MvxViewModelRequest request)
 {
     try
     {
         var parameterValues = new MvxBundle(request.ParameterValues);
         viewModel.CallBundleMethods("Init", parameterValues);
         if (savedState != null)
         {
             viewModel.CallBundleMethods("ReloadState", savedState);
         }
         viewModel.Start();
     }
     catch (Exception exception)
     {
         throw exception.MvxWrap("Problem running viewModel lifecycle of type {0}", viewModel.GetType().Name);
     }
 }
 protected virtual void CallReloadStateMethods(IMvxViewModel viewModel, IMvxBundle savedState)
 {
     viewModel.CallBundleMethods("ReloadState", savedState);
 }
 protected virtual void CallCustomInitMethods(IMvxViewModel viewModel, IMvxBundle parameterValues)
 {
     viewModel.CallBundleMethods("Init", parameterValues);
 }
 private static void RunViewModelLifecycle(IMvxViewModel viewModel, IMvxBundle savedState,
     MvxViewModelRequest request)
 {
     try
     {
         if (request != null)
         {
             var parameterValues = new MvxBundle(request.ParameterValues);
             viewModel.CallBundleMethods("Init", parameterValues);
         }
         if (savedState != null)
         {
             viewModel.CallBundleMethods("ReloadState", savedState);
         }
         viewModel.Start();
     }
     catch (Exception exception)
     {
         throw exception.MvxWrap("Problem running viewModel lifecycle of type {0}", viewModel.GetType().Name);
     }
 }
 protected virtual void CallReloadStateMethods(IMvxViewModel viewModel, IMvxBundle savedState)
 {
     viewModel.CallBundleMethods("ReloadState", savedState);
 }
 protected virtual void CallCustomInitMethods(IMvxViewModel viewModel, IMvxBundle parameterValues)
 {
     viewModel.CallBundleMethods("Init", parameterValues);
 }