code: private String getMessage(final String[] codes, final Optional<String> defaultMessage) {
          for(String code : codes) {
              try {
                  final Optional<String> message = messageResolver.getMessage(code);
                  if(message.isPresent()) {
                      return message.get();
                  }
                  
              } catch(Throwable e) {
                  continue;
              }
          }
          
          if(defaultMessage.isPresent()) {
              return defaultMessage.get();
          }
          
          throw new RuntimeException(String.format("not found message code [%s].", Utils.join(codes, ",")));
      }
docs: 指定した引数の候補からメッセージを取得する。
  @param codes メッセージコードの候補
  @param defaultMessage メッセージコードが見つからない場合のメッセージ
  @return メッセージ
  @throws RuntimeException メッセージコード 'codes' で指定したメッセージキーが見つからない場合。