Map<String, dynamic>? toJsonPatchOperation() { if (!changesValue) return null; return { 'op': kind.name, 'path': jsonPointer, 'value': JsonValue.clone(value), }; }