code: private int findIndex(Object key, Object[] array) {
          int length = array.length;
          int index = getModuloHash(key, length);
          int last = (index + length - 1) % length;
          while (index != last) {
              if (array[index] == key || array[index] == null) {
                  /*
                   * Found the key, or the next empty spot (which means key is not
                   * in the table)
                   */
                  break;
              }
              index = (index + 1) % length;
          }
          return index;
      }
docs: Returns the index where the key is found at, or the index of the next
  empty spot if the key is not found in this table.