Removing this field will break deserialization of old class versions. Instead make it transient and move it to the bottom of the class and implement a readResolve method that performs a conversion from "username" to "by" if that is possible. Or skip the readResolve if conversion isn't possible.