/**
* {@inheritDoc}
*/
public function guessClass($object, $name)
{
$classes = [];
foreach ($object->getOneOf() as $oneOf) {
$oneOfName = $name . 'Sub';
$oneOfResolved = $oneOf;
if ($oneOf instanceof Reference) {
$oneOfName = array_pop(explode('/', $oneOf->getFragment()));
$oneOfResolved = $this->resolver->resolve($oneOf);
}
$merged = $this->jsonSchemaMerger->merge($object, $oneOfResolved);
$classes = array_merge($classes, $this->chainGuesser->guessClass($merged, $oneOfName));
if ($oneOf instanceof Reference) {
$oneOf->setResolved($merged);
}
}
return $classes;
}