docs: private void travel() {
  		for(int i=0;i<nodes.size();i++){
  			int l = getLevel(nodes.get(i));
  			if(l>hier.size()|| hier.get(l)==null){
  				Set set = new HashSet<Integer>();
  				hier.put(l,set);
  			}
  			hier.get(l).add(i);
  
  			if(edges.get(i)==null){
  				leafs.add(i);
  			}
  		}
  		depth = hier.size();
  		CalcPath();
  	}