code: func (n *node) CreateBucketIfNotExists(tx *bolt.Tx, bucket string) (*bolt.Bucket, error) {
  	var b *bolt.Bucket
  	var err error
  
  	bucketNames := append(n.rootBucket, bucket)
  
  	for _, bucketName := range bucketNames {
  		if b != nil {
  			if b, err = b.CreateBucketIfNotExists([]byte(bucketName)); err != nil {
  				return nil, err
  			}
  
  		} else {
  			if b, err = tx.CreateBucketIfNotExists([]byte(bucketName)); err != nil {
  				return nil, err
  			}
  		}
  	}
  
  	return b, nil
  }
docs: // CreateBucketIfNotExists creates the bucket below the current node if it doesn't
  // already exist.