protected List<Candidate> initCands(List<Integer> feats) {
   List<Candidate> cands = new ArrayList<Candidate>();
   for (Integer label : LabelLib.getCandidateLabels()) {
     if (labelToCandidate.containsKey(label)) labelToCandidate.get(label);
     cands.add(labelToCandidate.get(label));
   }
   return cands;
 }
  protected List<ScoreLabel> initScoreLabels(List<Integer> feats) throws Exception {
    List<ScoreLabel> scoreLabels = new ArrayList<ScoreLabel>();

    for (Integer label : LabelLib.getCandidateLabels()) {
      registerAllFeaturesForLabel(feats, label);
      ScoreLabel sc = new ScoreLabel(labelToCandidate.get(label));
      sc.setScore(sc.getC().getScore(feats));
      scoreLabels.add(sc);
    }
    return scoreLabels;
  }