code: func (c *RawBinaryClient) Stat(statsKey string) StatResponse {
  	shardEntries := make(map[int](map[string]string))
  	entries := make(map[string]string)
  	shardEntries[c.ShardId()] = entries
  
  	c.mutex.Lock()
  	defer c.mutex.Unlock()
  
  	if !isValidKeyString(statsKey) {
  		return NewStatErrorResponse(
  			errors.Newf("Invalid key: %s", statsKey),
  			shardEntries)
  	}
  
  	err := c.sendRequest(opStat, 0, []byte(statsKey), nil)
  	if err != nil {
  		return NewStatErrorResponse(err, shardEntries)
  	}
  
  	for true {
  		status, _, key, value, err := c.receiveResponse(opStat)
  		if err != nil {
  			return NewStatErrorResponse(err, shardEntries)
  		}
  		if status != StatusNoError {
  			// In theory, this is a valid state, but treating this as valid
  			// complicates the code even more.
  			c.validState = false
  			return NewStatResponse(status, shardEntries)
  		}
  		if key == nil && value == nil { // the last entry
  			break
  		}
  		entries[string(key)] = string(value)
  	}
  	return NewStatResponse(StatusNoError, shardEntries)
  }
docs: // See Client interface for documentation.