[SNEAKER-58] Implement support for recursive definition in JSON schema