code: public ServiceFuture<SearchResponse> searchAsync(long customConfig, String query, SearchOptionalParameter searchOptionalParameter, final ServiceCallback<SearchResponse> serviceCallback) {
          return ServiceFuture.fromResponse(searchWithServiceResponseAsync(customConfig, query, searchOptionalParameter), serviceCallback);
      }
docs: The Custom Search API lets you send a search query to Bing and get back web pages found in your custom view of the web.
  
  @param customConfig The identifier for the custom search configuration
  @param query The user's search query term. The term may not be empty. The term may contain Bing Advanced Operators. For example, to limit results to a specific domain, use the site: operator.
  @param searchOptionalParameter the object representing the optional parameters to be set before calling this API
  @param serviceCallback the async ServiceCallback to handle successful and failed responses.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the {@link ServiceFuture} object