code: public static List<Key> hierarchy(Key key) {
  		List<Key> hierarchy = new ArrayList<Key>();
  		hierarchy.add(key);
  		
  		while (key.getParent() != null) {
  			key = key.getParent();
  			hierarchy.add(key);
  		}
  		
  		Collections.reverse(hierarchy);
  		return hierarchy;
  	}
docs: Gets the {@code Key} hierarchy of the specified entity.
  The ancestor is the first entry.
  
  @param key The {@code Key} of the specified entity.
  @return The {@code Key} hierarchy of the specified entity.