Calculates a hash code based on the contents of the protobuf.
The hash may change when any field changes (recursively). Therefore, protobufs used as map keys shouldn't be changed.
@override int get hashCode => _fieldSet._hashCode;