protected function parseClassNames(ContainerInterface $container)
    {
        if ($container->hasDefinition(ExtendedDca::NAME)) {
            $definition = $container->getDefinition(ExtendedDca::NAME);

            if (!($definition instanceof ExtendedDca)) {
                throw new DcGeneralInvalidArgumentException(
                    \sprintf(
                        'Definition with name %s must be an instance of ExtendedDca but instance of %s encountered.',
                        ExtendedDca::NAME,
                        \get_class($definition)
                    )
                );
            }
        } else {
            $definition = new ExtendedDca();
            $container->setDefinition(ExtendedDca::NAME, $definition);
        }

        if (null === $this->getFromDca('dca_config')) {
            return;
        }

        if (null !== ($class = $this->getFromDca('dca_config/controller'))) {
            $definition->setControllerClass($class);
        }

        if (null !== ($class = $this->getFromDca('dca_config/view'))) {
            $definition->setViewClass($class);
        }
    }