code: private Vector get_hierarchy() {
  	synchronized (this) {
  	    final Vector h = new Vector();
  	    final Iterator it = elements.iterator();
  	    while (it.hasNext()) {
  		final GroupElement e = (GroupElement) it.next();
  		if (e instanceof GroupDeviceElement) {
  		    h.add(e);
  		} else {
  		    h.add(((Group) e).get_hierarchy());
  		}
  	    }
  	    return h;
  	}
      }
docs: Returns the group's hierarchy