code: public void marshall(InstanceDetails instanceDetails, ProtocolMarshaller protocolMarshaller) {
  
          if (instanceDetails == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(instanceDetails.getAvailabilityZone(), AVAILABILITYZONE_BINDING);
              protocolMarshaller.marshall(instanceDetails.getIamInstanceProfile(), IAMINSTANCEPROFILE_BINDING);
              protocolMarshaller.marshall(instanceDetails.getImageDescription(), IMAGEDESCRIPTION_BINDING);
              protocolMarshaller.marshall(instanceDetails.getImageId(), IMAGEID_BINDING);
              protocolMarshaller.marshall(instanceDetails.getInstanceId(), INSTANCEID_BINDING);
              protocolMarshaller.marshall(instanceDetails.getInstanceState(), INSTANCESTATE_BINDING);
              protocolMarshaller.marshall(instanceDetails.getInstanceType(), INSTANCETYPE_BINDING);
              protocolMarshaller.marshall(instanceDetails.getLaunchTime(), LAUNCHTIME_BINDING);
              protocolMarshaller.marshall(instanceDetails.getNetworkInterfaces(), NETWORKINTERFACES_BINDING);
              protocolMarshaller.marshall(instanceDetails.getPlatform(), PLATFORM_BINDING);
              protocolMarshaller.marshall(instanceDetails.getProductCodes(), PRODUCTCODES_BINDING);
              protocolMarshaller.marshall(instanceDetails.getTags(), TAGS_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }
docs: Marshall the given parameter object.