Have you tried setting the ContentDataInputUpdateStrategy to REPLACE_NEW? Im a bit rusty on this; here is the javadoc:
* There are two possible settings for the updateStrategy: <code>REPLACE_ALL</code> and <code>REPLACE_NEW</code>.
* <code>REPLACE_NEW</code> may be used, when only one or a few fields should to be changed. The provided values
* will be changed, and all others will be left unchanged.
* With <code>REPLACE_ALL</code>, every field in the new content must have a value, and will be set to whatever
* value is provided. This is the only way to remove the data for a field that has had a value that should be
* changed to a blank value or no value. If <code>REPLACE_NEW</code> is used, a field will no value will not be
* These strategies apply only to the data set in the <code>contentData</code> field.
* <code>publishFrom</code>, <code>publishTo</code>, <code>createNewVersion</code> and <code>setAsCurrentVersion</code>
* are metadata that are not affected by this update strategy.