void ReadTranslateTextResponse(IAsyncResult asyncResult)
        {
            TranslateTextData translationData = null;
            HttpWebRequest    request         = null;
            HttpWebResponse   response        = null;

            try
            {
                translationData = asyncResult.AsyncState as TranslateTextData;
                request         = translationData.translationWebRequest as HttpWebRequest;
                response        = request.EndGetResponse(asyncResult) as HttpWebResponse;

                using (Stream streamResponse = response.GetResponseStream())
                {
                    string translatedValue = string.Empty;
                    using (XmlReader reader = XmlReader.Create(streamResponse))
                    {
                        reader.Read();
                        reader.Read();
                        translatedValue = reader.Value;
                    }

                    Debug.Log("Successfully translated key:" + translationData.dictionaryKey + "!");
                    if (translationData.eventHandler != null)
                    {
                        translationData.eventHandler(true, translationData.dictionaryKey, translatedValue);
                    }
                    translationData.eventHandler = null;
                }
            }
            catch (WebException exception)
            {
                Debug.LogError("Failed to translate text! error: " + exception.Message);
                using (Stream streamResponse = exception.Response.GetResponseStream())
                {
                    using (StreamReader reader = new StreamReader(streamResponse))
                    {
                        Debug.LogError(reader.ReadToEnd());
                    }
                }
                if (translationData.eventHandler != null)
                {
                    translationData.eventHandler(false, string.Empty, string.Empty);
                }
                translationData.eventHandler = null;
            }
            finally
            {
                if (response != null)
                {
                    response.Close();
                    response = null;
                }
            }
        }