public ProcedureCallStream(ProcedureCall call) { var services = Services.Instance; procedure = services.GetProcedureSignature(call); if (!procedure.HasReturnType) { throw new InvalidOperationException("Cannot create a stream for a procedure that does not return a value."); } arguments = services.GetArguments(procedure, call.Arguments); continuation = new StreamContinuation(call); }