docs: public void marshall(Stage stage, ProtocolMarshaller protocolMarshaller) {
  
          if (stage == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(stage.getDeploymentId(), DEPLOYMENTID_BINDING);
              protocolMarshaller.marshall(stage.getClientCertificateId(), CLIENTCERTIFICATEID_BINDING);
              protocolMarshaller.marshall(stage.getStageName(), STAGENAME_BINDING);
              protocolMarshaller.marshall(stage.getDescription(), DESCRIPTION_BINDING);
              protocolMarshaller.marshall(stage.getCacheClusterEnabled(), CACHECLUSTERENABLED_BINDING);
              protocolMarshaller.marshall(stage.getCacheClusterSize(), CACHECLUSTERSIZE_BINDING);
              protocolMarshaller.marshall(stage.getCacheClusterStatus(), CACHECLUSTERSTATUS_BINDING);
              protocolMarshaller.marshall(stage.getMethodSettings(), METHODSETTINGS_BINDING);
              protocolMarshaller.marshall(stage.getVariables(), VARIABLES_BINDING);
              protocolMarshaller.marshall(stage.getDocumentationVersion(), DOCUMENTATIONVERSION_BINDING);
              protocolMarshaller.marshall(stage.getAccessLogSettings(), ACCESSLOGSETTINGS_BINDING);
              protocolMarshaller.marshall(stage.getCanarySettings(), CANARYSETTINGS_BINDING);
              protocolMarshaller.marshall(stage.getTracingEnabled(), TRACINGENABLED_BINDING);
              protocolMarshaller.marshall(stage.getWebAclArn(), WEBACLARN_BINDING);
              protocolMarshaller.marshall(stage.getTags(), TAGS_BINDING);
              protocolMarshaller.marshall(stage.getCreatedDate(), CREATEDDATE_BINDING);
              protocolMarshaller.marshall(stage.getLastUpdatedDate(), LASTUPDATEDDATE_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }