code: func NewGetCommand(device contract.Device, command contract.Command, context context.Context, httpCaller internal.HttpCaller) (Executor, error) {
  	url := device.Service.Addressable.GetBaseURL() + strings.Replace(command.Get.Action.Path, DEVICEIDURLPARAM, device.Id, -1)
  	request, err := http.NewRequest(http.MethodGet, url, nil)
  	if err != nil {
  		return serviceCommand{}, err
  	}
  
  	correlationID := context.Value(clients.CorrelationHeader)
  	if correlationID != nil {
  		request.Header.Set(clients.CorrelationHeader, correlationID.(string))
  	}
  
  	return serviceCommand{
  		Device:     device,
  		HttpCaller: httpCaller,
  		Request:    request,
  	}, nil
  }
docs: // NewGetCommand creates and Executor which can be used to execute the GET related command.