/** * {@inheritdoc} * * @param FixtureReferenceValue $value * * @throws UnresolvableValueException */ public function resolve(ValueInterface $value, FixtureInterface $fixture, ResolvedFixtureSet $fixtureSet, array $scope, GenerationContext $context) : ResolvedValueWithFixtureSet { if (null === $this->generator) { throw ObjectGeneratorNotFoundExceptionFactory::createUnexpectedCall(__METHOD__); } $referredFixtureId = $value->getValue(); if ($referredFixtureId instanceof ValueInterface) { throw UnresolvableValueExceptionFactory::create($value); } $referredFixture = $this->getReferredFixture($referredFixtureId, $fixtureSet); return $this->resolveReferredFixture($referredFixture, $referredFixtureId, $fixtureSet, $context); }