LanguageTranslator extends BaseService { public ServiceCall<TranslationModels> listModels(ListModelsOptions listModelsOptions) { String[] pathSegments = {"v3/models"}; RequestBuilder builder = RequestBuilder.get(RequestBuilder.constructHttpUrl(getServiceUrl(), pathSegments)); builder.query("version", versionDate); Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("language_translator", "v3", "listModels"); for (Entry<String, String> header : sdkHeaders.entrySet()) { builder.header(header.getKey(), header.getValue()); } builder.header("Accept", "application/json"); if (listModelsOptions != null) { if (listModelsOptions.source() != null) { builder.query("source", listModelsOptions.source()); } if (listModelsOptions.target() != null) { builder.query("target", listModelsOptions.target()); } if (listModelsOptions.xDefault() != null) { builder.query("default", String.valueOf(listModelsOptions.xDefault())); } } ResponseConverter<TranslationModels> responseConverter = ResponseConverterUtils.getValue( new com.google.gson.reflect.TypeToken<TranslationModels>() {}.getType()); return createServiceCall(builder.build(), responseConverter); } LanguageTranslator(String versionDate);  LanguageTranslator(String versionDate, Authenticator authenticator);  LanguageTranslator(String versionDate, String serviceName);  LanguageTranslator(String versionDate, String serviceName, Authenticator authenticator); ServiceCall<Languages> listLanguages(ListLanguagesOptions listLanguagesOptions); ServiceCall<Languages> listLanguages(); ServiceCall<TranslationResult> translate(TranslateOptions translateOptions); ServiceCall<IdentifiableLanguages> listIdentifiableLanguages(
      ListIdentifiableLanguagesOptions listIdentifiableLanguagesOptions); ServiceCall<IdentifiableLanguages> listIdentifiableLanguages(); ServiceCall<IdentifiedLanguages> identify(IdentifyOptions identifyOptions); ServiceCall<TranslationModels> listModels(ListModelsOptions listModelsOptions); ServiceCall<TranslationModels> listModels(); ServiceCall<TranslationModel> createModel(CreateModelOptions createModelOptions); ServiceCall<DeleteModelResult> deleteModel(DeleteModelOptions deleteModelOptions); ServiceCall<TranslationModel> getModel(GetModelOptions getModelOptions); ServiceCall<DocumentList> listDocuments(ListDocumentsOptions listDocumentsOptions); ServiceCall<DocumentList> listDocuments(); ServiceCall<DocumentStatus> translateDocument(
      TranslateDocumentOptions translateDocumentOptions); ServiceCall<DocumentStatus> getDocumentStatus(
      GetDocumentStatusOptions getDocumentStatusOptions); ServiceCall<Void> deleteDocument(DeleteDocumentOptions deleteDocumentOptions); ServiceCall<InputStream> getTranslatedDocument(
      GetTranslatedDocumentOptions getTranslatedDocumentOptions);  }
@Test public void testListModels() throws InterruptedException { server.enqueue(jsonResponse(models)); ListModelsOptions options = new ListModelsOptions.Builder().build(); List<TranslationModel> modelList = service.listModels(options).execute().getResult().getModels(); RecordedRequest request = server.takeRequest(); assertEquals(GET_MODELS_PATH + VERSION_PARAM, request.getPath()); assertEquals(GSON.toJson(models.getModels()), GSON.toJson(modelList)); }