code: func (c *RawBinaryClient) GetMulti(keys []string) map[string]GetResponse {
  	if keys == nil {
  		return nil
  	}
  
  	responses := make(map[string]GetResponse)
  	cacheKeys := c.removeDuplicateKey(keys)
  
  	c.mutex.Lock()
  	defer c.mutex.Unlock()
  
  	for _, key := range cacheKeys {
  		if resp := c.sendGetRequest(key); resp != nil {
  			responses[key] = resp
  		}
  	}
  
  	for _, key := range cacheKeys {
  		if _, inMap := responses[key]; inMap { // error occurred while sending
  			continue
  		}
  		responses[key] = c.receiveGetResponse(key)
  	}
  
  	return responses
  }
docs: // See Client interface for documentation.