docs: public void marshall(Api api, ProtocolMarshaller protocolMarshaller) {
  
          if (api == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(api.getApiEndpoint(), APIENDPOINT_BINDING);
              protocolMarshaller.marshall(api.getApiId(), APIID_BINDING);
              protocolMarshaller.marshall(api.getApiKeySelectionExpression(), APIKEYSELECTIONEXPRESSION_BINDING);
              protocolMarshaller.marshall(api.getCreatedDate(), CREATEDDATE_BINDING);
              protocolMarshaller.marshall(api.getDescription(), DESCRIPTION_BINDING);
              protocolMarshaller.marshall(api.getDisableSchemaValidation(), DISABLESCHEMAVALIDATION_BINDING);
              protocolMarshaller.marshall(api.getName(), NAME_BINDING);
              protocolMarshaller.marshall(api.getProtocolType(), PROTOCOLTYPE_BINDING);
              protocolMarshaller.marshall(api.getRouteSelectionExpression(), ROUTESELECTIONEXPRESSION_BINDING);
              protocolMarshaller.marshall(api.getVersion(), VERSION_BINDING);
              protocolMarshaller.marshall(api.getWarnings(), WARNINGS_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }