Pierce T. Wetter III
I thought I'd expand on that last sentence because localInstanceOfObject seems to confuse multiple people.
Then when the fault fires in ec3, it goes up one level, pulls the objects and changes from ec1 (committed or not) and returns it to you in ec3. But that only works because ec1 is common to both ec2 and ec3. In other word, localInstanceOfObject() returns an object from "one level above" the source editing context which is not necessarily a copy of the object you want, it depends on how the destination context lies with respect to the source context.