func RegFiller(name string, fn func(obj interface{}) (interface{}, error)) {
	mu.Lock()
	fillers = append(fillers, &filler{
		name,
		fn,
		singleflight.Group{},
	})
	mu.Unlock()
}
RegFiller - register new filler into []fillers
package filler
import (
	"errors"
	"github.com/golang/groupcache/singleflight"
	"github.com/mitchellh/hashstructure"
	"reflect"
	"strconv"
	"strings"
	"sync"
	"time"
)
const (
	tagName   = "fill"
	ignoreTag = "-"
	emptyTag  = ""
)
var fillers []*filler
var mu sync.Mutex
type filler struct {
	tag string
	fn func(obj interface{}) (interface{}, error)
	singleFlightGroup singleflight.Group
}