code: @SuppressWarnings("unchecked")
    void resize(final int newSize) {
      final Object[] oldKeys = keys;
      final long[] oldValues = values;
      final short[] oldStates = states;
      keys = new Object[newSize];
      values = new long[newSize];
      states = new short[newSize];
      loadThreshold = (int) (newSize * LOAD_FACTOR);
      lgLength = Integer.numberOfTrailingZeros(newSize);
      numActive = 0;
      for (int i = 0; i < oldKeys.length; i++) {
        if (oldStates[i] > 0) {
          adjustOrPutValue((T) oldKeys[i], oldValues[i]);
        }
      }
    }
docs: assume newSize is power of 2