docs: public ServiceCall<TranslationModel> createModel(CreateModelOptions createModelOptions) {
      Validator.notNull(createModelOptions, "createModelOptions cannot be null");
      Validator.isTrue((createModelOptions.forcedGlossary() != null) || (createModelOptions.parallelCorpus() != null),
          "At least one of forcedGlossary or parallelCorpus must be supplied.");
      String[] pathSegments = { "v3/models" };
      RequestBuilder builder = RequestBuilder.post(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments));
      builder.query("version", versionDate);
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("language_translator", "v3", "createModel");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      builder.header("Accept", "application/json");
      builder.query("base_model_id", createModelOptions.baseModelId());
      if (createModelOptions.name() != null) {
        builder.query("name", createModelOptions.name());
      }
      MultipartBody.Builder multipartBuilder = new MultipartBody.Builder();
      multipartBuilder.setType(MultipartBody.FORM);
      if (createModelOptions.forcedGlossary() != null) {
        RequestBody forcedGlossaryBody = RequestUtils.inputStreamBody(createModelOptions.forcedGlossary(),
            "application/octet-stream");
        multipartBuilder.addFormDataPart("forced_glossary", "filename", forcedGlossaryBody);
      }
      if (createModelOptions.parallelCorpus() != null) {
        RequestBody parallelCorpusBody = RequestUtils.inputStreamBody(createModelOptions.parallelCorpus(),
            "application/octet-stream");
        multipartBuilder.addFormDataPart("parallel_corpus", "filename", parallelCorpusBody);
      }
      builder.body(multipartBuilder.build());
      return createServiceCall(builder.build(), ResponseConverterUtils.getObject(TranslationModel.class));
    }