/// <include file='InterfaceDocumentationComments.xml' path='doc/members/member[@name="M:MethodInvocationRemoting.IMethodInvocationRemoteReceiver.SendReturnValue(System.Object)"]/*'/>
 public void SendReturnValue(object returnValue)
 {
     try
     {
         string serializedReturnValue = serializer.SerializeReturnValue(returnValue);
         sender.Send(serializedReturnValue);
         metricsUtilities.End(new RemoteMethodReceiveTime());
         metricsUtilities.Increment(new RemoteMethodReceived());
         loggingUtilities.Log(this, LogLevel.Information, "Sent return value.");
     }
     catch (Exception e)
     {
         metricsUtilities.CancelBegin(new RemoteMethodReceiveTime());
         throw new Exception("Failed to send return value.", e);
     }
 }