public ArrayList<Problem> getNextProblems(Student student,
			ArrayList<Problem> problems) {
		HashMap<Integer, ArrayList<Problem>> priorityProblemMap = new HashMap<Integer, ArrayList<Problem>>();
		HashMap<Skill, Integer> curStuSkillMap = student.getSkillMap();
		int maxPriority = 0;
		for (Problem curPro : problems) {
			int curPriority = 0;
			HashSet<Skill> skillSet = curPro.getSkillSet();
			for (Skill curSkill : skillSet) {
				if (curStuSkillMap.containsKey(curSkill)
						&& curStuSkillMap.get(curSkill) < 95)
					curPriority += 1;
			}
			maxPriority = Math.max(maxPriority, curPriority);
			if (priorityProblemMap.containsKey(curPriority)) {
				priorityProblemMap.get(curPriority).add(curPro);
			} else {
				ArrayList<Problem> temp = new ArrayList<Problem>();
				temp.add(curPro);
				priorityProblemMap.put(curPriority, temp);
			}
		}
		return priorityProblemMap.get(maxPriority);
	}