code: func (c *Client) GetValue(key string) (data []byte, found bool, revision int64, err error) {
  	boltLogger.Debugf("GetValue: %q", key)
  
  	err = c.db.View(func(tx *bolt.Tx) error {
  		value := tx.Bucket(rootBucket).Get([]byte(key))
  		if value == nil {
  			return fmt.Errorf("value for key %q not found in bucket", key)
  		}
  
  		found = true
  		data = append([]byte(nil), value...) // value needs to be copied
  
  		return nil
  	})
  	return data, found, 0, err
  }
docs: // GetValue returns data for the given key