docs: public void marshall(M2tsSettings m2tsSettings, ProtocolMarshaller protocolMarshaller) {
  
          if (m2tsSettings == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(m2tsSettings.getAudioBufferModel(), AUDIOBUFFERMODEL_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getAudioFramesPerPes(), AUDIOFRAMESPERPES_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getAudioPids(), AUDIOPIDS_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getBitrate(), BITRATE_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getBufferModel(), BUFFERMODEL_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getDvbNitSettings(), DVBNITSETTINGS_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getDvbSdtSettings(), DVBSDTSETTINGS_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getDvbSubPids(), DVBSUBPIDS_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getDvbTdtSettings(), DVBTDTSETTINGS_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getDvbTeletextPid(), DVBTELETEXTPID_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getEbpAudioInterval(), EBPAUDIOINTERVAL_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getEbpPlacement(), EBPPLACEMENT_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getEsRateInPes(), ESRATEINPES_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getForceTsVideoEbpOrder(), FORCETSVIDEOEBPORDER_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getFragmentTime(), FRAGMENTTIME_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getMaxPcrInterval(), MAXPCRINTERVAL_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getMinEbpInterval(), MINEBPINTERVAL_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getNielsenId3(), NIELSENID3_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getNullPacketBitrate(), NULLPACKETBITRATE_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getPatInterval(), PATINTERVAL_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getPcrControl(), PCRCONTROL_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getPcrPid(), PCRPID_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getPmtInterval(), PMTINTERVAL_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getPmtPid(), PMTPID_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getPrivateMetadataPid(), PRIVATEMETADATAPID_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getProgramNumber(), PROGRAMNUMBER_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getRateMode(), RATEMODE_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getScte35Esam(), SCTE35ESAM_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getScte35Pid(), SCTE35PID_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getScte35Source(), SCTE35SOURCE_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getSegmentationMarkers(), SEGMENTATIONMARKERS_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getSegmentationStyle(), SEGMENTATIONSTYLE_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getSegmentationTime(), SEGMENTATIONTIME_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getTimedMetadataPid(), TIMEDMETADATAPID_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getTransportStreamId(), TRANSPORTSTREAMID_BINDING);
              protocolMarshaller.marshall(m2tsSettings.getVideoPid(), VIDEOPID_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }