docs: public void marshall(UserPoolClientType userPoolClientType, ProtocolMarshaller protocolMarshaller) {
  
          if (userPoolClientType == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(userPoolClientType.getUserPoolId(), USERPOOLID_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getClientName(), CLIENTNAME_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getClientId(), CLIENTID_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getClientSecret(), CLIENTSECRET_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getLastModifiedDate(), LASTMODIFIEDDATE_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getCreationDate(), CREATIONDATE_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getRefreshTokenValidity(), REFRESHTOKENVALIDITY_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getReadAttributes(), READATTRIBUTES_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getWriteAttributes(), WRITEATTRIBUTES_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getExplicitAuthFlows(), EXPLICITAUTHFLOWS_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getSupportedIdentityProviders(), SUPPORTEDIDENTITYPROVIDERS_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getCallbackURLs(), CALLBACKURLS_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getLogoutURLs(), LOGOUTURLS_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getDefaultRedirectURI(), DEFAULTREDIRECTURI_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getAllowedOAuthFlows(), ALLOWEDOAUTHFLOWS_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getAllowedOAuthScopes(), ALLOWEDOAUTHSCOPES_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getAllowedOAuthFlowsUserPoolClient(), ALLOWEDOAUTHFLOWSUSERPOOLCLIENT_BINDING);
              protocolMarshaller.marshall(userPoolClientType.getAnalyticsConfiguration(), ANALYTICSCONFIGURATION_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }