public static void Serialize(StringBuilder stringBuilder, ClientRequest request) { stringBuilder.Append(ElementOpen); SerializeKeyValue(stringBuilder, KeyId, request.Id.ToString(), false, false); stringBuilder.Append(ElementSeparator); SerializeKeyValue(stringBuilder, KeyVerb, request.Verb, true, false); stringBuilder.Append(ElementSeparator); SerializeKeyValue(stringBuilder, KeyPath, request.Path, true, false); switch (request.Verb) { case VerbWrite: stringBuilder.Append(ElementSeparator); SerializeKeyValue(stringBuilder, KeyValue, request.Value.JsonValueText(), false, false); break; case VerbInvoke: stringBuilder.Append(ElementSeparator); SerializeKeyValuePrefix(stringBuilder, KeyArguments); Serialize(stringBuilder, request.Arguments); break; } stringBuilder.Append(ElementClose); }