code: protected boolean splitSegments() {
  		boolean change = false;
  
  		work.reset();
  		for( int i = 0; i < splits.size-1; i++ ) {
  			int start = splits.data[i];
  			int end = splits.data[i+1];
  
  			int bestIndex = selectSplitBetween(start, end);
  			if( bestIndex >= 0 ) {
  				change |= true;
  				work.add(start);
  				work.add(bestIndex);
  			} else {
  				work.add(start);
  			}
  		}
  		work.add(splits.data[ splits.size-1] );
  
  		// swap the two lists
  		GrowQueue_I32 tmp = work;
  		work = splits;
  		splits = tmp;
  
  		return change;
  	}
docs: Splits a line in two if there is a paint that is too far away
  @return true for change