type objectValidator … func (o *objectValidator) SetPath(path string) { … } func (o *objectValidator) Applies(source interface{ … } func (o *objectValidator) Validate(data interface{ … } // TODO: succeededOnce is not used anywhere func (o *objectValidator) validatePatternProperty(key string, value interface{ … }