docs: private static void compressSlidingFlavor(final CompressedState target, final CpcSketch source) {
  
      compressTheWindow(target, source);
      final PairTable srcPairTable = source.pairTable;
  
      final int numPairs = srcPairTable.getNumPairs();
  
      if (numPairs > 0) {
        final int[] pairs = PairTable.unwrappingGetItems(srcPairTable, numPairs);
  
        // Here we apply a complicated transformation to the column indices, which
        // changes the implied ordering of the pairs, so we must do it before sorting.
  
        final int pseudoPhase = determinePseudoPhase(source.lgK, source.numCoupons); // NB
        assert (pseudoPhase < 16);
        final byte[] permutation = columnPermutationsForEncoding[pseudoPhase];
  
        final int offset = source.windowOffset;
        assert ((offset > 0) && (offset <= 56));
  
        for (int i = 0; i < numPairs; i++) {
          final int rowCol = pairs[i];
          final int  row = rowCol >>> 6;
          int col = (rowCol & 63);
          // first rotate the columns into a canonical configuration:
          //   new = ((old - (offset+8)) + 64) mod 64
          col = ((col + 56) - offset) & 63;
          assert (col >= 0) && (col < 56);
          // then apply the permutation
          col = permutation[col];
          pairs[i] = (row << 6) | col;
        }
  
        introspectiveInsertionSort(pairs, 0, numPairs - 1);
        compressTheSurprisingValues(target, source, pairs, numPairs);
      }
    }