docs: static final int find(final int[] array, final int lgArrInts, final int coupon) {
      final int arrMask = array.length - 1;
      int probe = coupon & arrMask;
      final int loopIndex = probe;
      do {
        final int couponAtIdx = array[probe];
        if (couponAtIdx == EMPTY) {
          return ~probe; //empty
        }
        else if (coupon == couponAtIdx) {
          return probe; //duplicate
        }
        final int stride = ((coupon & KEY_MASK_26) >>> lgArrInts) | 1;
        probe = (probe + stride) & arrMask;
      } while (probe != loopIndex);
      throw new SketchesArgumentException("Key not found and no empty slots!");
    }