public String categorize(String s)
	{
		String t = s.toUpperCase();
		// the array to store the number of keywords in each category hash
		// table which are also contained in the given string s.
		int[] results = new int[categoryHashsets.size()];
		for(int i = 0; i < results.length; i++)
			results[i] = 0 ;
		// see if the string to be categorized contains any keyword in the 
		// the category keywords hash tables contained in the categoryHashsets
		for(int i = 0; i < categoryHashsets.size(); i++){
			for(Object word : categoryHashsets.get(i)){
				if(StringUtils.contains(t, ((String) word).toUpperCase())){
					results[i]++;
				}
					
			}
		}
		int i = 0;
		// if no keyword in the current category keywords hash tables matches,
		// return "Other Crime Reports";
		while(results[i] <= 0){
			i++;
			if(i == results.length)
				return "Other Crime Reports";
		}
		// return the first category which has keywords mentioned in the given string s
		return this.categories.get(i);
		
		
	}