if (hadProperty) {
if (value == Scriptable.NOT_FOUND)
source.recordPropertyRemoval(subObjectId, key);
else
source.recordPropertyChange(subObjectId, key, sourceValue, getAttributes(target, key));
}
else {
source.recordPropertyAddition(subObjectId, key, sourceValue, getAttributes(target, key));