docs: public void marshall(Build build, ProtocolMarshaller protocolMarshaller) {
  
          if (build == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(build.getId(), ID_BINDING);
              protocolMarshaller.marshall(build.getArn(), ARN_BINDING);
              protocolMarshaller.marshall(build.getStartTime(), STARTTIME_BINDING);
              protocolMarshaller.marshall(build.getEndTime(), ENDTIME_BINDING);
              protocolMarshaller.marshall(build.getCurrentPhase(), CURRENTPHASE_BINDING);
              protocolMarshaller.marshall(build.getBuildStatus(), BUILDSTATUS_BINDING);
              protocolMarshaller.marshall(build.getSourceVersion(), SOURCEVERSION_BINDING);
              protocolMarshaller.marshall(build.getResolvedSourceVersion(), RESOLVEDSOURCEVERSION_BINDING);
              protocolMarshaller.marshall(build.getProjectName(), PROJECTNAME_BINDING);
              protocolMarshaller.marshall(build.getPhases(), PHASES_BINDING);
              protocolMarshaller.marshall(build.getSource(), SOURCE_BINDING);
              protocolMarshaller.marshall(build.getSecondarySources(), SECONDARYSOURCES_BINDING);
              protocolMarshaller.marshall(build.getSecondarySourceVersions(), SECONDARYSOURCEVERSIONS_BINDING);
              protocolMarshaller.marshall(build.getArtifacts(), ARTIFACTS_BINDING);
              protocolMarshaller.marshall(build.getSecondaryArtifacts(), SECONDARYARTIFACTS_BINDING);
              protocolMarshaller.marshall(build.getCache(), CACHE_BINDING);
              protocolMarshaller.marshall(build.getEnvironment(), ENVIRONMENT_BINDING);
              protocolMarshaller.marshall(build.getServiceRole(), SERVICEROLE_BINDING);
              protocolMarshaller.marshall(build.getLogs(), LOGS_BINDING);
              protocolMarshaller.marshall(build.getTimeoutInMinutes(), TIMEOUTINMINUTES_BINDING);
              protocolMarshaller.marshall(build.getQueuedTimeoutInMinutes(), QUEUEDTIMEOUTINMINUTES_BINDING);
              protocolMarshaller.marshall(build.getBuildComplete(), BUILDCOMPLETE_BINDING);
              protocolMarshaller.marshall(build.getInitiator(), INITIATOR_BINDING);
              protocolMarshaller.marshall(build.getVpcConfig(), VPCCONFIG_BINDING);
              protocolMarshaller.marshall(build.getNetworkInterface(), NETWORKINTERFACE_BINDING);
              protocolMarshaller.marshall(build.getEncryptionKey(), ENCRYPTIONKEY_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }