func (r *Resolver) AddProvider(p Provider) error {
	r.providers = append(r.providers, p)
	return nil
}
AddProvider adds a new Provider to be searched for in case
a JSON pointer with more than just the URI fragment is given.
package jsref
import (
	"net/url"
	"reflect"
	"github.com/lestrrat/go-jspointer"
	"github.com/lestrrat/go-pdebug"
	"github.com/lestrrat/go-structinfo"
	"github.com/pkg/errors"
)
const ref = "$ref"
var refrv = reflect.ValueOf(ref)
type Option interface {
	Name() string
	Value() interface{}
}
type option struct {
	name  string
	value interface{}
}
func (o option) Name() string       { return o.name }
func (o option) Value() interface{} { return o.value }
func WithRecursiveResolution(b bool) Option {
	return &option{
		name:  "recursiveResolution",
		value: b,
	}
}
var DefaultMaxRecursions = 10
func New() *Resolver {
	return &Resolver{MaxRecursions: DefaultMaxRecursions}
}