docs: public ServiceCall<RecognitionJob> createJob(CreateJobOptions createJobOptions) {
      Validator.notNull(createJobOptions, "createJobOptions cannot be null");
      String[] pathSegments = { "v1/recognitions" };
      RequestBuilder builder = RequestBuilder.post(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments));
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("speech_to_text", "v1", "createJob");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      builder.header("Accept", "application/json");
      if (createJobOptions.contentType() != null) {
        builder.header("Content-Type", createJobOptions.contentType());
      }
      if (createJobOptions.model() != null) {
        builder.query("model", createJobOptions.model());
      }
      if (createJobOptions.callbackUrl() != null) {
        builder.query("callback_url", createJobOptions.callbackUrl());
      }
      if (createJobOptions.events() != null) {
        builder.query("events", createJobOptions.events());
      }
      if (createJobOptions.userToken() != null) {
        builder.query("user_token", createJobOptions.userToken());
      }
      if (createJobOptions.resultsTtl() != null) {
        builder.query("results_ttl", String.valueOf(createJobOptions.resultsTtl()));
      }
      if (createJobOptions.languageCustomizationId() != null) {
        builder.query("language_customization_id", createJobOptions.languageCustomizationId());
      }
      if (createJobOptions.acousticCustomizationId() != null) {
        builder.query("acoustic_customization_id", createJobOptions.acousticCustomizationId());
      }
      if (createJobOptions.baseModelVersion() != null) {
        builder.query("base_model_version", createJobOptions.baseModelVersion());
      }
      if (createJobOptions.customizationWeight() != null) {
        builder.query("customization_weight", String.valueOf(createJobOptions.customizationWeight()));
      }
      if (createJobOptions.inactivityTimeout() != null) {
        builder.query("inactivity_timeout", String.valueOf(createJobOptions.inactivityTimeout()));
      }
      if (createJobOptions.keywords() != null) {
        builder.query("keywords", RequestUtils.join(createJobOptions.keywords(), ","));
      }
      if (createJobOptions.keywordsThreshold() != null) {
        builder.query("keywords_threshold", String.valueOf(createJobOptions.keywordsThreshold()));
      }
      if (createJobOptions.maxAlternatives() != null) {
        builder.query("max_alternatives", String.valueOf(createJobOptions.maxAlternatives()));
      }
      if (createJobOptions.wordAlternativesThreshold() != null) {
        builder.query("word_alternatives_threshold", String.valueOf(createJobOptions.wordAlternativesThreshold()));
      }
      if (createJobOptions.wordConfidence() != null) {
        builder.query("word_confidence", String.valueOf(createJobOptions.wordConfidence()));
      }
      if (createJobOptions.timestamps() != null) {
        builder.query("timestamps", String.valueOf(createJobOptions.timestamps()));
      }
      if (createJobOptions.profanityFilter() != null) {
        builder.query("profanity_filter", String.valueOf(createJobOptions.profanityFilter()));
      }
      if (createJobOptions.smartFormatting() != null) {
        builder.query("smart_formatting", String.valueOf(createJobOptions.smartFormatting()));
      }
      if (createJobOptions.speakerLabels() != null) {
        builder.query("speaker_labels", String.valueOf(createJobOptions.speakerLabels()));
      }
      if (createJobOptions.customizationId() != null) {
        builder.query("customization_id", createJobOptions.customizationId());
      }
      if (createJobOptions.grammarName() != null) {
        builder.query("grammar_name", createJobOptions.grammarName());
      }
      if (createJobOptions.redaction() != null) {
        builder.query("redaction", String.valueOf(createJobOptions.redaction()));
      }
      builder.bodyContent(createJobOptions.contentType(), null, null, createJobOptions.audio());
      return createServiceCall(builder.build(), ResponseConverterUtils.getObject(RecognitionJob.class));
    }