While checking for changes in nested property, even a change from a null value to an actual value is a valid change. Refer Client.java which checks for a change in savingsProductId and then updates the SavingsProduct in ClientWritePlatformService after checking for the change. The approach here should be identical (or better :) )