code: func (b *Bucket) Bucket(name []byte) *Bucket {
  	if b.buckets != nil {
  		if child := b.buckets[string(name)]; child != nil {
  			return child
  		}
  	}
  
  	// Move cursor to key.
  	c := b.Cursor()
  	k, v, flags := c.seek(name)
  
  	// Return nil if the key doesn't exist or it is not a bucket.
  	if !bytes.Equal(name, k) || (flags&bucketLeafFlag) == 0 {
  		return nil
  	}
  
  	// Otherwise create a bucket and cache it.
  	var child = b.openBucket(v)
  	if b.buckets != nil {
  		b.buckets[string(name)] = child
  	}
  
  	return child
  }
docs: // Bucket retrieves a nested bucket by name.
  // Returns nil if the bucket does not exist.
  // The bucket instance is only valid for the lifetime of the transaction.