class HttpWebHookNotifierProvider implements NotifierProvider, TemplateProvider {

    private final TemplateManager templateManager;

    private final WebClient.Builder builder;

    @Nonnull
    @Override
    public NotifyType getType() {
        return DefaultNotifyType.webhook;
    }

    @Nonnull
    @Override
    public Provider getProvider() {
        return WebHookProvider.http;
    }

    @Override
    public Mono<HttpWebHookTemplate> createTemplate(TemplateProperties properties) {
        return Mono.just(new HttpWebHookTemplate().with(properties).validate())
            .as(LocaleUtils::transform);
    }

    @Nonnull
    @Override
    public Mono<? extends Notifier<? extends Template>> createNotifier(@Nonnull NotifierProperties properties) {<FILL_FUNCTION_BODY>}
}


        HttpWebHookProperties hookProperties = FastBeanCopier.copy(properties.getConfiguration(),new HttpWebHookProperties());
        ValidatorUtils.tryValidate(hookProperties);

        WebClient.Builder client = builder.clone();

        client.baseUrl(hookProperties.getUrl());

        return Mono.just(new HttpWebHookNotifier(properties.getId(),
                                                 hookProperties,
                                                 client.build(),
                                                 templateManager))
            .as(LocaleUtils::transform);
    
<no_super_class>