code: func (r *PrevRevisions) PutWithRevision(key string, inCurrent datasync.KeyVal) (
  	found bool, prev datasync.KeyVal) {
  
  	found, prev = r.Get(key)
  
  	currentRev := inCurrent.GetRevision()
  	if currentRev == 0 && prev != nil {
  		currentRev = prev.GetRevision() + 1
  	}
  
  	r.mu.Lock()
  	r.revisions[key] = &valWithRev{
  		LazyValue: inCurrent,
  		key:       key,
  		rev:       currentRev,
  	}
  	r.mu.Unlock()
  
  	return found, prev
  }
docs: // PutWithRevision updates the entry in the revisions and returns previous value.