public List<String> getMorphInfo(String s) {
   ArrayList<String> result = new ArrayList<String>();
   int[] ints = decoderEncoder.encodeToArray(revertWord(s));
   int ruleId = findRuleId(ints);
   for (Heuristic h : rules[rulesId[ruleId]]) {
     result.add(
         h.transformWord(s).append("|").append(grammarInfo[h.getFormMorphInfo()]).toString());
   }
   return result;
 }