public TreeNode getOrCreateChild(String path[]) { TreeNode node = this; TreeNode child = null; for (int i = 0; i < path.length; i++) { child = node.getChild(path[i]); if (child == null) { child = new TreeNode(node, path[i]); node.addChild(child); } node = child; } return node; }