docs: public void marshall(SearchRequest searchRequest, ProtocolMarshaller protocolMarshaller) {
  
          if (searchRequest == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(searchRequest.getCursor(), CURSOR_BINDING);
              protocolMarshaller.marshall(searchRequest.getExpr(), EXPR_BINDING);
              protocolMarshaller.marshall(searchRequest.getFacet(), FACET_BINDING);
              protocolMarshaller.marshall(searchRequest.getFilterQuery(), FILTERQUERY_BINDING);
              protocolMarshaller.marshall(searchRequest.getHighlight(), HIGHLIGHT_BINDING);
              protocolMarshaller.marshall(searchRequest.getPartial(), PARTIAL_BINDING);
              protocolMarshaller.marshall(searchRequest.getQuery(), QUERY_BINDING);
              protocolMarshaller.marshall(searchRequest.getQueryOptions(), QUERYOPTIONS_BINDING);
              protocolMarshaller.marshall(searchRequest.getQueryParser(), QUERYPARSER_BINDING);
              protocolMarshaller.marshall(searchRequest.getReturn(), RETURN_BINDING);
              protocolMarshaller.marshall(searchRequest.getSize(), SIZE_BINDING);
              protocolMarshaller.marshall(searchRequest.getSort(), SORT_BINDING);
              protocolMarshaller.marshall(searchRequest.getStart(), START_BINDING);
              protocolMarshaller.marshall(searchRequest.getStats(), STATS_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }