Why is UObject::Serialize() not const?

Hello,
maybe this is a silly question, but why is UObject::Serialize not a const function? The thing is that I need to use it in a const method (or do some heavy changes), but it makes no sense to me. Why would you need to modify the state of an object while Serializing it?

Thanks

because it handles both reading an writing .