public static void Save(IValueSink sink, NewValue value)
{
sink.EnterChoice((byte)value.Tag);
switch(value.Tag)
{
case Tags.ChangedBits:
Value<ChangedBitsWrapper>.Save(sink, (ChangedBitsWrapper)value);
break;
case Tags.ChangedValue:
Value<ChangedValueWrapper>.Save(sink, (ChangedValueWrapper)value);
break;
default:
throw new Exception();
}
sink.LeaveChoice();
}