private Collection<SkillLearn> getAvaliableList(Collection<SkillLearn> skillLearns, SkillEntry[] skills, int level) {
Map<Integer, SkillLearn> skillLearnMap = new TreeMap<Integer, SkillLearn>();
for(SkillLearn temp : skillLearns) {
if(temp.getMinLevel() <= level) {
boolean knownSkill = false;
for(int j = 0; j < skills.length && !knownSkill; j++) {
if(skills[j].getId() == temp.getId()) {
knownSkill = true;
if(skills[j].getLevel() == temp.getLevel() - 1) {
skillLearnMap.put(temp.getId(), temp);
}
}
}
if(!knownSkill && temp.getLevel() == 1) {
skillLearnMap.put(temp.getId(), temp);
}
}
}
return skillLearnMap.values();
}