function applyDeactivateChanges(mFlexData) {
		const sDeactivateChangeType = "deactivateChanges";
		const aToBeDeactivatedIds = mFlexData.changes.map((oChange) => {
			if (oChange.changeType === sDeactivateChangeType) {
				return [oChange.fileName, ...oChange.content.changeIds];
			}
		})
		.flat()
		.filter(Boolean);

		// Filter all changes that should be deactivated (also already includes the id of the deactivate changes)
		if (aToBeDeactivatedIds.length) {
			StorageUtils.getAllFlexObjectNamespaces().forEach(function(vKey) {
				const aFlexItems = ObjectPath.get(vKey, mFlexData);
				if (aFlexItems.length) {
					ObjectPath.set(vKey, aFlexItems.filter((oFlexItem) => !aToBeDeactivatedIds.includes(oFlexItem.fileName)), mFlexData);
				}
			});
		}
		return mFlexData;
	}
Removes the changes that should be deactivated and the deactivate changes from the Flex Data.
This is the equivalent of deleting changes from the backend.
Example Scenario: When creating an annotation rename change, any control based rename changes should be removed.
But Developer changes can't be deleted from the backend, so they are deactivated.

@param {object} mFlexData - Flex Data as returned from the Storage
@returns {object} Flex Data without the deactivate and deactivated changes