/// <summary>
    /// Executes this request.
    /// </summary>
    /// <returns>Service response.</returns>
    GetUserOofSettingsResponse Execute()
    {
        GetUserOofSettingsResponse serviceResponse = (GetUserOofSettingsResponse)this.InternalExecute();

        serviceResponse.ThrowIfNecessary();

        return(serviceResponse);
    }
    object ParseResponse(EwsServiceXmlReader reader)
    {
        GetUserOofSettingsResponse serviceResponse = new GetUserOofSettingsResponse();

        serviceResponse.LoadFromXml(reader, XmlElementNames.ResponseMessage);

        if (serviceResponse.ErrorCode == ServiceError.NoError)
        {
            reader.ReadStartElement(XmlNamespace.Types, XmlElementNames.OofSettings);

            serviceResponse.OofSettings = new OofSettings();
            serviceResponse.OofSettings.LoadFromXml(reader, reader.LocalName);

            serviceResponse.OofSettings.AllowExternalOof = reader.ReadElementValue <OofExternalAudience>(
                XmlNamespace.Messages,
                XmlElementNames.AllowExternalOof);
        }

        return(serviceResponse);
    }