code: func (c *RemoteClient) writeLockInfo(info *state.LockInfo) error {
  	containerReference := c.blobClient.GetContainerReference(c.containerName)
  	blobReference := containerReference.GetBlobReference(c.keyName)
  	err := blobReference.GetMetadata(&storage.GetBlobMetadataOptions{
  		LeaseID: c.leaseID,
  	})
  	if err != nil {
  		return err
  	}
  
  	if info == nil {
  		delete(blobReference.Metadata, lockInfoMetaKey)
  	} else {
  		value := base64.StdEncoding.EncodeToString(info.Marshal())
  		blobReference.Metadata[lockInfoMetaKey] = value
  	}
  
  	opts := &storage.SetBlobMetadataOptions{
  		LeaseID: c.leaseID,
  	}
  	return blobReference.SetMetadata(opts)
  }
docs: // writes info to blob meta data, deletes metadata entry if info is nil