docs: public void marshall(StartBuildRequest startBuildRequest, ProtocolMarshaller protocolMarshaller) {
  
          if (startBuildRequest == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(startBuildRequest.getProjectName(), PROJECTNAME_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getSecondarySourcesOverride(), SECONDARYSOURCESOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getSecondarySourcesVersionOverride(), SECONDARYSOURCESVERSIONOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getSourceVersion(), SOURCEVERSION_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getArtifactsOverride(), ARTIFACTSOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getSecondaryArtifactsOverride(), SECONDARYARTIFACTSOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getEnvironmentVariablesOverride(), ENVIRONMENTVARIABLESOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getSourceTypeOverride(), SOURCETYPEOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getSourceLocationOverride(), SOURCELOCATIONOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getSourceAuthOverride(), SOURCEAUTHOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getGitCloneDepthOverride(), GITCLONEDEPTHOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getGitSubmodulesConfigOverride(), GITSUBMODULESCONFIGOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getBuildspecOverride(), BUILDSPECOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getInsecureSslOverride(), INSECURESSLOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getReportBuildStatusOverride(), REPORTBUILDSTATUSOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getEnvironmentTypeOverride(), ENVIRONMENTTYPEOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getImageOverride(), IMAGEOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getComputeTypeOverride(), COMPUTETYPEOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getCertificateOverride(), CERTIFICATEOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getCacheOverride(), CACHEOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getServiceRoleOverride(), SERVICEROLEOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getPrivilegedModeOverride(), PRIVILEGEDMODEOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getTimeoutInMinutesOverride(), TIMEOUTINMINUTESOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getQueuedTimeoutInMinutesOverride(), QUEUEDTIMEOUTINMINUTESOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getIdempotencyToken(), IDEMPOTENCYTOKEN_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getLogsConfigOverride(), LOGSCONFIGOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getRegistryCredentialOverride(), REGISTRYCREDENTIALOVERRIDE_BINDING);
              protocolMarshaller.marshall(startBuildRequest.getImagePullCredentialsTypeOverride(), IMAGEPULLCREDENTIALSTYPEOVERRIDE_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }