Details
Description
SegmentNodeState.compareAgainstBaseState fails to call NodeStateDiff.childNodeDeleted when for the same parent the only child is deleted and at the same time multiple new, different children are added.
Reason is that the current code for 'afterChildName == MANY_CHILD_NODES' and 'beforeChildName == ONE_CHILD_NODE' does not handle all cases: it assumes that 'after' contains the 'before' child and doesn't handle the situation where the 'before' child has gone.