The fix is to write isValidParent to correctly determine whether the border child item really does need moving somewhere else within the container.

It's complicated by the extra Splitter Components being automagically inserted between Components, and the extra weirdness of placeholder Components which are what you see as the collapsed "representation". They are all in there, and isValidParent just doesn't do a good job right now.