code: protected UrlPatternChosenBox adjustUrlPatternMethodPrefix(Method executeMethod, String sourceUrlPattern, String methodName,
              boolean specified) {
          final String keywordMark = getMethodKeywordMark();
          if (methodName.equals("index")) { // e.g. index(pageNumber), urlPattern="{}"
              if (sourceUrlPattern.contains(keywordMark)) {
                  throwUrlPatternMethodKeywordMarkButIndexMethodException(executeMethod, sourceUrlPattern, keywordMark);
              }
              return new UrlPatternChosenBox(sourceUrlPattern, sourceUrlPattern, specified);
          } else { // e.g. sea(pageNumber), urlPattern="{}"
              if (sourceUrlPattern.contains(keywordMark)) { // e.g. @word/{}/@word
                  final List<String> keywordList = splitMethodKeywordList(methodName);
                  if (keywordList.size() != Srl.count(sourceUrlPattern, keywordMark)) { // e.g. sea() but @word/{}/@word
                      throwUrlPatternMethodKeywordMarkUnmatchedCountException(executeMethod, sourceUrlPattern, keywordMark);
                  }
                  final String resolved = keywordList.stream().reduce(sourceUrlPattern, (first, second) -> {
                      return Srl.substringFirstFront(first, keywordMark) + second + Srl.substringFirstRear(first, keywordMark);
                  }); // e.g. sea/land
                  return new UrlPatternChosenBox(resolved, sourceUrlPattern, specified);
              } else {
                  return new UrlPatternChosenBox(methodName + "/" + sourceUrlPattern, sourceUrlPattern, specified).withMethodPrefix();
              }
          }
      }
docs: --------------