code: public void setSearchPreFetchThresholds(List<Integer> thePreFetchThresholds) {
  		Validate.isTrue(thePreFetchThresholds.size() > 0, "thePreFetchThresholds must not be empty");
  		int last = 0;
  		for (Integer nextInt : thePreFetchThresholds) {
  			Validate.isTrue(nextInt > 0 || nextInt == -1, nextInt + " is not a valid prefetch threshold");
  			Validate.isTrue(nextInt != last, "Prefetch thresholds must be sequential");
  			Validate.isTrue(nextInt > last || nextInt == -1, "Prefetch thresholds must be sequential");
  			Validate.isTrue(last != -1, "Prefetch thresholds must be sequential");
  			last = nextInt;
  		}
  		mySearchPreFetchThresholds = thePreFetchThresholds;
  	}
docs: This setting sets the number of search results to prefetch. For example, if this list
  is set to [100, 1000, -1] then the server will initially load 100 results and not
  attempt to load more. If the user requests subsequent page(s) of results and goes
  past 100 results, the system will load the next 900 (up to the following threshold of 1000).
  The system will progressively work through these thresholds.
  
  <p>
  A threshold of -1 means to load all results. Note that if the final threshold is a
  number other than <code>-1</code>, the system will never prefetch more than the
  given number.
  </p>