code: protected void rehash(final int newN) {
  		int i = 0, pos;
  		final VisitState[] visitState = this.visitState;
  		final int newMask = newN - 1;
  		final VisitState[] newVisitState = new VisitState[newN];
  
  		for (int j = size; j-- != 0;) {
  			while (visitState[i] == null) i++;
  			VisitState v = visitState[i];
  			pos = (int)(MurmurHash3.hash(v.schemeAuthority) & newMask);
  			while (newVisitState[pos] != null) pos = (pos + 1) & newMask;
  			newVisitState[pos] = v;
  			i++;
  		}
  		n = newN;
  		mask = newMask;
  		maxFill = 3 * (n / 4);
  		this.visitState = newVisitState;
  	}
docs: Rehashes the state set to a new size.
  
  @param newN the new size.