docs: public void marshall(JobMetadata jobMetadata, ProtocolMarshaller protocolMarshaller) {
  
          if (jobMetadata == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(jobMetadata.getJobId(), JOBID_BINDING);
              protocolMarshaller.marshall(jobMetadata.getJobState(), JOBSTATE_BINDING);
              protocolMarshaller.marshall(jobMetadata.getJobType(), JOBTYPE_BINDING);
              protocolMarshaller.marshall(jobMetadata.getSnowballType(), SNOWBALLTYPE_BINDING);
              protocolMarshaller.marshall(jobMetadata.getCreationDate(), CREATIONDATE_BINDING);
              protocolMarshaller.marshall(jobMetadata.getResources(), RESOURCES_BINDING);
              protocolMarshaller.marshall(jobMetadata.getDescription(), DESCRIPTION_BINDING);
              protocolMarshaller.marshall(jobMetadata.getKmsKeyARN(), KMSKEYARN_BINDING);
              protocolMarshaller.marshall(jobMetadata.getRoleARN(), ROLEARN_BINDING);
              protocolMarshaller.marshall(jobMetadata.getAddressId(), ADDRESSID_BINDING);
              protocolMarshaller.marshall(jobMetadata.getShippingDetails(), SHIPPINGDETAILS_BINDING);
              protocolMarshaller.marshall(jobMetadata.getSnowballCapacityPreference(), SNOWBALLCAPACITYPREFERENCE_BINDING);
              protocolMarshaller.marshall(jobMetadata.getNotification(), NOTIFICATION_BINDING);
              protocolMarshaller.marshall(jobMetadata.getDataTransferProgress(), DATATRANSFERPROGRESS_BINDING);
              protocolMarshaller.marshall(jobMetadata.getJobLogInfo(), JOBLOGINFO_BINDING);
              protocolMarshaller.marshall(jobMetadata.getClusterId(), CLUSTERID_BINDING);
              protocolMarshaller.marshall(jobMetadata.getForwardingAddressId(), FORWARDINGADDRESSID_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }