anchor.diff:  
     // This method is called by [_rehashObjects] (see above).
     void _regenerateIndex() {
  -    // Because we use quadratic (actually triangle number) probing it is
  -    // important that the size is a power of two (otherwise we could fail to
  -    // find an empty slot).  This is described in Knuth's The Art of Computer
  -    // Programming Volume 2, Chapter 6.4, exercise 20 (solution in the
  -    // appendix, 2nd edition).
       final size =
           _roundUpToPowerOfTwo(max(_data.length, _HashBase._INITIAL_INDEX_SIZE));
       _index = _data.length == 0 ? _uninitializedIndex : new Uint32List(size);
  
positive.code:     final int hashPattern = _HashBase._hashPattern(fullHash, _hashMask, size);
      int i = _HashBase._firstProbe(fullHash, sizeMask);
      int pair = _index[i];
      int probeDistance = 1;
      while (pair != _HashBase._UNUSED_PAIR) {
        if (pair != _HashBase._DELETED_PAIR) {
          final int entry = hashPattern ^ pair;
  
negative.code:           return true;
          }
        }
        i = _HashBase._nextProbe(i, sizeMask);
        pair = _index[i];
      }
      return false;
  