(Found by darnok)
I have a 3 level hierarchy of SearchableComponents, GrandParent, Parent and Child.
GrandParent A
+- Parent AA
+- Parent AB
+- Child AB1
+- Child AB2
I save the GrandParent and read it back in from the index, and Children "migrate" from Parent AB to Parent AA.
GrandParent A
+- Parent AA
| |
| +- Child AB1 |
| |
| +- Child AB2 |
+- Parent AB
I've attached the test case source.