as we are in insert here, the node does not yet exist. i wonder why we ever try to remove a property in that case. not creating it should be enough, so we could reduce the check to 

    if (null === $fieldValue) {
        continue;
    }

or am i missing something here?