More logic correction: RemoveOverlap should always create new tree. Add a