/// <summary>
        /// The Execute.
        /// </summary>
        /// <param name="request">The request<see cref="IRestRequest"/>.</param>
        /// <returns>The <see cref="IRestResponse"/>.</returns>
        public override IRestResponse Execute(IRestRequest request)
        {
            InjectAccessToken(request);
            IRestResponse response = DecoratedClient.Execute(request);

            if (response.StatusCode == HttpStatusCode.Unauthorized)
            {
                RefreshAccessToken();
                InjectAccessToken(request);
                response = DecoratedClient.Execute(request);
            }

            return(response);
        }