docs: public int seekKeyExact(long nativeValue)
      {
          if (positionCount == 0) {
              return -1;
          }
  
          mapBlock.ensureHashTableLoaded();
          int[] hashTable = mapBlock.getHashTables().get().get();
  
          long hashCode;
          try {
              hashCode = (long) mapBlock.keyNativeHashCode.invokeExact(nativeValue);
          }
          catch (Throwable throwable) {
              throw handleThrowable(throwable);
          }
  
          int hashTableOffset = offset / 2 * HASH_MULTIPLIER;
          int hashTableSize = positionCount / 2 * HASH_MULTIPLIER;
          int position = computePosition(hashCode, hashTableSize);
          while (true) {
              int keyPosition = hashTable[hashTableOffset + position];
              if (keyPosition == -1) {
                  return -1;
              }
              Boolean match;
              try {
                  // assuming maps with indeterminate keys are not supported
                  match = (Boolean) mapBlock.keyBlockNativeEquals.invokeExact(mapBlock.getRawKeyBlock(), offset / 2 + keyPosition, nativeValue);
              }
              catch (Throwable throwable) {
                  throw handleThrowable(throwable);
              }
              checkNotIndeterminate(match);
              if (match) {
                  return keyPosition * 2 + 1;
              }
              position++;
              if (position == hashTableSize) {
                  position = 0;
              }
          }
      }