public static void StackTransition(Activity activity, Android.Support.V4.App.FragmentTransaction fragmentTransaction, int frameResId, Android.Support.V4.App.Fragment fragment, string tags)
        {
            InitTransaction(fragmentTransaction);

            fragmentTransaction.Replace(frameResId, fragment);
            fragmentTransaction.AddToBackStack(tags);
            fragmentTransaction.Commit();
        }
		protected override void OnBeforeCommitReplaceFragment(FragmentManager fm, Android.Support.V4.App.FragmentTransaction ft, Fragment fragment)
		{
			base.OnBeforeCommitReplaceFragment(fm, ft, fragment);
			
			if (fragment is SessionDetailFragment) {
				ft.AddToBackStack(null);
			} else if (fragment is SessionsFragment) {
				fm.PopBackStack();
			}
			UpdateBreadCrumb();
		}
		protected override void OnBeforeCommitReplaceFragment(FragmentManager fm, Android.Support.V4.App.FragmentTransaction ft, Fragment fragment)
		{
			base.OnBeforeCommitReplaceFragment(fm, ft, fragment);
			
			if (fragment is SessionsFragment || fragment is VendorsFragment) {
				mPauseBackStackWatcher = true;
				ClearBackStack(fm);
				mPauseBackStackWatcher = false;
			}
			ft.AddToBackStack(null);
			UpdateBreadCrumb();
		}