func (n *node) Init(data interface{}) error {
	v := reflect.ValueOf(data)
	cfg, err := extract(&v)
	if err != nil {
		return err
	}
	return n.readWriteTx(func(tx *bolt.Tx) error {
		return n.init(tx, cfg)
	})
}
Init creates the indexes and buckets for a given structure
package storm
import (
	"bytes"
	"reflect"
	"github.com/asdine/storm/index"
	"github.com/asdine/storm/q"
	"github.com/boltdb/bolt"
)
type TypeStore interface {
	Finder
	Init(data interface{}) error
	ReIndex(data interface{}) error
	Save(data interface{}) error
	Update(data interface{}) error
	UpdateField(data interface{}, fieldName string, value interface{}) error
	Drop(data interface{}) error
	DeleteStruct(data interface{}) error
	Remove(data interface{}) error
}