code: public Observable<NewsModel> searchAsync(String query, SearchOptionalParameter searchOptionalParameter) {
          return searchWithServiceResponseAsync(query, searchOptionalParameter).map(new Func1<ServiceResponse<NewsModel>, NewsModel>() {
              @Override
              public NewsModel call(ServiceResponse<NewsModel> response) {
                  return response.body();
              }
          });
      }
docs: The News Search API lets you send a search query to Bing and get back a list of news that are relevant to the search query. This section provides technical details about the query parameters and headers that you use to request news and the JSON response objects that contain them.  For examples that show how to make requests, see [Searching the web for news](https://docs.microsoft.com/en-us/azure/cognitive-services/bing-news-search/search-the-web).
  
  @param query The user's search query string. The query string cannot be empty. The query string may contain [Bing Advanced Operators](http://msdn.microsoft.com/library/ff795620.aspx). For example, to limit news to a specific domain, use the [site:](http://msdn.microsoft.com/library/ff795613.aspx) operator. Use this parameter only with the News Search API. Do not specify this parameter when calling the Trending Topics API or News Category API.
  @param searchOptionalParameter 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 NewsModel object