private static boolean isAnagram(String s1, String s2) {
		if (s1 == null || s2 == null || s1.length() != s2.length()) {
			return false;
		}
		HashMap<Character, Integer> map1 = new HashMap<Character, Integer>();
		HashMap<Character, Integer> map2 = new HashMap<Character, Integer>();
		for (int i = 0; i < s1.length(); i++) {
			Integer value1 = map1.get(s1.charAt(i));
			if (value1 == null) {
				map1.put(s1.charAt(i), 1);
			}
			else {
				map1.put(s1.charAt(i), value1 + 1);
			}
			Integer value2 = map2.get(s2.charAt(i));
			if (value2 == null) {
				map2.put(s2.charAt(i), 1);
			}
			else {
				map2.put(s2.charAt(i), value2 + 1);
			}
		}
		for (Entry<Character, Integer> entry : map1.entrySet()) {
			Integer value2 = map2.get(entry.getKey());
			if (value2 == null || value2 != entry.getValue()) {
				System.out.println("value1: " + entry.getValue() + ", value2: " + value2);
				return false;
			}
		}
		return true;
	}