code: public Observable<ServiceResponse<DomainModelResults>> analyzeImageByDomainWithServiceResponseAsync(String model, String url, AnalyzeImageByDomainOptionalParameter analyzeImageByDomainOptionalParameter) {
          if (this.client.endpoint() == null) {
              throw new IllegalArgumentException("Parameter this.client.endpoint() is required and cannot be null.");
          }
          if (model == null) {
              throw new IllegalArgumentException("Parameter model is required and cannot be null.");
          }
          if (url == null) {
              throw new IllegalArgumentException("Parameter url is required and cannot be null.");
          }
          final String language = analyzeImageByDomainOptionalParameter != null ? analyzeImageByDomainOptionalParameter.language() : null;
  
          return analyzeImageByDomainWithServiceResponseAsync(model, url, language);
      }
docs: This operation recognizes content within an image by applying a domain-specific model.  The list of domain-specific models that are supported by the Computer Vision API can be retrieved using the /models GET request.  Currently, the API only provides a single domain-specific model: celebrities. Two input methods are supported -- (1) Uploading an image or (2) specifying an image URL. A successful response will be returned in JSON.  If the request failed, the response will contain an error code and a message to help understand what went wrong.
  
  @param model The domain-specific content to recognize.
  @param url Publicly reachable URL of an image
  @param analyzeImageByDomainOptionalParameter the object representing the optional parameters to be set before calling this API
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the DomainModelResults object