docs: public void marshall(GetInstanceMetricDataRequest getInstanceMetricDataRequest, ProtocolMarshaller protocolMarshaller) {
  
          if (getInstanceMetricDataRequest == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(getInstanceMetricDataRequest.getInstanceName(), INSTANCENAME_BINDING);
              protocolMarshaller.marshall(getInstanceMetricDataRequest.getMetricName(), METRICNAME_BINDING);
              protocolMarshaller.marshall(getInstanceMetricDataRequest.getPeriod(), PERIOD_BINDING);
              protocolMarshaller.marshall(getInstanceMetricDataRequest.getStartTime(), STARTTIME_BINDING);
              protocolMarshaller.marshall(getInstanceMetricDataRequest.getEndTime(), ENDTIME_BINDING);
              protocolMarshaller.marshall(getInstanceMetricDataRequest.getUnit(), UNIT_BINDING);
              protocolMarshaller.marshall(getInstanceMetricDataRequest.getStatistics(), STATISTICS_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }