code: @Override
      public ListThingsResult listThings(ListThingsRequest request) {
          request = beforeClientExecution(request);
          return executeListThings(request);
      }
docs: <p>
  Lists your things. Use the <b>attributeName</b> and <b>attributeValue</b> parameters to filter your things. For
  example, calling <code>ListThings</code> with attributeName=Color and attributeValue=Red retrieves all things in
  the registry that contain an attribute <b>Color</b> with the value <b>Red</b>.
  </p>
  
  @param listThingsRequest
  The input for the ListThings operation.
  @return Result of the ListThings operation returned by the service.
  @throws InvalidRequestException
  The request is not valid.
  @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.
  @sample AWSIot.ListThings