code: public MapComposedElement invertPointsIn(int groupIndex) {
  		if (this.pointCoordinates == null) {
  			throw new IndexOutOfBoundsException();
  		}
  		final int grpCount = getGroupCount();
  		if (groupIndex < 0) {
  			throw new IndexOutOfBoundsException(groupIndex + "<0"); //$NON-NLS-1$
  		}
  		if (groupIndex > grpCount) {
  			throw new IndexOutOfBoundsException(groupIndex + ">" + grpCount); //$NON-NLS-1$
  		}
  
  		final int count = this.getPointCountInGroup(groupIndex);
  		final int first = firstInGroup(groupIndex);
  		double[] tmp = new double[count * 2];
  		for (int i = 0; i < count * 2; i += 2) {
  			tmp[i] = this.pointCoordinates[first + 2 * count - 1 - (i + 1)];
  			tmp[i + 1] = this.pointCoordinates[first + 2 * count - 1  - i];
  		}
  		System.arraycopy(tmp, 0, this.pointCoordinates, first, tmp.length);
  		tmp = null;
  		return this;
  	}
docs: invert the points coordinates of this element on the groupIndex in argument.
  
  <p>This method is reversible:
  {@code this.invertPointsIn(sameIndex) == this.invertPointsIn(sameIndex).invertPointsIn(sameIndex)}
  
  <p>NOTE: invert each parts with {@link MapComposedElement#invertPointsIn(int)}
  does'nt produce the same result as {@link MapComposedElement#invert()}.
  
  <p>This method invert points coordinates only.
  this.invertPointsIn(0 .. indexCount) != this.invert()
  
  @param groupIndex int element on which invert points
  @return this