public function getInitOptionsResolver()
    {
        if (null === $this->initOptionsResolver) {
            if (null !== $this->parent) {
                $this->initOptionsResolver = clone $this->parent->getInitOptionsResolver();
            } else {
                $this->initOptionsResolver = new OptionsResolver();
            }

            $this->innerType->setInitOptions($this->initOptionsResolver);

            foreach ($this->typeExtensions as $extension) {
                $extension->setInitOptions($this->initOptionsResolver);
            }
        }

        return $this->initOptionsResolver;
    }