About to change to new ImmutableList...
Changed ImmutableListImpl and Observer set stuff to share immutability code!  Can I do the same for parent data?
Just realised I can change the target in around advice.  Now I don't need to lock, just create a new ImmutableList and set that as the target!
About to replace ImmutableList etc..
Success!  New immutables are in place.  Still need to get ride of ReplaceOnMutate, or do something clever with it...