/// <summary>
 /// Creates a new <see cref="TransparentProxyMethodReturn"/> object that contains an
 /// exception thrown by the target.
 /// </summary>
 /// <param name="ex">Exception that was thrown.</param>
 /// <param name="callMessage">The original call message that invoked the method.</param>
 /// <param name="invocationContext">Invocation context dictionary passed into the call.</param>
 public TransparentProxyMethodReturn(Exception ex, IMethodCallMessage callMessage, IDictionary invocationContext)
 {
     this.callMessage       = callMessage;
     this.invocationContext = invocationContext;
     this.exception         = ex;
     this.arguments         = new object[0];
     this.outputs           = new TransparentProxyOutputParameterCollection(callMessage, arguments);
 }
 /// <summary>
 /// Creates a new <see cref="TransparentProxyMethodReturn"/> object that contains a
 /// return value.
 /// </summary>
 /// <param name="callMessage">The original call message that invoked the method.</param>
 /// <param name="returnValue">Return value from the method.</param>
 /// <param name="arguments">Collections of arguments passed to the method (including the new
 /// values of any out params).</param>
 /// <param name="invocationContext">Invocation context dictionary passed into the call.</param>
 public TransparentProxyMethodReturn(IMethodCallMessage callMessage, object returnValue, object[] arguments, IDictionary invocationContext)
 {
     this.callMessage       = callMessage;
     this.invocationContext = invocationContext;
     this.arguments         = arguments;
     this.returnValue       = returnValue;
     this.outputs           = new TransparentProxyOutputParameterCollection(callMessage, arguments);
 }