public override IMessage Invoke(IMessage msg)
        {
            var methodCall = msg as IMethodCallMessage;
            var methodInfo = methodCall.MethodBase as MethodInfo;

            try
            {
                var result = _executor.Execute(methodInfo, methodCall.Args);
                return(new ReturnMessage(result, new object[0], 0, methodCall.LogicalCallContext, methodCall));
            }
            catch (Exception ex)
            {
                return(new ReturnMessage(ex, methodCall));
            }
        }
 protected override object Invoke(MethodInfo targetMethod, object[] args)
 {
     return(_executor.Execute(targetMethod, args));
 }