private static boolean dfs(Node2 currentNode, Node2 end) {
		currentNode.setSearched(true);
		if (currentNode.equals(end)) {
			path.add(currentNode);
			return true;
		} else {
			if (currentNode.getChildren() != null) {
				for (Node2 child : currentNode.getChildren()) {
					if (!child.isSearched()) {
						if (dfs(child, end)) {
							path.add(currentNode);
							return true;
						}
					}
				}
			}
		}
		return false;
	}