private void delete(Geometry geom, GeometryIndex index) throws GeometryIndexNotFoundException {
		if (index.hasChild() && geom.getGeometries() != null && geom.getGeometries().length > index.getValue()) {
			delete(geom.getGeometries()[index.getValue()], index.getChild());
		} else if (index.getType() == GeometryIndexType.TYPE_VERTEX) {
			deleteVertex(geom, index);
		} else {
			throw new GeometryIndexNotFoundException("Could not match index with given geometry");
		}
	}
private void delete ( Geometry geom , GeometryIndex index ) throws GeometryIndexNotFoundException { if ( index . hasChild ( ) && geom . getGeometries ( ) != null && geom . getGeometries ( ) . length > index . getValue ( ) ) { delete ( geom . getGeometries ( ) [ index . getValue ( ) ] , index . getChild ( ) ) ; } else if ( index . getType ( ) == GeometryIndexType . TYPE_VERTEX ) { deleteVertex ( geom , index ) ; } else { throw new GeometryIndexNotFoundException ( "Could not match index with given geometry" ) ; } }
------------------------------------------------------------------------