protected function resolveInterfaceExtension(InterfaceDefinition $definition, Endpoint $endpoint): void
    {
        $bundleNamespace = ClassUtils::relatedBundleNamespace($definition->getClass());
        $extensionClass = ClassUtils::applyNamingConvention($bundleNamespace, 'Extension', null, $definition->getName().'Extension');
        if (class_exists($extensionClass)) {
            foreach ($definition->getImplementors() as $implementor) {
                $definition->addExtension($extensionClass);
                $object = $endpoint->getType($implementor);
                if ($object instanceof HasExtensionsInterface) {
                    $object->addExtension($extensionClass);
                }
            }
        }
    }
protected function resolveInterfaceExtension(InterfaceDefinition $definition, Endpoint $endpoint): void
    {
        $bundleNamespace = ClassUtils::relatedBundleNamespace($definition->getClass());
        $extensionClass = ClassUtils::applyNamingConvention($bundleNamespace, 'Extension', null, $definition->getName().'Extension');
        if (class_exists($extensionClass)) {
            foreach ($definition->getImplementors() as $implementor) {
                $definition->addExtension($extensionClass);
                $object = $endpoint->getType($implementor);
                if ($object instanceof HasExtensionsInterface) {
                    $object->addExtension($extensionClass);
                }
            }
        }
    }
protected function resolveInterfaceExtension ( InterfaceDefinition $ definition , Endpoint $ endpoint ) : void { $ bundleNamespace = ClassUtils :: relatedBundleNamespace ( $ definition -> getClass ( ) ) ; $ extensionClass = ClassUtils :: applyNamingConvention ( $ bundleNamespace , 'Extension' , null , $ definition -> getName ( ) . 'Extension' ) ; if ( class_exists ( $ extensionClass ) ) { foreach ( $ definition -> getImplementors ( ) as $ implementor ) { $ definition -> addExtension ( $ extensionClass ) ; $ object = $ endpoint -> getType ( $ implementor ) ; if ( $ object instanceof HasExtensionsInterface ) { $ object -> addExtension ( $ extensionClass ) ; } } } }
Using naming convention resolve CRUD extension for given interface definition and automatically register this extension
for all interface implementors

@param InterfaceDefinition $definition
@param Endpoint            $endpoint
Using naming convention resolve CRUD extension for given interface definition and automatically register this extension for all interface implementors