code: protected <L extends ListWrapper<T>, T extends SearchEntity> L handleSearchForEntities(Class<T> type, String query, Set<String> fieldSet,
                                                                                           SearchParams params) {
          if(query.length() < MAX_URL_LENGTH ){
              Map<String, String> uriVariables = restUriVariablesFactory.getUriVariablesForSearch(BullhornEntityInfo.getTypesRestEntityName(type),
                  query, fieldSet, params);
  
              String url = restUrlFactory.assembleSearchUrl(params);
              if (Candidate.class == type) {
                  url = url + "&useV2=true";
              }
  
              return (L) this.performGetRequest(url, BullhornEntityInfo.getTypesListWrapperType(type), uriVariables);
          }
          return handleSearchForEntitiesWithPost(type,query,fieldSet,params);
  
      }
docs: Makes the "search" api call
  <p>
  HTTP Method: GET
  
  @param type     the BullhornEntity type
  @param query    Lucene query string
  @param fieldSet the fields to return, if null or emtpy will default to "*" all
  @param params   optional SearchParams .
  @return a LinsWrapper containing the records plus some additional information