docs: public void marshall(Command command, ProtocolMarshaller protocolMarshaller) {
  
          if (command == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(command.getCommandId(), COMMANDID_BINDING);
              protocolMarshaller.marshall(command.getDocumentName(), DOCUMENTNAME_BINDING);
              protocolMarshaller.marshall(command.getDocumentVersion(), DOCUMENTVERSION_BINDING);
              protocolMarshaller.marshall(command.getComment(), COMMENT_BINDING);
              protocolMarshaller.marshall(command.getExpiresAfter(), EXPIRESAFTER_BINDING);
              protocolMarshaller.marshall(command.getParameters(), PARAMETERS_BINDING);
              protocolMarshaller.marshall(command.getInstanceIds(), INSTANCEIDS_BINDING);
              protocolMarshaller.marshall(command.getTargets(), TARGETS_BINDING);
              protocolMarshaller.marshall(command.getRequestedDateTime(), REQUESTEDDATETIME_BINDING);
              protocolMarshaller.marshall(command.getStatus(), STATUS_BINDING);
              protocolMarshaller.marshall(command.getStatusDetails(), STATUSDETAILS_BINDING);
              protocolMarshaller.marshall(command.getOutputS3Region(), OUTPUTS3REGION_BINDING);
              protocolMarshaller.marshall(command.getOutputS3BucketName(), OUTPUTS3BUCKETNAME_BINDING);
              protocolMarshaller.marshall(command.getOutputS3KeyPrefix(), OUTPUTS3KEYPREFIX_BINDING);
              protocolMarshaller.marshall(command.getMaxConcurrency(), MAXCONCURRENCY_BINDING);
              protocolMarshaller.marshall(command.getMaxErrors(), MAXERRORS_BINDING);
              protocolMarshaller.marshall(command.getTargetCount(), TARGETCOUNT_BINDING);
              protocolMarshaller.marshall(command.getCompletedCount(), COMPLETEDCOUNT_BINDING);
              protocolMarshaller.marshall(command.getErrorCount(), ERRORCOUNT_BINDING);
              protocolMarshaller.marshall(command.getDeliveryTimedOutCount(), DELIVERYTIMEDOUTCOUNT_BINDING);
              protocolMarshaller.marshall(command.getServiceRole(), SERVICEROLE_BINDING);
              protocolMarshaller.marshall(command.getNotificationConfig(), NOTIFICATIONCONFIG_BINDING);
              protocolMarshaller.marshall(command.getCloudWatchOutputConfig(), CLOUDWATCHOUTPUTCONFIG_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }