code: @CheckForSigned
    private int _getReadIndex (final int key)
    {
      int idx = MapHelper.phiMix (key) & m_nMask;
      if (m_aKeys[idx] == key)
      {
        // we check FREE prior to this call
        return idx;
      }
      if (m_aKeys[idx] == FREE_KEY)
      {
        // end of chain already
        return -1;
      }
      final int startIdx = idx;
      while ((idx = _getNextIndex (idx)) != startIdx)
      {
        if (m_aKeys[idx] == FREE_KEY)
          return -1;
        if (m_aKeys[idx] == key)
          return idx;
      }
      return -1;
    }
docs: Find key position in the map.
  
  @param key
  Key to look for
  @return Key position or -1 if not found