code: @Override
      public GetThingShadowResult getThingShadow(GetThingShadowRequest request) {
          request = beforeClientExecution(request);
          return executeGetThingShadow(request);
      }
docs: <p>
  Gets the thing shadow for the specified thing.
  </p>
  <p>
  For more information, see <a
  href="http://docs.aws.amazon.com/iot/latest/developerguide/API_GetThingShadow.html">GetThingShadow</a> in the
  <i>AWS IoT Developer Guide</i>.
  </p>
  
  @param getThingShadowRequest
  The input for the GetThingShadow operation.
  @return Result of the GetThingShadow operation returned by the service.
  @throws InvalidRequestException
  The request is not valid.
  @throws ResourceNotFoundException
  The specified resource does not exist.
  @throws ThrottlingException
  The rate exceeds the limit.
  @throws UnauthorizedException
  You are not authorized to perform this operation.
  @throws ServiceUnavailableException
  The service is temporarily unavailable.
  @throws InternalFailureException
  An unexpected error has occurred.
  @throws MethodNotAllowedException
  The specified combination of HTTP verb and URI is not supported.
  @throws UnsupportedDocumentEncodingException
  The document encoding is not supported.
  @sample AWSIotData.GetThingShadow