docs: public void marshall(ASN1Subject aSN1Subject, ProtocolMarshaller protocolMarshaller) {
  
          if (aSN1Subject == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(aSN1Subject.getCountry(), COUNTRY_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getOrganization(), ORGANIZATION_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getOrganizationalUnit(), ORGANIZATIONALUNIT_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getDistinguishedNameQualifier(), DISTINGUISHEDNAMEQUALIFIER_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getState(), STATE_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getCommonName(), COMMONNAME_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getSerialNumber(), SERIALNUMBER_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getLocality(), LOCALITY_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getTitle(), TITLE_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getSurname(), SURNAME_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getGivenName(), GIVENNAME_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getInitials(), INITIALS_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getPseudonym(), PSEUDONYM_BINDING);
              protocolMarshaller.marshall(aSN1Subject.getGenerationQualifier(), GENERATIONQUALIFIER_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }