code: private int firstInGroup(int groupIndex) {
  		if (this.pointCoordinates == null) {
  			throw new IndexOutOfBoundsException();
  		}
  		final int count = getGroupCount();
  		if (groupIndex < 0) {
  			throw new IndexOutOfBoundsException(groupIndex + "<0"); //$NON-NLS-1$
  		}
  		if (groupIndex >= count) {
  			throw new IndexOutOfBoundsException(groupIndex + ">=" + count); //$NON-NLS-1$
  		}
  		final int g = groupIndex - 1;
  		if (g >= 0 && this.partIndexes != null && g < this.partIndexes.length) {
  			return this.partIndexes[g];
  		}
  		return 0;
  	}
docs: Replies the starting index of a point in a group.
  
  @param groupIndex is the index of the desired group
  @return the index of the point in the list of points.
  This value is between <code>0</code> and <code>this.pointCoordinates.length()-2</code>
  @throws IndexOutOfBoundsException in case of error.