private static int[] getBestUsers(List<Map<Integer, Integer>> userMaps, int userID, int size) {
		int[] retVals = new int[size];
		Map<Integer, Integer> nSimMap = new LinkedHashMap<Integer, Integer>();
		if (userID < userMaps.size()) {
			Map<Integer, Integer> tags = userMaps.get(userID);
			for (int i = 0; i < userMaps.size(); i++) {
				if (i != userID) {
					Map<Integer, Integer> nTags = userMaps.get(i);
					int count = (int)getOccurences(tags, nTags);
					nSimMap.put(i, count);
				}
			}
			Map<Integer, Integer> sortedResults = new TreeMap<Integer, Integer>(new IntMapComparator(nSimMap));
			sortedResults.putAll(nSimMap);
			int j = 0;
			for (int id : sortedResults.keySet()) {
				if (j < size) {
					retVals[j++] = id;
				}
			}
			return retVals;
		}
		return null;
	}