/// <summary>
        /// Validate a wcf response <seealso cref="IResponseWithExecutionResult"/>
        /// </summary>
        /// <param name="response"></param>
        /// <exception cref="ServiceValidationException"></exception>
        public static void Validate(this IResponseWithExecutionResult response)
        {
            if (response.ExecutionResult != null && response.ExecutionResult.Status == ExecuteStatus.Failed)
            {
                var errors = new Dictionary <string, string>();

                foreach (var r in response.ExecutionResult.ExecuteMessages)
                {
                    var key = !string.IsNullOrEmpty(r.Help) ? r.Help : response.ExecutionResult.ExecuteMessages.IndexOf(r).ToString();

                    if (!errors.ContainsKey(key))
                    {
                        errors.Add(key, r.Text);
                    }
                }

                throw new ServiceValidationException(errors);
            }
        }
 public void ValidateResponse(IResponseWithExecutionResult response)
 {
     base.ValidateResponse(response);
 }