public static T End(IAsyncResult result)
        {
            TypedAsyncResult <T> typedResult = AsyncResult.End <TypedAsyncResult <T> >(result);

            return(typedResult.Data);
        }