docs: public void marshall(Run run, ProtocolMarshaller protocolMarshaller) {
  
          if (run == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(run.getArn(), ARN_BINDING);
              protocolMarshaller.marshall(run.getName(), NAME_BINDING);
              protocolMarshaller.marshall(run.getType(), TYPE_BINDING);
              protocolMarshaller.marshall(run.getPlatform(), PLATFORM_BINDING);
              protocolMarshaller.marshall(run.getCreated(), CREATED_BINDING);
              protocolMarshaller.marshall(run.getStatus(), STATUS_BINDING);
              protocolMarshaller.marshall(run.getResult(), RESULT_BINDING);
              protocolMarshaller.marshall(run.getStarted(), STARTED_BINDING);
              protocolMarshaller.marshall(run.getStopped(), STOPPED_BINDING);
              protocolMarshaller.marshall(run.getCounters(), COUNTERS_BINDING);
              protocolMarshaller.marshall(run.getMessage(), MESSAGE_BINDING);
              protocolMarshaller.marshall(run.getTotalJobs(), TOTALJOBS_BINDING);
              protocolMarshaller.marshall(run.getCompletedJobs(), COMPLETEDJOBS_BINDING);
              protocolMarshaller.marshall(run.getBillingMethod(), BILLINGMETHOD_BINDING);
              protocolMarshaller.marshall(run.getDeviceMinutes(), DEVICEMINUTES_BINDING);
              protocolMarshaller.marshall(run.getNetworkProfile(), NETWORKPROFILE_BINDING);
              protocolMarshaller.marshall(run.getParsingResultUrl(), PARSINGRESULTURL_BINDING);
              protocolMarshaller.marshall(run.getResultCode(), RESULTCODE_BINDING);
              protocolMarshaller.marshall(run.getSeed(), SEED_BINDING);
              protocolMarshaller.marshall(run.getAppUpload(), APPUPLOAD_BINDING);
              protocolMarshaller.marshall(run.getEventCount(), EVENTCOUNT_BINDING);
              protocolMarshaller.marshall(run.getJobTimeoutMinutes(), JOBTIMEOUTMINUTES_BINDING);
              protocolMarshaller.marshall(run.getDevicePoolArn(), DEVICEPOOLARN_BINDING);
              protocolMarshaller.marshall(run.getLocale(), LOCALE_BINDING);
              protocolMarshaller.marshall(run.getRadios(), RADIOS_BINDING);
              protocolMarshaller.marshall(run.getLocation(), LOCATION_BINDING);
              protocolMarshaller.marshall(run.getCustomerArtifactPaths(), CUSTOMERARTIFACTPATHS_BINDING);
              protocolMarshaller.marshall(run.getWebUrl(), WEBURL_BINDING);
              protocolMarshaller.marshall(run.getSkipAppResign(), SKIPAPPRESIGN_BINDING);
              protocolMarshaller.marshall(run.getTestSpecArn(), TESTSPECARN_BINDING);
              protocolMarshaller.marshall(run.getDeviceSelectionResult(), DEVICESELECTIONRESULT_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }