docs: public ServiceCall<ClassifiedImages> classify(ClassifyOptions classifyOptions) {
      Validator.notNull(classifyOptions, "classifyOptions cannot be null");
      Validator.isTrue((classifyOptions.imagesFile() != null) || (classifyOptions.url() != null) || (classifyOptions
          .threshold() != null) || (classifyOptions.owners() != null) || (classifyOptions.classifierIds() != null),
          "At least one of imagesFile, url, threshold, owners, or classifierIds must be supplied.");
      String[] pathSegments = { "v3/classify" };
      RequestBuilder builder = RequestBuilder.post(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments));
      builder.query("version", versionDate);
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("watson_vision_combined", "v3", "classify");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      builder.header("Accept", "application/json");
      if (classifyOptions.acceptLanguage() != null) {
        builder.header("Accept-Language", classifyOptions.acceptLanguage());
      }
      MultipartBody.Builder multipartBuilder = new MultipartBody.Builder();
      multipartBuilder.setType(MultipartBody.FORM);
      if (classifyOptions.imagesFile() != null) {
        RequestBody imagesFileBody = RequestUtils.inputStreamBody(classifyOptions.imagesFile(), classifyOptions
            .imagesFileContentType());
        multipartBuilder.addFormDataPart("images_file", classifyOptions.imagesFilename(), imagesFileBody);
      }
      if (classifyOptions.url() != null) {
        multipartBuilder.addFormDataPart("url", classifyOptions.url());
      }
      if (classifyOptions.threshold() != null) {
        multipartBuilder.addFormDataPart("threshold", String.valueOf(classifyOptions.threshold()));
      }
      if (classifyOptions.owners() != null) {
        multipartBuilder.addFormDataPart("owners", RequestUtils.join(classifyOptions.owners(), ","));
      }
      if (classifyOptions.classifierIds() != null) {
        multipartBuilder.addFormDataPart("classifier_ids", RequestUtils.join(classifyOptions.classifierIds(), ","));
      }
      builder.body(multipartBuilder.build());
      return createServiceCall(builder.build(), ResponseConverterUtils.getObject(ClassifiedImages.class));
    }