docs: public Observable<ServiceResponse<Images>> imageSearchWithServiceResponseAsync(long customConfig, String query, ImageSearchOptionalParameter imageSearchOptionalParameter) {
          if (query == null) {
              throw new IllegalArgumentException("Parameter query is required and cannot be null.");
          }
          final String acceptLanguage = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.acceptLanguage() : null;
          final String userAgent = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.userAgent() : this.client.userAgent();
          final String clientId = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.clientId() : null;
          final String clientIp = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.clientIp() : null;
          final String location = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.location() : null;
          final ImageAspect aspect = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.aspect() : null;
          final ImageColor color = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.color() : null;
          final String countryCode = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.countryCode() : null;
          final Integer count = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.count() : null;
          final Freshness freshness = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.freshness() : null;
          final Integer height = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.height() : null;
          final String id = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.id() : null;
          final ImageContent imageContent = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.imageContent() : null;
          final ImageType imageType = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.imageType() : null;
          final ImageLicense license = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.license() : null;
          final String market = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.market() : null;
          final Long maxFileSize = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.maxFileSize() : null;
          final Long maxHeight = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.maxHeight() : null;
          final Long maxWidth = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.maxWidth() : null;
          final Long minFileSize = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.minFileSize() : null;
          final Long minHeight = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.minHeight() : null;
          final Long minWidth = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.minWidth() : null;
          final Long offset = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.offset() : null;
          final SafeSearch safeSearch = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.safeSearch() : null;
          final ImageSize size = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.size() : null;
          final String setLang = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.setLang() : null;
          final Integer width = imageSearchOptionalParameter != null ? imageSearchOptionalParameter.width() : null;
  
          return imageSearchWithServiceResponseAsync(customConfig, query, acceptLanguage, userAgent, clientId, clientIp, location, aspect, color, countryCode, count, freshness, height, id, imageContent, imageType, license, market, maxFileSize, maxHeight, maxWidth, minFileSize, minHeight, minWidth, offset, safeSearch, size, setLang, width);
      }