code: public GeometryIndex addChildren(GeometryIndex index, GeometryIndexType type, int... values) {
  		if (index == null) {
  			return create(type, values);
  		}
  		if (getType(index) != GeometryIndexType.TYPE_GEOMETRY) {
  			throw new IllegalArgumentException("Can only add children to an index of type geometry.");
  		}
  		GeometryIndex clone = new GeometryIndex(index);
  
  		GeometryIndex deepestChild = clone;
  		while (deepestChild.hasChild()) {
  			deepestChild = deepestChild.getChild();
  		}
  		deepestChild.setChild(create(type, values));
  		return clone;
  	}
docs: Given a certain geometry index, add more levels to it (This method will not change the underlying geometry !).
  
  @param index
  The index to start out from.
  @param type
  Add more levels to it, where the deepest level should be of this type.
  @param values
  A list of integer values that determine the indices on each level in the index.
  @return The recursive geometry index resulting from adding the given parameters to the given parent index.