code: func (s *State) Lock(info *state.LockInfo) (string, error) {
  	s.mu.Lock()
  	defer s.mu.Unlock()
  
  	if s.disableLocks {
  		return "", nil
  	}
  
  	if c, ok := s.Client.(ClientLocker); ok {
  		return c.Lock(info)
  	}
  	return "", nil
  }
docs: // Lock calls the Client's Lock method if it's implemented.