docs: public ServiceCall<UtteranceAnalyses> toneChat(ToneChatOptions toneChatOptions) {
      Validator.notNull(toneChatOptions, "toneChatOptions cannot be null");
      String[] pathSegments = { "v3/tone_chat" };
      RequestBuilder builder = RequestBuilder.post(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments));
      builder.query("version", versionDate);
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("tone_analyzer", "v3", "toneChat");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      builder.header("Accept", "application/json");
      if (toneChatOptions.contentLanguage() != null) {
        builder.header("Content-Language", toneChatOptions.contentLanguage());
      }
      if (toneChatOptions.acceptLanguage() != null) {
        builder.header("Accept-Language", toneChatOptions.acceptLanguage());
      }
      final JsonObject contentJson = new JsonObject();
      contentJson.add("utterances", GsonSingleton.getGson().toJsonTree(toneChatOptions.utterances()));
      builder.bodyJson(contentJson);
      return createServiceCall(builder.build(), ResponseConverterUtils.getObject(UtteranceAnalyses.class));
    }