private static void irregularEnding(List<String[]> results, String stem, String ending) {
    if(ending.startsWith("ㅆ")) return;
    
    char feCh = ending.charAt(0);
    char ls = stem.charAt(stem.length()-1);

    if(feCh=='러'&&ls=='르') { // '러' 불규칙
      results.add(
          new String[]{stem
              ,"어"+ending.substring(1)
              ,String.valueOf(PatternConstants.IRR_TYPE_RO)});        
    } else if("라".equals(ending)&&"가거".equals(stem)) { // '거라' 불규칙
      results.add( 
          new String[]{stem.substring(0,stem.length()-1)
              ,"어라"
              ,String.valueOf(PatternConstants.IRR_TYPE_GU)});              
    } else if("라".equals(ending)&&"오너".equals(stem)) { // '너라' 불규칙
      results.add(
          new String[]{stem.substring(0,stem.length()-1)
              ,"어라"
              ,String.valueOf(PatternConstants.IRR_TYPE_NU)});      
    }
    
    if("여".equals(ending)&&ls=='하') { // '여' 불규칙
      results.add(
          new String[]{stem
              ,"어"
              ,String.valueOf(PatternConstants.IRR_TYPE_NU)});        
    }
  }