public override Task <object> ExecuteAsync(CommandHandlerContext context, CancellationToken cancellationToken)
        {
            if (context == null)
            {
                throw Error.ArgumentNull("context");
            }

            return(this.traceWriter.TraceBeginEndAsync(
                       context.Request,
                       TraceCategories.HandlersCategory,
                       TraceLevel.Info,
                       this.innerDescriptor.GetType().Name,
                       ExecuteAsyncMethodName,
                       beginTrace: null,
                       execute: () => this.innerDescriptor.ExecuteAsync(context, cancellationToken),
                       endTrace: (tr, value) =>
            {
                tr.Message = Error.Format("Handler returnd '{0}'.", FormattingUtilities.ValueToString(value, CultureInfo.CurrentCulture));
            },
                       errorTrace: null));
        }