docs: public void marshall(Backup backup, ProtocolMarshaller protocolMarshaller) {
  
          if (backup == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(backup.getBackupArn(), BACKUPARN_BINDING);
              protocolMarshaller.marshall(backup.getBackupId(), BACKUPID_BINDING);
              protocolMarshaller.marshall(backup.getBackupType(), BACKUPTYPE_BINDING);
              protocolMarshaller.marshall(backup.getCreatedAt(), CREATEDAT_BINDING);
              protocolMarshaller.marshall(backup.getDescription(), DESCRIPTION_BINDING);
              protocolMarshaller.marshall(backup.getEngine(), ENGINE_BINDING);
              protocolMarshaller.marshall(backup.getEngineModel(), ENGINEMODEL_BINDING);
              protocolMarshaller.marshall(backup.getEngineVersion(), ENGINEVERSION_BINDING);
              protocolMarshaller.marshall(backup.getInstanceProfileArn(), INSTANCEPROFILEARN_BINDING);
              protocolMarshaller.marshall(backup.getInstanceType(), INSTANCETYPE_BINDING);
              protocolMarshaller.marshall(backup.getKeyPair(), KEYPAIR_BINDING);
              protocolMarshaller.marshall(backup.getPreferredBackupWindow(), PREFERREDBACKUPWINDOW_BINDING);
              protocolMarshaller.marshall(backup.getPreferredMaintenanceWindow(), PREFERREDMAINTENANCEWINDOW_BINDING);
              protocolMarshaller.marshall(backup.getS3DataSize(), S3DATASIZE_BINDING);
              protocolMarshaller.marshall(backup.getS3DataUrl(), S3DATAURL_BINDING);
              protocolMarshaller.marshall(backup.getS3LogUrl(), S3LOGURL_BINDING);
              protocolMarshaller.marshall(backup.getSecurityGroupIds(), SECURITYGROUPIDS_BINDING);
              protocolMarshaller.marshall(backup.getServerName(), SERVERNAME_BINDING);
              protocolMarshaller.marshall(backup.getServiceRoleArn(), SERVICEROLEARN_BINDING);
              protocolMarshaller.marshall(backup.getStatus(), STATUS_BINDING);
              protocolMarshaller.marshall(backup.getStatusDescription(), STATUSDESCRIPTION_BINDING);
              protocolMarshaller.marshall(backup.getSubnetIds(), SUBNETIDS_BINDING);
              protocolMarshaller.marshall(backup.getToolsVersion(), TOOLSVERSION_BINDING);
              protocolMarshaller.marshall(backup.getUserArn(), USERARN_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }