code: public ServiceCall<Intent> updateIntent(UpdateIntentOptions updateIntentOptions) {
      Validator.notNull(updateIntentOptions, "updateIntentOptions cannot be null");
      String[] pathSegments = { "v1/workspaces", "intents" };
      String[] pathParameters = { updateIntentOptions.workspaceId(), updateIntentOptions.intent() };
      RequestBuilder builder = RequestBuilder.post(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments,
          pathParameters));
      builder.query("version", versionDate);
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("conversation", "v1", "updateIntent");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      builder.header("Accept", "application/json");
      final JsonObject contentJson = new JsonObject();
      if (updateIntentOptions.newIntent() != null) {
        contentJson.addProperty("intent", updateIntentOptions.newIntent());
      }
      if (updateIntentOptions.newDescription() != null) {
        contentJson.addProperty("description", updateIntentOptions.newDescription());
      }
      if (updateIntentOptions.newExamples() != null) {
        contentJson.add("examples", GsonSingleton.getGson().toJsonTree(updateIntentOptions.newExamples()));
      }
      builder.bodyJson(contentJson);
      return createServiceCall(builder.build(), ResponseConverterUtils.getObject(Intent.class));
    }
docs: Update intent.
  
  Update an existing intent with new or modified data. You must provide component objects defining the content of the
  updated intent.
  
  This operation is limited to 2000 requests per 30 minutes. For more information, see **Rate limiting**.
  
  @param updateIntentOptions the {@link UpdateIntentOptions} containing the options for the call
  @return a {@link ServiceCall} with a response type of {@link Intent}