docs: public void marshall(Certificate certificate, ProtocolMarshaller protocolMarshaller) {
  
          if (certificate == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(certificate.getCertificateIdentifier(), CERTIFICATEIDENTIFIER_BINDING);
              protocolMarshaller.marshall(certificate.getCertificateCreationDate(), CERTIFICATECREATIONDATE_BINDING);
              protocolMarshaller.marshall(certificate.getCertificatePem(), CERTIFICATEPEM_BINDING);
              protocolMarshaller.marshall(certificate.getCertificateWallet(), CERTIFICATEWALLET_BINDING);
              protocolMarshaller.marshall(certificate.getCertificateArn(), CERTIFICATEARN_BINDING);
              protocolMarshaller.marshall(certificate.getCertificateOwner(), CERTIFICATEOWNER_BINDING);
              protocolMarshaller.marshall(certificate.getValidFromDate(), VALIDFROMDATE_BINDING);
              protocolMarshaller.marshall(certificate.getValidToDate(), VALIDTODATE_BINDING);
              protocolMarshaller.marshall(certificate.getSigningAlgorithm(), SIGNINGALGORITHM_BINDING);
              protocolMarshaller.marshall(certificate.getKeyLength(), KEYLENGTH_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }