code: @SuppressWarnings("unchecked")
  	public TreeNode<T> findByPath(T... path) {
  		return findByPath(Arrays.asList(path));
  	}
docs: Finds a child TreeNode based on its path.
  <p>
  Searches the child nodes for the first element, then that
  node's children for the second element, etc.
  
  @throws IllegalArgumentException if no such node exists