docs: public void marshall(GetReservationPurchaseRecommendationRequest getReservationPurchaseRecommendationRequest, ProtocolMarshaller protocolMarshaller) {
  
          if (getReservationPurchaseRecommendationRequest == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(getReservationPurchaseRecommendationRequest.getAccountId(), ACCOUNTID_BINDING);
              protocolMarshaller.marshall(getReservationPurchaseRecommendationRequest.getService(), SERVICE_BINDING);
              protocolMarshaller.marshall(getReservationPurchaseRecommendationRequest.getAccountScope(), ACCOUNTSCOPE_BINDING);
              protocolMarshaller.marshall(getReservationPurchaseRecommendationRequest.getLookbackPeriodInDays(), LOOKBACKPERIODINDAYS_BINDING);
              protocolMarshaller.marshall(getReservationPurchaseRecommendationRequest.getTermInYears(), TERMINYEARS_BINDING);
              protocolMarshaller.marshall(getReservationPurchaseRecommendationRequest.getPaymentOption(), PAYMENTOPTION_BINDING);
              protocolMarshaller.marshall(getReservationPurchaseRecommendationRequest.getServiceSpecification(), SERVICESPECIFICATION_BINDING);
              protocolMarshaller.marshall(getReservationPurchaseRecommendationRequest.getPageSize(), PAGESIZE_BINDING);
              protocolMarshaller.marshall(getReservationPurchaseRecommendationRequest.getNextPageToken(), NEXTPAGETOKEN_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }