docs: public void marshall(JobExecution jobExecution, ProtocolMarshaller protocolMarshaller) {
  
          if (jobExecution == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(jobExecution.getJobId(), JOBID_BINDING);
              protocolMarshaller.marshall(jobExecution.getStatus(), STATUS_BINDING);
              protocolMarshaller.marshall(jobExecution.getForceCanceled(), FORCECANCELED_BINDING);
              protocolMarshaller.marshall(jobExecution.getStatusDetails(), STATUSDETAILS_BINDING);
              protocolMarshaller.marshall(jobExecution.getThingArn(), THINGARN_BINDING);
              protocolMarshaller.marshall(jobExecution.getQueuedAt(), QUEUEDAT_BINDING);
              protocolMarshaller.marshall(jobExecution.getStartedAt(), STARTEDAT_BINDING);
              protocolMarshaller.marshall(jobExecution.getLastUpdatedAt(), LASTUPDATEDAT_BINDING);
              protocolMarshaller.marshall(jobExecution.getExecutionNumber(), EXECUTIONNUMBER_BINDING);
              protocolMarshaller.marshall(jobExecution.getVersionNumber(), VERSIONNUMBER_BINDING);
              protocolMarshaller.marshall(jobExecution.getApproximateSecondsBeforeTimedOut(), APPROXIMATESECONDSBEFORETIMEDOUT_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }