code: public SearchResults query(WaybackRequest wbRequest) throws ResourceIndexNotAvailableException, ResourceNotInArchiveException, BadQueryException, AccessControlException {
  		while(true) {
  			RangeMember best = findBestMember();
  			if(best == null) {
  				throw new ResourceIndexNotAvailableException("Unable to find active range for request.");
  			}
  			best.noteConnectionStart();
  			SearchResults results;
  			try {
  
  				results = best.query(wbRequest);
  				best.noteConnectionSuccess();
  				return results;
  
  			} catch (ResourceIndexNotAvailableException e) {
  
  				best.noteConnectionFailure();
  				
  			} catch (ResourceNotInArchiveException e1) {
  				
  				// need to catch and rethrow so we do accounting on 
  				// activeConnections. ResourceNotInArchive is still a 
  				// "connection success".
  
  				best.noteConnectionSuccess();
  				throw e1;
  			}
  		}
  	}
docs: /* (non-Javadoc)
  @see org.archive.wayback.ResourceIndex#query(org.archive.wayback.core.WaybackRequest)