public UpdatedContentEventArgs(EContentUpdateType i_ContentUpdateType = EContentUpdateType.None, ContentPage i_UpdatedContent = null, IBindableVM i_UpdatedVM = null)
 {
     UpdatedContent    = i_UpdatedContent;
     UpdatedVM         = i_UpdatedVM;
     ContentUpdateType = i_ContentUpdateType;
     if (i_UpdatedContent == null && isValidForPushRequest(i_ContentUpdateType))
     {
         throw new ArgumentException("Incorrect use of UpdatedContentEventArgs");
     }
 }
        internal void updateContentView(EAppTab i_AppTab, ContentPage i_UpdatedContent, IBindableVM i_UpdatedVM)
        {
            currentPageInContentView   = i_UpdatedContent;
            currentPageVMInContentView = i_UpdatedVM;
            OnContentViewUpdateEvent(null, new UpdatedContentEventArgs(EContentUpdateType.Push, i_UpdatedContent, i_UpdatedVM));

            if (i_AppTab != EAppTab.None)
            {
                resetContentViewStack();
                markSelectedTab(i_AppTab);
            }
        }