docs: public void marshall(Policy policy, ProtocolMarshaller protocolMarshaller) {
  
          if (policy == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(policy.getPolicyId(), POLICYID_BINDING);
              protocolMarshaller.marshall(policy.getPolicyName(), POLICYNAME_BINDING);
              protocolMarshaller.marshall(policy.getPolicyUpdateToken(), POLICYUPDATETOKEN_BINDING);
              protocolMarshaller.marshall(policy.getSecurityServicePolicyData(), SECURITYSERVICEPOLICYDATA_BINDING);
              protocolMarshaller.marshall(policy.getResourceType(), RESOURCETYPE_BINDING);
              protocolMarshaller.marshall(policy.getResourceTypeList(), RESOURCETYPELIST_BINDING);
              protocolMarshaller.marshall(policy.getResourceTags(), RESOURCETAGS_BINDING);
              protocolMarshaller.marshall(policy.getExcludeResourceTags(), EXCLUDERESOURCETAGS_BINDING);
              protocolMarshaller.marshall(policy.getRemediationEnabled(), REMEDIATIONENABLED_BINDING);
              protocolMarshaller.marshall(policy.getIncludeMap(), INCLUDEMAP_BINDING);
              protocolMarshaller.marshall(policy.getExcludeMap(), EXCLUDEMAP_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }