Not sure but here is some more code I wrote.... the other day. treeNode.removeEntry(); Enumeration allChildren = treeNode.children(); while (allChildren.hasMoreElements()) { DataStoreMutableTreeNode child = (DataStoreMutableTreeNode) allChildren.nextElement(); DataStoreMutableTreeNode.freeInstance(child); }if (countFree FREE_POOL_SIZE) { freeStack[countFree++] = treeNode; }