static public <K,V> K array_search(V needle, Map<K,V> haystack) {
		if (haystack == null) return null;
		if (needle == null) return null;
		// Get the key set of linkedHashMap
		K retObj = null;
		Set<K> keySet = haystack.keySet();
		// Get Iterator of keySet
		Iterator<K> iterator = keySet.iterator();
		while(iterator.hasNext())
		{
			K key = (K) iterator.next();
			// get() function uses key to retrieve value
			V value = haystack.get(key);
			if (value.equals(needle)) {
				retObj = key;
			}
		}
		return retObj;
	}