/**
   * 용언 + '음/기' + 조사(PTN_VMXMJ)
   *
   * @param o the analyzed output
   * @param candidates candidates
   * @throws MorphException throw exception
   */
  public static boolean analysisVMJ(AnalysisOutput o, List<AnalysisOutput> candidates)
      throws MorphException {

    String[] irrs = IrregularUtil.restoreIrregularVerb(o.getStem(), o.getElist().get(0));
    if (irrs != null) {
      o.setStem(irrs[0]);
      o.setElist(irrs[1], 0);
    }

    if (DictionaryUtil.getVerb(o.getStem()) != null) {
      o.setPatn(PatternConstants.PTN_VMJ);
      o.setPos(PatternConstants.POS_VERB);
      o.setScore(AnalysisOutput.SCORE_CORRECT);
      candidates.add(o);
      return true;
    }

    return false;
  }