public TreePath getPath(String fullName) {
		if (fullName == null || fullName.length() == 0)
			return new TreePath(root);
		int pos = -1;
		int length = 2;
		while ((pos = fullName.indexOf('.', pos + 1)) != -1)
			length++;
		TreeElement[] path = new TreeElement[length];
		path[0] = root;
		int i = 0;
		pos = -1;
		next_component: while (pos < fullName.length()) {
			int start = pos + 1;
			pos = fullName.indexOf('.', start);
			if (pos == -1)
				pos = fullName.length();
			String component = fullName.substring(start, pos);
			TreeElement[] childs = getChildrens(path[i]);
			for (int j = 0; j < childs.length; j++) {
				if (childs[j].getName().equals(component)) {
					path[++i] = childs[j];
					continue next_component;
				}
			}
			return null;
		}
		return new TreePath(path);
	}