code: public void marshall(Version version, ProtocolMarshaller protocolMarshaller) {
  
          if (version == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(version.getApplicationId(), APPLICATIONID_BINDING);
              protocolMarshaller.marshall(version.getCreationTime(), CREATIONTIME_BINDING);
              protocolMarshaller.marshall(version.getParameterDefinitions(), PARAMETERDEFINITIONS_BINDING);
              protocolMarshaller.marshall(version.getRequiredCapabilities(), REQUIREDCAPABILITIES_BINDING);
              protocolMarshaller.marshall(version.getResourcesSupported(), RESOURCESSUPPORTED_BINDING);
              protocolMarshaller.marshall(version.getSemanticVersion(), SEMANTICVERSION_BINDING);
              protocolMarshaller.marshall(version.getSourceCodeArchiveUrl(), SOURCECODEARCHIVEURL_BINDING);
              protocolMarshaller.marshall(version.getSourceCodeUrl(), SOURCECODEURL_BINDING);
              protocolMarshaller.marshall(version.getTemplateUrl(), TEMPLATEURL_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }
docs: Marshall the given parameter object.