private void resize(int newSize)
  {
    long []newKeys = new long[newSize];
    Object []newValues = new Object[newSize];
    byte []newFlags = new byte[newSize];

    for (int i = 0; i < newSize; i++)
      newKeys[i] = DEAD_KEY;

    mask = newKeys.length - 1;

    for (int i = 0; i < keys.length; i++) {
      if (keys[i] == DEAD_KEY || (flags[i] & DELETED) != 0)
        continue;

      int hash = (int) keys[i] & mask;

      while (true) {
        if (newKeys[hash] == DEAD_KEY) {
          newKeys[hash] = keys[i];
          newValues[hash] = values[i];
          newFlags[hash] = flags[i];
          break;
        }
        hash = (hash + 1) & mask;
      }
    }

    keys = newKeys;
    values = newValues;
    flags = newFlags;
  }
private void resize ( int newSize ) { long [ ] newKeys = new long [ newSize ] ; Object [ ] newValues = new Object [ newSize ] ; byte [ ] newFlags = new byte [ newSize ] ; for ( int i = 0 ; i < newSize ; i ++ ) newKeys [ i ] = DEAD_KEY ; mask = newKeys . length - 1 ; for ( int i = 0 ; i < keys . length ; i ++ ) { if ( keys [ i ] == DEAD_KEY || ( flags [ i ] & DELETED ) != 0 ) continue ; int hash = ( int ) keys [ i ] & mask ; while ( true ) { if ( newKeys [ hash ] == DEAD_KEY ) { newKeys [ hash ] = keys [ i ] ; newValues [ hash ] = values [ i ] ; newFlags [ hash ] = flags [ i ] ; break ; } hash = ( hash + 1 ) & mask ; } } keys = newKeys ; values = newValues ; flags = newFlags ; }
Expands the property table