public override void Serialize(BsonWriter bsonWriter, Type nominalType, object value, IBsonSerializationOptions options)
{
if (value == null)
{
bsonWriter.WriteNull();
return;
}
var serializer = new StringSerializer();
var nvc = (NameValueCollection) value;
bsonWriter.WriteStartArray();
foreach (var key in nvc.AllKeys)
{
foreach (var val in nvc.GetValues(key))
{
bsonWriter.WriteStartArray();
serializer.Serialize(bsonWriter, typeof (string), key, options);
serializer.Serialize(bsonWriter, typeof (string), val, options);
bsonWriter.WriteEndArray();
}
}
bsonWriter.WriteEndArray();
}