Don't run begin/endUpdate if there is nothing to do
Don't run begin/endUpdate if there is nothing to do
Implement isEqual: