docs: public void marshall(AwsEc2InstanceDetails awsEc2InstanceDetails, ProtocolMarshaller protocolMarshaller) {
  
          if (awsEc2InstanceDetails == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(awsEc2InstanceDetails.getType(), TYPE_BINDING);
              protocolMarshaller.marshall(awsEc2InstanceDetails.getImageId(), IMAGEID_BINDING);
              protocolMarshaller.marshall(awsEc2InstanceDetails.getIpV4Addresses(), IPV4ADDRESSES_BINDING);
              protocolMarshaller.marshall(awsEc2InstanceDetails.getIpV6Addresses(), IPV6ADDRESSES_BINDING);
              protocolMarshaller.marshall(awsEc2InstanceDetails.getKeyName(), KEYNAME_BINDING);
              protocolMarshaller.marshall(awsEc2InstanceDetails.getIamInstanceProfileArn(), IAMINSTANCEPROFILEARN_BINDING);
              protocolMarshaller.marshall(awsEc2InstanceDetails.getVpcId(), VPCID_BINDING);
              protocolMarshaller.marshall(awsEc2InstanceDetails.getSubnetId(), SUBNETID_BINDING);
              protocolMarshaller.marshall(awsEc2InstanceDetails.getLaunchedAt(), LAUNCHEDAT_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }