// against the attributes. BUT this dictionary has all entries,
// even from the child (most likely NULL values)
// and the current implementation doesn't check against the case
// when the attribute isn't present in the first place.
// SO we add this check and live happily ever after
if (att != null && att._isNonUpdateable() && !dbSnapshot.objectForKey(key).equals(newRow.objectForKey(key))) {
if (att.isReadOnly()) {
throw new IllegalStateException("cannot update read-only key '" + key + "' on object:" + dbOp.object() + " of entity: " + entity.name() + " in databaseContext " + this);
}
throw new IllegalStateException("cannot update primary-key '" + key + "' from '" + dbSnapshot.objectForKey(key) + "' to '" + newRow.objectForKey(key) + "' on object:" + dbOp.object() + " of entity: " + entity.name() + " in databaseContext " + this);
}