class CustomAuthenticatorConfig implements AuthenticationConfig {

    @Override
    public AuthFilter<?, Principal> createAuthFilter(AuthenticationBootstrap bootstrap) {
        final ClassLoader classLoader = getClassLoader(classPath);
        final Class<?> klass = loadClass(classLoader, className);
        final Class<AuthenticationConfig> authConfigClass = toAuthConfigClass(klass);

        final AuthenticationConfig loadedConfig = loadAuthenticationConfig(properties, authConfigClass);

        return loadedConfig.createAuthFilter(bootstrap);
    }

    public  CustomAuthenticatorConfig(String className);
    public  CustomAuthenticatorConfig(String className, JsonNode properties);
    @JsonCreator public  CustomAuthenticatorConfig(
            @JsonProperty("className") String className,
            @JsonProperty("classPath") Optional<String> classPath,
            @JsonProperty("properties") Optional<JsonNode> properties);

}