docs: public void marshall(CreateAppRequest createAppRequest, ProtocolMarshaller protocolMarshaller) {
  
          if (createAppRequest == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(createAppRequest.getStackId(), STACKID_BINDING);
              protocolMarshaller.marshall(createAppRequest.getShortname(), SHORTNAME_BINDING);
              protocolMarshaller.marshall(createAppRequest.getName(), NAME_BINDING);
              protocolMarshaller.marshall(createAppRequest.getDescription(), DESCRIPTION_BINDING);
              protocolMarshaller.marshall(createAppRequest.getDataSources(), DATASOURCES_BINDING);
              protocolMarshaller.marshall(createAppRequest.getType(), TYPE_BINDING);
              protocolMarshaller.marshall(createAppRequest.getAppSource(), APPSOURCE_BINDING);
              protocolMarshaller.marshall(createAppRequest.getDomains(), DOMAINS_BINDING);
              protocolMarshaller.marshall(createAppRequest.getEnableSsl(), ENABLESSL_BINDING);
              protocolMarshaller.marshall(createAppRequest.getSslConfiguration(), SSLCONFIGURATION_BINDING);
              protocolMarshaller.marshall(createAppRequest.getAttributes(), ATTRIBUTES_BINDING);
              protocolMarshaller.marshall(createAppRequest.getEnvironment(), ENVIRONMENT_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }