docs: public Observable<ServiceResponse<Suggestions>> autoSuggestWithServiceResponseAsync(String query, String acceptLanguage, String pragma, String userAgent, String clientId, String clientIp, String location, String countryCode, String market, SafeSearch safeSearch, String setLang, List<ResponseFormat> responseFormat) {
          if (query == null) {
              throw new IllegalArgumentException("Parameter query is required and cannot be null.");
          }
          Validator.validate(responseFormat);
          final String xBingApisSDK = "true";
          String responseFormatConverted = this.client.serializerAdapter().serializeList(responseFormat, CollectionFormat.CSV);
          return service.autoSuggest(xBingApisSDK, acceptLanguage, pragma, userAgent, clientId, clientIp, location, countryCode, market, query, safeSearch, setLang, responseFormatConverted)
              .flatMap(new Func1<Response<ResponseBody>, Observable<ServiceResponse<Suggestions>>>() {
                  @Override
                  public Observable<ServiceResponse<Suggestions>> call(Response<ResponseBody> response) {
                      try {
                          ServiceResponse<Suggestions> clientResponse = autoSuggestDelegate(response);
                          return Observable.just(clientResponse);
                      } catch (Throwable t) {
                          return Observable.error(t);
                      }
                  }
              });
      }