code: func (c *ShardedClient) Get(key string) GetResponse {
  	shard, conn, err := c.manager.GetShard(key)
  	if shard == -1 {
  		return NewGetErrorResponse(key, c.unmappedError(key))
  	}
  	if err != nil {
  		return NewGetErrorResponse(key, c.connectionError(shard, err))
  	}
  	if conn == nil {
  		// NOTE: zero is an invalid version id.
  		return NewGetResponse(key, StatusKeyNotFound, 0, nil, 0)
  	}
  
  	client := c.builder(shard, conn)
  	defer c.release(client, conn)
  
  	result := client.Get(key)
  	if client.IsValidState() {
  		getOkByAddr.Add(conn.Key().Address, 1)
  	} else {
  		getErrByAddr.Add(conn.Key().Address, 1)
  	}
  	return result
  }
docs: // See Client interface for documentation.