public Tree<T> cloneTree() {
		final Tree<T> result = ObjectUtil.clone(this);
		result.setChildren(cloneChildren());
		return result;
	}
@Test
	public void cloneTreeTest() {
		final Tree<String> tree = TreeUtil.buildSingle(nodeList, "0");
		final Tree<String> cloneTree = tree.cloneTree();

		List<String> ids = new ArrayList<>();
		cloneTree.walk((tr) -> ids.add(tr.getId()));

		assertEquals(7, ids.size());
	}