docs: public void marshall(EC2InstanceDetails eC2InstanceDetails, ProtocolMarshaller protocolMarshaller) {
  
          if (eC2InstanceDetails == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(eC2InstanceDetails.getFamily(), FAMILY_BINDING);
              protocolMarshaller.marshall(eC2InstanceDetails.getInstanceType(), INSTANCETYPE_BINDING);
              protocolMarshaller.marshall(eC2InstanceDetails.getRegion(), REGION_BINDING);
              protocolMarshaller.marshall(eC2InstanceDetails.getAvailabilityZone(), AVAILABILITYZONE_BINDING);
              protocolMarshaller.marshall(eC2InstanceDetails.getPlatform(), PLATFORM_BINDING);
              protocolMarshaller.marshall(eC2InstanceDetails.getTenancy(), TENANCY_BINDING);
              protocolMarshaller.marshall(eC2InstanceDetails.getCurrentGeneration(), CURRENTGENERATION_BINDING);
              protocolMarshaller.marshall(eC2InstanceDetails.getSizeFlexEligible(), SIZEFLEXELIGIBLE_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }