code: public String interpolate(final String message, final Map<String, ?> vars, boolean recursive,
              final MessageResolver messageResolver) {
          return parse(message, vars, recursive, messageResolver);
      }
docs: メッセージを引数varsで指定した変数で補完する。
  <p>{@link MessageResolver}を指定した場合、メッセージ中の変数をメッセージコードとして解決します。
  
  @param message 対象のメッセージ。
  @param vars メッセージ中の変数に対する値のマップ。
  @param recursive 変換したメッセージに対しても再帰的に処理するかどうか
  @param messageResolver メッセージを解決するクラス。nullの場合、指定しないと同じ意味になります。
  @return 補完したメッセージ。