private static void HandleReachabilitySwitch(string newReachabilityStatusString)
 {
     if (newReachabilityStatusString != lastReachabilityStatusString)
     {
         if (lastReachabilityStatusString == "None")
         {
             // (B) Reporting Gained (2)
             Breadcrumbs.LeaveReachabilityBreadcrumb(
                 BreadcrumbReachabilityType.Gained,
                 newReachabilityStatusString);
         }
         else if (newReachabilityStatusString == "None")
         {
             // (B) Reporting Lost (3)
             Breadcrumbs.LeaveReachabilityBreadcrumb(
                 BreadcrumbReachabilityType.Lost,
                 newReachabilityStatusString);
         }
         else
         {
             // (C) Reporting Switch (4)
             Breadcrumbs.LeaveReachabilityBreadcrumb(
                 BreadcrumbReachabilityType.Switch,
                 lastReachabilityStatusString,
                 newReachabilityStatusString);
         };
         lastReachabilityStatusString = newReachabilityStatusString;
     }
     ;
 }
        internal static void HandleReachabilityUpDown(string newReachabilityStatusString)
        {
            // Checking IndexOf is zero allows "InternetAccess+WiFi" to also match.
            bool newInternetAccess  = (newReachabilityStatusString.IndexOf("InternetAccess") == 0);
            bool lastInternetAccess = (lastReachabilityStatusString.IndexOf("InternetAccess") == 0);

            if (newInternetAccess != lastInternetAccess)
            {
                // (A) Reporting Up or Down (0 or 1)
                if (newInternetAccess)
                {
                    Breadcrumbs.LeaveReachabilityBreadcrumb(
                        BreadcrumbReachabilityType.Up);
                }
                else
                {
                    Breadcrumbs.LeaveReachabilityBreadcrumb(
                        BreadcrumbReachabilityType.Down);
                };
            }
            ;
        }