docs: protected boolean removeSegment(int segmentIndex) {
  		if ((this.values == null) || (segmentIndex < 0)
  				|| (segmentIndex >= this.values.length - 1)) {
  			return false;
  		}
  
  		if (this.values.length == 2) {
  			this.values = null;
  			this.size = 0;
  		} else {
  			final int count = this.values[segmentIndex + 1] - this.values[segmentIndex] + 1;
  			final int[] newTab = new int[this.values.length - 2];
  			System.arraycopy(this.values, 0, newTab, 0, segmentIndex);
  			System.arraycopy(this.values, segmentIndex + 2, newTab, segmentIndex, this.values.length - segmentIndex);
  			this.values = newTab;
  			this.size -= count;
  		}
  
  		return true;
  	}