code: public ServiceCall<VoiceModels> listVoiceModels(ListVoiceModelsOptions listVoiceModelsOptions) {
      String[] pathSegments = { "v1/customizations" };
      RequestBuilder builder = RequestBuilder.get(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments));
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("text_to_speech", "v1", "listVoiceModels");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      builder.header("Accept", "application/json");
      if (listVoiceModelsOptions != null) {
        if (listVoiceModelsOptions.language() != null) {
          builder.query("language", listVoiceModelsOptions.language());
        }
      }
      return createServiceCall(builder.build(), ResponseConverterUtils.getObject(VoiceModels.class));
    }
docs: List custom models.
  
  Lists metadata such as the name and description for all custom voice models that are owned by an instance of the
  service. Specify a language to list the voice models for that language only. To see the words in addition to the
  metadata for a specific voice model, use the **List a custom model** method. You must use credentials for the
  instance of the service that owns a model to list information about it.
  
  **Note:** This method is currently a beta release.
  
  **See also:** [Querying all custom
  models](https://cloud.ibm.com/docs/services/text-to-speech/custom-models.html#cuModelsQueryAll).
  
  @param listVoiceModelsOptions the {@link ListVoiceModelsOptions} containing the options for the call
  @return a {@link ServiceCall} with a response type of {@link VoiceModels}