private void rehash(int newLevel) {
		WeakReference<K>[] oldKeys = keys;
		V[] oldValues = values;
		reset(newLevel);
		for (int i = 0; i < oldKeys.length; i++) {
			WeakReference<K> k = oldKeys[i];
			if (k != null && k != DELETED_KEY) {
				K key = k.get();
				if (key != null) {
					put(key, oldValues[i]);
				}
			}
		}
	}