Tree.removeItem versus Container.removeItem()

I have a Tree and would like to remove an item that may or may not have child items .

I noted that Tree.removeItem(Object itemId) exists, but no Tree.removeItemRecursively(Object itemId).

But I also noted that my HierarchicalContainer has both removeItem(Object itemId) and removeItemRecursively(Object itemId).

Is there a difference between Tree.removeItem() and HierarchicalContainer.removeItem()? That is, is there any difference when I remove an item from my Tree versus when I remove it from the Tree’s container?

I called my container.removeItemRecursively() and it appears to remove it along with any children, and the Tree appears to update correctly. But am I missing anything? I add the items through the container, so not sure why the Tree also allows me to removeItem() when it has no addItem().