docs: public void marshall(StepExecution stepExecution, ProtocolMarshaller protocolMarshaller) {
  
          if (stepExecution == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(stepExecution.getStepName(), STEPNAME_BINDING);
              protocolMarshaller.marshall(stepExecution.getAction(), ACTION_BINDING);
              protocolMarshaller.marshall(stepExecution.getTimeoutSeconds(), TIMEOUTSECONDS_BINDING);
              protocolMarshaller.marshall(stepExecution.getOnFailure(), ONFAILURE_BINDING);
              protocolMarshaller.marshall(stepExecution.getMaxAttempts(), MAXATTEMPTS_BINDING);
              protocolMarshaller.marshall(stepExecution.getExecutionStartTime(), EXECUTIONSTARTTIME_BINDING);
              protocolMarshaller.marshall(stepExecution.getExecutionEndTime(), EXECUTIONENDTIME_BINDING);
              protocolMarshaller.marshall(stepExecution.getStepStatus(), STEPSTATUS_BINDING);
              protocolMarshaller.marshall(stepExecution.getResponseCode(), RESPONSECODE_BINDING);
              protocolMarshaller.marshall(stepExecution.getInputs(), INPUTS_BINDING);
              protocolMarshaller.marshall(stepExecution.getOutputs(), OUTPUTS_BINDING);
              protocolMarshaller.marshall(stepExecution.getResponse(), RESPONSE_BINDING);
              protocolMarshaller.marshall(stepExecution.getFailureMessage(), FAILUREMESSAGE_BINDING);
              protocolMarshaller.marshall(stepExecution.getFailureDetails(), FAILUREDETAILS_BINDING);
              protocolMarshaller.marshall(stepExecution.getStepExecutionId(), STEPEXECUTIONID_BINDING);
              protocolMarshaller.marshall(stepExecution.getOverriddenParameters(), OVERRIDDENPARAMETERS_BINDING);
              protocolMarshaller.marshall(stepExecution.getIsEnd(), ISEND_BINDING);
              protocolMarshaller.marshall(stepExecution.getNextStep(), NEXTSTEP_BINDING);
              protocolMarshaller.marshall(stepExecution.getIsCritical(), ISCRITICAL_BINDING);
              protocolMarshaller.marshall(stepExecution.getValidNextSteps(), VALIDNEXTSTEPS_BINDING);
              protocolMarshaller.marshall(stepExecution.getTargets(), TARGETS_BINDING);
              protocolMarshaller.marshall(stepExecution.getTargetLocation(), TARGETLOCATION_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }