private static void DetermineWorkloads()
        {
            BatteryStatus     batteryStatus   = PowerManager.BatteryStatus;
            int               remainingCharge = PowerManager.RemainingChargePercent;
            PowerSupplyStatus powerStatus     = PowerManager.PowerSupplyStatus;
            PowerSourceKind   powerSource     = PowerManager.PowerSourceKind;

            if ((powerSource == PowerSourceKind.DC &&
                 batteryStatus == BatteryStatus.Discharging &&
                 remainingCharge < 25) ||
                (powerSource == PowerSourceKind.AC &&
                 powerStatus == PowerSupplyStatus.Inadequate))
            {
                // The device is not in a good battery/power state,
                // so we should pause any non-critical work.
                PauseNonCriticalWork();
            }
            else if ((batteryStatus != BatteryStatus.Discharging && remainingCharge > 75) &&
                     powerStatus != PowerSupplyStatus.Inadequate)
            {
                // The device is in good battery/power state,
                // so let's kick of some high-power work.
                StartPowerIntensiveWork();
            }
        }
        private static void PowerManager_PowerSourceKindChanged(object sender, object e)
        {
            PowerSourceKind powerSource = PowerManager.PowerSourceKind;

            OutputMessage($"Power source kind changed: {powerSource}");
            DetermineWorkloads();
        }