code: func (c *attrCache) Get(id uint64) map[string]interface{} {
  	c.mu.RLock()
  	defer c.mu.RUnlock()
  	attrs := c.attrs[id]
  	if attrs == nil {
  		return nil
  	}
  
  	// Make a copy for safety
  	ret := make(map[string]interface{})
  	for k, v := range attrs {
  		ret[k] = v
  	}
  	return ret
  }
docs: // Get returns the cached attributes for a given id.