function TestPlan.visitAllNodes(U,B,K,o)K=K or U o=o or 0 for K,m in ipairs(K.children)do B(m,o)U:visitAllNodes(B,m,o+1)end end

function TestPlan:visitAllNodes(callback, root, level)
	root = root or self
	level = level or 0

	for _, child in ipairs(root.children) do
		callback(child, level)

		self:visitAllNodes(callback, child, level + 1)
	end
end
