/// <summary>
        /// Revert the settings of Oof message.
        /// </summary>
        private void RevertOofSettings()
        {
            #region Creates Setting request for three types of audiences
            SettingsRequest settingsRequest = CreateDefaultOofRequest();
            Request.SettingsOofSet settingsOofSet = new Request.SettingsOofSet();
            settingsOofSet.OofState = Request.OofState.Item0;
            settingsOofSet.OofStateSpecified = true;

            string bodyType = "TEXT";
            string enabled = "1";

            Request.OofMessage oofMessageWithNothing = CreateOofMessage(bodyType, enabled, null);
            oofMessageWithNothing.AppliesToInternal = string.Empty;
            oofMessageWithNothing.AppliesToExternalKnown = string.Empty;
            oofMessageWithNothing.AppliesToExternalUnknown = string.Empty;

            settingsOofSet.OofMessage = new Request.OofMessage[] { oofMessageWithNothing };
            settingsRequest.RequestData.Oof.Item = settingsOofSet;
            #endregion

            SettingsResponse settingsResponseAfterSet = this.CMDAdapter.Settings(settingsRequest);
            Site.Assert.AreEqual<string>("1", settingsResponseAfterSet.ResponseData.Oof.Status, "Server should response status 1, if set enabled successful");

            int counter = 0;
            int waitTime = int.Parse(Common.GetConfigurationPropertyValue("WaitTime", this.Site));
            int retryCount = int.Parse(Common.GetConfigurationPropertyValue("RetryCount", this.Site));

            Response.OofMessage internalOofMessage = null;
            Response.OofMessage externalKnownOofMessage = null;
            Response.OofMessage externalUnknownOofMessage = null;
            do
            {
                Thread.Sleep(waitTime);
                SettingsResponse settingsResponse = this.GetOofSettings();
                internalOofMessage = GetAppliesToInternalOofMessage(settingsResponse);
                externalKnownOofMessage = GetAppliesToExternalKnownOofMessage(settingsResponse);
                externalUnknownOofMessage = GetAppliesToExternalUnknownOofMessage(settingsResponse);

                counter++;
            }
            while (counter < retryCount &&
                (internalOofMessage.AppliesToInternal == null ||
                internalOofMessage.Enabled != "0" ||
                externalKnownOofMessage.AppliesToExternalKnown == null ||
                externalKnownOofMessage.Enabled != "0" ||
                externalUnknownOofMessage.AppliesToExternalUnknown == null ||
                externalUnknownOofMessage.Enabled != "0"));

            Site.Assert.AreEqual<string>("0", internalOofMessage.Enabled, "The oof message settings for internal users should be disenabled. Retry count: {0}", counter);
            Site.Assert.AreEqual<string>("0", externalKnownOofMessage.Enabled, "The oof message settings for known external users should be disenabled. Retry count: {0}", counter);
        }