code: public boolean add(final VisitState v) {
  		// The starting point.
  		int pos = (int)(MurmurHash3.hash(v.schemeAuthority) & mask);
  		// There's always an unused entry.
  		while (visitState[pos] != null) {
  			if (Arrays.equals(visitState[pos].schemeAuthority, v.schemeAuthority)) return false;
  			pos = (pos + 1) & mask;
  		}
  		visitState[pos] = v;
  		if (++size >= maxFill && n < (1 << 30)) rehash(2 * n);
  		return true;
  	}
docs: Adds a visit state to the set, if necessary.
  
  @param v the state to be added.
  @return true if the state set changed as a result of this operation.