int index(CharSequence k) {
      Object curr;
      final Object[] key = this.key;
      int pos;
      if ((curr = key[pos = HashCommon.mix(strategy.hashCode(k)) & mask]) == null) {
        return -1;
      }
      if (strategy.equals(k, (CharSequence)curr)) {
        return pos;
      }

      // There's always an unused entry.
      while (true) {
        if ((curr = key[pos = pos + 1 & mask]) == null) {
          return -1;
        }
        if (strategy.equals(k, (CharSequence)curr)) {
          return pos;
        }
      }
    }
int index(CharSequence k)