code: static public FSEntry findDescendant(FSEntry root, String path) throws Exception {
  		if( null == root ) {
  			throw new Exception("root parameter should not be null");
  		}
  		
  		List<String> pathFrags = interpretPath(path);
  		
  		// Iterate through path fragments, navigating through
  		// the offered children
  		FSEntry seekedEntry = root;
  		for(String pathFrag : pathFrags){
  			FSEntry nextEntry = null;
  			List<FSEntry> children = seekedEntry.getChildren();
  			for(FSEntry child : children){
  				if( pathFrag.equals(child.getName()) ){
  					// Found this one
  					nextEntry = child;
  					break;
  				}
  			}
  			
  			// If we have not found the next child, then it does not exist
  			if( null == nextEntry ){
  				return null;
  			}
  			
  			seekedEntry = nextEntry;
  		}
  		
  		return seekedEntry;
  	}
docs: Traverses a directory structure designated by root and looks
  for a descendant with the provided path. If found, the supporting
  instance of FSEntry for the path is returned. If not found, null
  is returned.
  @param root Root of directory structure where the descendant is searched
  @param path Path of the seeked descendant
  @return The FSEntry for the descendant, or null if not found
  @throws Exception If one of the parameters is invalid