code: public ServiceCall<ListModelsResults> listModels(ListModelsOptions listModelsOptions) {
      String[] pathSegments = { "v1/models" };
      RequestBuilder builder = RequestBuilder.get(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments));
      builder.query("version", versionDate);
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("natural-language-understanding", "v1", "listModels");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      builder.header("Accept", "application/json");
      if (listModelsOptions != null) {
      }
      return createServiceCall(builder.build(), ResponseConverterUtils.getObject(ListModelsResults.class));
    }
docs: List models.
  
  Lists Watson Knowledge Studio [custom
  models](https://cloud.ibm.com/docs/services/natural-language-understanding/customizing.html) that are deployed to
  your Natural Language Understanding service.
  
  @param listModelsOptions the {@link ListModelsOptions} containing the options for the call
  @return a {@link ServiceCall} with a response type of {@link ListModelsResults}