Yeah it does work because of the check I added in core. I also added a check so you can't set the parent to itself to prevent it happening again.