code: public ServiceCall<LanguageModel> createLanguageModel(CreateLanguageModelOptions createLanguageModelOptions) {
      Validator.notNull(createLanguageModelOptions, "createLanguageModelOptions cannot be null");
      String[] pathSegments = { "v1/customizations" };
      RequestBuilder builder = RequestBuilder.post(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments));
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("speech_to_text", "v1", "createLanguageModel");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      builder.header("Accept", "application/json");
      final JsonObject contentJson = new JsonObject();
      contentJson.addProperty("name", createLanguageModelOptions.name());
      contentJson.addProperty("base_model_name", createLanguageModelOptions.baseModelName());
      if (createLanguageModelOptions.dialect() != null) {
        contentJson.addProperty("dialect", createLanguageModelOptions.dialect());
      }
      if (createLanguageModelOptions.description() != null) {
        contentJson.addProperty("description", createLanguageModelOptions.description());
      }
      builder.bodyJson(contentJson);
      return createServiceCall(builder.build(), ResponseConverterUtils.getObject(LanguageModel.class));
    }
docs: Create a custom language model.
  
  Creates a new custom language model for a specified base model. The custom language model can be used only with the
  base model for which it is created. The model is owned by the instance of the service whose credentials are used to
  create it.
  
  **See also:** [Create a custom language
  model](https://cloud.ibm.com/docs/services/speech-to-text/language-create.html#createModel-language).
  
  @param createLanguageModelOptions the {@link CreateLanguageModelOptions} containing the options for the call
  @return a {@link ServiceCall} with a response type of {@link LanguageModel}