code: private String buildFacetString(List<String> facetNames, List<String>facetValues ) {
  		
  		StringBuilder builder = new StringBuilder();
  
  		if( facetNames != null && facetValues != null ) 
  		{
  			int pairsCount = -1;
  			if( facetNames.size() != facetValues.size() ) {
  				pairsCount = facetNames.size() > facetValues.size() ? facetValues.size() : facetNames.size();
  				log.warn( "facetNames and facetValues lists were of different sizes, your query may not be accurate" );
  			} else {
  				pairsCount = facetNames.size();
  			}
  			for( int i=0; i < pairsCount; i++ ) {
  				try {
  					builder.append( "&facets[").append( facetNames.get( i )).append( "][]=" )
  						.append( URLEncoder.encode( facetValues.get( i ), "UTF-8" ));
  				} catch (UnsupportedEncodingException ignore) {
  				}
  			}
  
  		} else {
  			log.error( "facetNames or facetValues was null, you are defaulting to a regular query using no facet matching" );
  		}
  
  		return builder.toString();
  	}
docs: Takes in a list of names/values and pairs them up to make a good url.  if the list
  sizes don't match up does the best it can by matching up the smallest number of pairs.
  
  @param facetNames
  @param facetValues
  @return