code: func (p *DB) Find(key []byte) (rkey, value []byte, err error) {
  	p.mu.RLock()
  	if node, _ := p.findGE(key, false); node != 0 {
  		n := p.nodeData[node]
  		m := n + p.nodeData[node+nKey]
  		rkey = p.kvData[n:m]
  		value = p.kvData[m : m+p.nodeData[node+nVal]]
  	} else {
  		err = ErrNotFound
  	}
  	p.mu.RUnlock()
  	return
  }
docs: // Find finds key/value pair whose key is greater than or equal to the
  // given key. It returns ErrNotFound if the table doesn't contain
  // such pair.
  //
  // The caller should not modify the contents of the returned slice, but
  // it is safe to modify the contents of the argument after Find returns.