public final int put(Object key,int value,boolean isReplace){
  int prime=_prime;
  int hash=Math.abs(System.identityHashCode(key) % prime);
  Object[] keys=_keys;
  while (true) {
    Object testKey=keys[hash];
    if (testKey == null) {
      keys[hash]=key;
      _values[hash]=value;
      _size++;
      if (keys.length <= 4 * _size)       resize(4 * keys.length);
      return value;
    }
 else     if (key != testKey) {
      hash=(hash + 1) % prime;
      continue;
    }
 else     if (isReplace) {
      int old=_values[hash];
      _values[hash]=value;
      return old;
    }
 else {
      return _values[hash];
    }
  }
}

public final int put ( Object key , int value , boolean isReplace ) { int prime = _prime ; int hash = Math . abs ( System . identityHashCode ( key ) % prime ) ; Object [ ] keys = _keys ; while ( true ) { Object testKey = keys [ hash ] ; if ( testKey == null ) { keys [ hash ] = key ; _values [ hash ] = value ; _size ++ ; if ( keys . length <= 4 * _size ) resize ( 4 * keys . length ) ; return value ; } else if ( key != testKey ) { hash = ( hash + 1 ) % prime ; continue ; } else if ( isReplace ) { int old = _values [ hash ] ; _values [ hash ] = value ; return old ; } else { return _values [ hash ] ; } } }
puts a new value in the property table with the appropriate flags
