code: public void put (int key, Object value)
      {
          int size = _keys.length, start = key % size, iidx = -1;
          for (int ii = 0; ii < size; ii++) {
              int idx = (ii + start) % size;
              if (_keys[idx] == key) {
                  _values[idx] = value;
                  return;
              } else if (iidx == -1 && _keys[idx] == -1) {
                  iidx = idx;
              }
          }
  
          if (iidx != -1) {
              _keys[iidx] = key;
              _values[iidx] = value;
              return;
          }
  
          // they booched it!
          String errmsg = "You fool! You've filled up your cheap int map! " +
              "[keys=" + StringUtil.toString(_keys) +
              ", values=" + StringUtil.toString(_values) + "]";
          throw new RuntimeException(errmsg);
      }
docs: Inserts the specified value into the map. <em>Note:</em> the key
  must be a positive integer.