code: public void marshall(RecordDetail recordDetail, ProtocolMarshaller protocolMarshaller) {
  
          if (recordDetail == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(recordDetail.getRecordId(), RECORDID_BINDING);
              protocolMarshaller.marshall(recordDetail.getProvisionedProductName(), PROVISIONEDPRODUCTNAME_BINDING);
              protocolMarshaller.marshall(recordDetail.getStatus(), STATUS_BINDING);
              protocolMarshaller.marshall(recordDetail.getCreatedTime(), CREATEDTIME_BINDING);
              protocolMarshaller.marshall(recordDetail.getUpdatedTime(), UPDATEDTIME_BINDING);
              protocolMarshaller.marshall(recordDetail.getProvisionedProductType(), PROVISIONEDPRODUCTTYPE_BINDING);
              protocolMarshaller.marshall(recordDetail.getRecordType(), RECORDTYPE_BINDING);
              protocolMarshaller.marshall(recordDetail.getProvisionedProductId(), PROVISIONEDPRODUCTID_BINDING);
              protocolMarshaller.marshall(recordDetail.getProductId(), PRODUCTID_BINDING);
              protocolMarshaller.marshall(recordDetail.getProvisioningArtifactId(), PROVISIONINGARTIFACTID_BINDING);
              protocolMarshaller.marshall(recordDetail.getPathId(), PATHID_BINDING);
              protocolMarshaller.marshall(recordDetail.getRecordErrors(), RECORDERRORS_BINDING);
              protocolMarshaller.marshall(recordDetail.getRecordTags(), RECORDTAGS_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }
docs: Marshall the given parameter object.