docs: public void marshall(ContainerDefinition containerDefinition, ProtocolMarshaller protocolMarshaller) {
  
          if (containerDefinition == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(containerDefinition.getName(), NAME_BINDING);
              protocolMarshaller.marshall(containerDefinition.getImage(), IMAGE_BINDING);
              protocolMarshaller.marshall(containerDefinition.getRepositoryCredentials(), REPOSITORYCREDENTIALS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getCpu(), CPU_BINDING);
              protocolMarshaller.marshall(containerDefinition.getMemory(), MEMORY_BINDING);
              protocolMarshaller.marshall(containerDefinition.getMemoryReservation(), MEMORYRESERVATION_BINDING);
              protocolMarshaller.marshall(containerDefinition.getLinks(), LINKS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getPortMappings(), PORTMAPPINGS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getEssential(), ESSENTIAL_BINDING);
              protocolMarshaller.marshall(containerDefinition.getEntryPoint(), ENTRYPOINT_BINDING);
              protocolMarshaller.marshall(containerDefinition.getCommand(), COMMAND_BINDING);
              protocolMarshaller.marshall(containerDefinition.getEnvironment(), ENVIRONMENT_BINDING);
              protocolMarshaller.marshall(containerDefinition.getMountPoints(), MOUNTPOINTS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getVolumesFrom(), VOLUMESFROM_BINDING);
              protocolMarshaller.marshall(containerDefinition.getLinuxParameters(), LINUXPARAMETERS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getSecrets(), SECRETS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getDependsOn(), DEPENDSON_BINDING);
              protocolMarshaller.marshall(containerDefinition.getStartTimeout(), STARTTIMEOUT_BINDING);
              protocolMarshaller.marshall(containerDefinition.getStopTimeout(), STOPTIMEOUT_BINDING);
              protocolMarshaller.marshall(containerDefinition.getHostname(), HOSTNAME_BINDING);
              protocolMarshaller.marshall(containerDefinition.getUser(), USER_BINDING);
              protocolMarshaller.marshall(containerDefinition.getWorkingDirectory(), WORKINGDIRECTORY_BINDING);
              protocolMarshaller.marshall(containerDefinition.getDisableNetworking(), DISABLENETWORKING_BINDING);
              protocolMarshaller.marshall(containerDefinition.getPrivileged(), PRIVILEGED_BINDING);
              protocolMarshaller.marshall(containerDefinition.getReadonlyRootFilesystem(), READONLYROOTFILESYSTEM_BINDING);
              protocolMarshaller.marshall(containerDefinition.getDnsServers(), DNSSERVERS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getDnsSearchDomains(), DNSSEARCHDOMAINS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getExtraHosts(), EXTRAHOSTS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getDockerSecurityOptions(), DOCKERSECURITYOPTIONS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getInteractive(), INTERACTIVE_BINDING);
              protocolMarshaller.marshall(containerDefinition.getPseudoTerminal(), PSEUDOTERMINAL_BINDING);
              protocolMarshaller.marshall(containerDefinition.getDockerLabels(), DOCKERLABELS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getUlimits(), ULIMITS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getLogConfiguration(), LOGCONFIGURATION_BINDING);
              protocolMarshaller.marshall(containerDefinition.getHealthCheck(), HEALTHCHECK_BINDING);
              protocolMarshaller.marshall(containerDefinition.getSystemControls(), SYSTEMCONTROLS_BINDING);
              protocolMarshaller.marshall(containerDefinition.getResourceRequirements(), RESOURCEREQUIREMENTS_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }