public String undesiredQueries(String first, String second, String country, String query) {
		String cheshireResult = null;
		String countryQuery = "";

		try
		{
			//**********************************************************************************************************
			// Undesired Searching Mechanisms
			// These should only be used if the above fail, and each one should taken individually.  If one
			// succeeds, the rest should NOT be done
			//
			// Also, these methods should have their confidence penalized heavily!  They are NOT guaranteed to return
			// what we want at ALL.

			// Try a ranking name query by keyword
			if (numResults == 0) {
				out.println("find name @ '" + first + "' and admin1 @ '" + second + "'" + countryQuery);
				cheshireResult = in.readLine();
				addResult(cheshireResult);
				if (GeoNamesHelper.debug) System.err.println("Query keyword Name w/ admin1.\t\tResults: " + this.numResults);
			}

			// Print out a message if DEBUG
			if (GeoNamesHelper.debug && numResults == 0) 
				System.err.println("== Switching to NGRAMS Searching ==");


			// Search Geonames name, admin, alt names for ngram matches.  Cheshire does NOT do post processing to clean up the
			// results, so these results must be post processed!
			if (numResults == 0) {
				out.println("find ngram_wadmin '" + query + "'");
				cheshireResult = in.readLine();
				addResult(cheshireResult);
				if (GeoNamesHelper.debug) System.err.println("Query ngrams w/admin on entire string.\tResults: " + this.numResults);
			}

			/**
			 * The below searches are some ways to find better ngrams matches.  These provided some help in getting better order
			 * out of Cheshire, which is why they were tried in a particular order.  However, with post-processing of the search
			 * above, these become unnecessary as post-processing produces better results than any of these individually.
			 */
			/* 
			// Next, try a query on just ngrams in the name/admin code plus ranking of exact name (for bad state names)
			if (numResults == 0) {
				out.println("find ngram '" + first + "' and exactname @ '" + first + "'" + countryQuery);
				cheshireResult = in.readLine();
				addResult(cheshireResult);
			}

			// Next, try a looking for matching ngrams
			if (numResults == 0) {
				out.println("find ngram '" + first + "' and name_wadmin @ '" + query + "'" + countryQuery);
				cheshireResult = in.readLine();
				addResult(cheshireResult);
			}

			// Next, try looking for just ngrams and keyword name
			if (numResults == 0) {
				out.println("find ngram '" + first + "' and name @ '" + first + "'" + countryQuery);
				cheshireResult = in.readLine();
				addResult(cheshireResult);
			}

			// Finally, just check ngrams
			if (numResults == 0) {
				out.println("find ngram_all_wadmin '" + query + "'" + countryQuery);
				cheshireResult = in.readLine();
				addResult(cheshireResult);
			}
			 */
			//**********************************************************************************************************

			if (results.size() > 0)
				return results.get(0);

			return null;	
		} catch (Exception e) {
			return null;
		}
	}