docs: protected int selectSplitBetween(int indexStart, int indexEnd) {
  
  		Point2D_I32 a = contour.get(indexStart);
  		Point2D_I32 c = contour.get(indexEnd);
  
  		line.p.set(a.x,a.y);
  		line.slope.set(c.x-a.x,c.y-a.y);
  
  		int bestIndex = -1;
  		double bestDistanceSq = splitThresholdSq(contour.get(indexStart), contour.get(indexEnd));
  
  		// adjusting using 'minimumSideLengthPixel' to ensure it doesn't create a new line which is too short
  		int minLength = Math.max(1,minimumSideLengthPixel);// 1 is the minimum so that you don't split on the same corner
  		int length = indexEnd-indexStart-minLength;
  
  		// don't try splitting at the two end points
  		for( int i = minLength; i <= length; i++ ) {
  			int index = indexStart+i;
  			Point2D_I32 b = contour.get(index);
  			point2D.set(b.x,b.y);
  
  			double dist = Distance2D_F64.distanceSq(line, point2D);
  			if( dist >= bestDistanceSq ) {
  				bestDistanceSq = dist;
  				bestIndex = index;
  			}
  		}
  		return bestIndex;
  	}