ItemData n = dataManager.getItemData(nodeData(), new QPathEntry(nd.getName(), 1), ItemType.NODE);
if (n != null && n.isNode())
{
// remove node with subtree
ItemDataRemoveVisitor remover = new ItemDataRemoveVisitor(dataManager, ancestorToSave);
n.accept(remover);
for (ItemState deleted : remover.getRemovedStates())
{
dataManager.delete(deleted.getData(), ancestorToSave);
}
}