/// <summary>
        /// Signs the out.
        /// </summary>
        /// <param name="signOutMethod">The sign out method.</param>
        public void SignOut(DeviceSignOutMethod signOutMethod)
        {
            RecordInfo(DeviceWorkflowMarker.SignOutType, signOutMethod.ToString());
            RecordEvent(DeviceWorkflowMarker.DeviceSignOutBegin);

            switch (signOutMethod)
            {
            case DeviceSignOutMethod.PressSignOut:
                NavigateHome();
                PressSignOutButton();
                break;

            case DeviceSignOutMethod.Timeout:
                SignOutByTimeout();
                break;

            case DeviceSignOutMethod.PressResetHardKey:
                Reset();
                break;

            case DeviceSignOutMethod.PressResetSoftKey:
                SignOutByResetSoftKey();
                break;

            default:
                throw new WindjammerInvalidOperationException("Jedi Windjammer devices do not support " + EnumUtil.GetDescription(signOutMethod));
            }
            RecordEvent(DeviceWorkflowMarker.DeviceSignOutEnd);
        }
        /// <summary>
        /// Signs out of the device using the provided sign out method
        /// </summary>
        /// <param name="signOutMethod">The sign out method.</param>
        /// <exception cref="System.NotImplementedException"></exception>
        public void SignOut(DeviceSignOutMethod signOutMethod)
        {
            RecordInfo(DeviceWorkflowMarker.SignOutType, signOutMethod.ToString());
            switch (signOutMethod)
            {
            case DeviceSignOutMethod.PressSignOut:
                NavigateHome();
                RecordEvent(DeviceWorkflowMarker.DeviceSignOutBegin);
                PressSignOutButton();
                break;

            case DeviceSignOutMethod.Timeout:
                RecordEvent(DeviceWorkflowMarker.DeviceSignOutBegin);
                SignOutByTimeout();
                break;

            case DeviceSignOutMethod.DoNotSignOut:
                break;

            default:
                throw new DeviceInvalidOperationException("Jedi Omni devices do not support " + EnumUtil.GetDescription(signOutMethod));
            }
            RecordEvent(DeviceWorkflowMarker.DeviceSignOutEnd);
        }