code: func (cs *CachableSource) UnmarshalBinary(data []byte) error {
  	var b TarsumBackup
  	if err := b.Unmarshal(data); err != nil {
  		return err
  	}
  	txn := iradix.New().Txn()
  	for p, v := range b.Hashes {
  		txn.Insert([]byte(p), &fileInfo{sum: v})
  	}
  	cs.mu.Lock()
  	defer cs.mu.Unlock()
  	cs.tree = txn.Commit()
  	return nil
  }
docs: // UnmarshalBinary decodes cache information for presented byte array