code: public void marshall(SynthesisTask synthesisTask, ProtocolMarshaller protocolMarshaller) {
  
          if (synthesisTask == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(synthesisTask.getTaskId(), TASKID_BINDING);
              protocolMarshaller.marshall(synthesisTask.getTaskStatus(), TASKSTATUS_BINDING);
              protocolMarshaller.marshall(synthesisTask.getTaskStatusReason(), TASKSTATUSREASON_BINDING);
              protocolMarshaller.marshall(synthesisTask.getOutputUri(), OUTPUTURI_BINDING);
              protocolMarshaller.marshall(synthesisTask.getCreationTime(), CREATIONTIME_BINDING);
              protocolMarshaller.marshall(synthesisTask.getRequestCharacters(), REQUESTCHARACTERS_BINDING);
              protocolMarshaller.marshall(synthesisTask.getSnsTopicArn(), SNSTOPICARN_BINDING);
              protocolMarshaller.marshall(synthesisTask.getLexiconNames(), LEXICONNAMES_BINDING);
              protocolMarshaller.marshall(synthesisTask.getOutputFormat(), OUTPUTFORMAT_BINDING);
              protocolMarshaller.marshall(synthesisTask.getSampleRate(), SAMPLERATE_BINDING);
              protocolMarshaller.marshall(synthesisTask.getSpeechMarkTypes(), SPEECHMARKTYPES_BINDING);
              protocolMarshaller.marshall(synthesisTask.getTextType(), TEXTTYPE_BINDING);
              protocolMarshaller.marshall(synthesisTask.getVoiceId(), VOICEID_BINDING);
              protocolMarshaller.marshall(synthesisTask.getLanguageCode(), LANGUAGECODE_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }
docs: Marshall the given parameter object.