public final int put(Object key, int value, boolean isReplace)
    {
        int prime = _prime;
        int hash = hashCode(key) % prime;
        // int hash = key.hashCode() % 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 NULL;
            }
            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 = hashCode ( 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 NULL ; } 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