code: public void findMentsu() throws MahjongTileOverFlowException, IllegalMentsuSizeException {
          checkTileOverFlow();
  
          // 国士無双型の判定
          initStock();
          KokushimusoResolver kokushimuso = new KokushimusoResolver(handStocks);
          if (kokushimuso.isMatch()) {
              isKokushimuso = true;
              canWin = true;
              return;
          }
  
          // 雀頭の候補を探してストックしておく
          initStock();
          List<Toitsu> toitsuList = Toitsu.findJantoCandidate(handStocks);
  
          // 雀頭が一つも見つからなければfalse
          if (toitsuList.size() == 0) {
              canWin = false;
              return;
          }
  
          //七対子なら保存しておく
          if (toitsuList.size() == 7) {
              canWin = true;
              List<Mentsu> mentsuList = new ArrayList<>(7);
              mentsuList.addAll(toitsuList);
              MentsuComp comp = new MentsuComp(mentsuList, last);
              mentsuCompSet.add(comp);
          }
  
          // その他の判定
          //雀頭候補から探す
          List<Mentsu> winCandidate = new ArrayList<>(4);
          for (Toitsu toitsu : toitsuList) {
              // 操作変数を初期化
              init(winCandidate, toitsu);
  
              //刻子優先検索
              //検索
              winCandidate.addAll(findKotsuCandidate());
              winCandidate.addAll(findShuntsuCandidate());
              //全て0かチェック
              convertToMentsuComp(winCandidate);
  
              init(winCandidate, toitsu);
              //順子優先検索
              winCandidate.addAll(findShuntsuCandidate());
              winCandidate.addAll(findKotsuCandidate());
              convertToMentsuComp(winCandidate);
          }
  
      }
docs: 槓子は見つけません