private function resolveActionType(Action\ActionTypeInterface $type)
    {
        $typeExtensions = [];
        $parentType = $type->getParent();
        $class = get_class($type);

        foreach ($this->extensions as $extension) {
            $typeExtensions = array_merge(
                $typeExtensions,
                $extension->getActionTypeExtensions($class)
            );
        }

        return $this->resolvedTypeFactory->createResolvedActionType(
            $type,
            $typeExtensions,
            $parentType ? $this->getActionType($parentType) : null
        );
    }