public override void WritePayload(ISerializationContext context, IValueWriter writer)
{
if (writer.WriteBool (SignatureHashAlgorithms != null))
{
string[] algs = SignatureHashAlgorithms.ToArray();
writer.WriteInt32 (algs.Length);
for (int i = 0; i < algs.Length; ++i)
writer.WriteString (algs[i]);
}
Protocol[] protocols = Protocols.ToArray();
writer.WriteInt32 (protocols.Length);
for (int i = 0 ; i < protocols.Length; ++i)
protocols[i].Serialize (context, writer);
}