func NewDecoderWithContext(dc bsoncodec.DecodeContext, vr bsonrw.ValueReader) (*Decoder, error) {
	if dc.Registry == nil {
		dc.Registry = DefaultRegistry
	}
	if vr == nil {
		return nil, errors.New("cannot create a new Decoder with a nil ValueReader")
	}

	return &Decoder{
		dc: dc,
		vr: vr,
	}, nil
}
// NewDecoderWithContext returns a new decoder that uses DecodeContext dc to read from vr.
NewDecoderWithContext returns a new decoder that uses DecodeContext dc to read from vr.
// NewDecoderWithContext returns a new decoder that uses DecodeContext dc to read from vr .
func NewDecoderWithContext(dc bsoncodec.DecodeContext, vr bsonrw.ValueReader) (*Decoder, error) {
	if dc.Registry == nil {
		dc.Registry = DefaultRegistry
	}
	if vr == nil {
		return nil, errors.New("cannot create a new Decoder with a nil ValueReader")
	}
	return &Decoder{
		dc: dc,
		vr: vr,
	}, nil
}
func NewDecoderWithContext ( dc bsoncodec . DecodeContext , vr bsonrw . ValueReader ) ( * Decoder , error ) { if dc . Registry == nil { dc . Registry = DefaultRegistry } if vr == nil { return nil , errors . New ( " " ) } return & Decoder { dc : dc , vr : vr , } , nil }
NewDecoderWithContext returns a new decoder that uses DecodeContext dc to read from vr.
NewDecoderWithContext returns a new decoder that uses DecodeContext dc to read from vr .