class StandardFDProcessorService extends BaseExtensionComponentService<VersionedProcessor, ProcessorDefinition, FDProcessor> implements FDProcessorService {

    @Override
    public FDProcessor create(final String flowId, final String processGroupId, final VersionedProcessor requestComponentConfig) {
        final FDFlow currentFlow = getFlowOrNotFound(flowId);
        validateRequestValues(requestComponentConfig);

        final String requestType = requestComponentConfig.getType();
        final Bundle requestBundle = requestComponentConfig.getBundle();

        final FDProcessor createdComponent = createExtensionComponent(
                currentFlow,
                processGroupId,
                requestType,
                requestComponentConfig,
                (em) -> em.createProcessor(requestType, requestBundle),
                VersionedProcessGroup::getProcessors,
                this::validate
        );

        ComponentUtils.populateControllerServicePropertyDescriptors(currentFlow, processGroupId, createdComponent.getComponentDefinition());
        return createdComponent;
    }

    @Autowired public  StandardFDProcessorService(final FDFlowManager flowManager, final FDExtensionManagers extensionManagers, final ValidationService validationService);

}