write method
Is called when a value has to be encoded.
Implementation
@override
void write(writer, T obj) {
final _map = serialize(obj);
// write key first
writer.write(obj._key);
// exclude relationships
final keys = _map.keys.where((k) => !relationshipsFor().containsKey(k));
writer.writeByte(keys.length);
for (final k in keys) {
writer.write(k);
writer.write(_map[k]);
}
}