class UrlNormalizingPostProcessor implements InterpolationPostProcessor {

    private static final Set<String> URL_EXPRESSIONS;

    static {
        Set<String> expressions = new HashSet<>();
        expressions.add("project.url");
        expressions.add("project.scm.url");
        expressions.add("project.scm.connection");
        expressions.add("project.scm.developerConnection");
        expressions.add("project.distributionManagement.site.url");

        URL_EXPRESSIONS = expressions;
    }

    private UrlNormalizer normalizer;

    UrlNormalizingPostProcessor(UrlNormalizer normalizer) {
        this.normalizer = normalizer;
    }

    @Override
    public Object execute(String expression, Object value) {<FILL_FUNCTION_BODY>}
}

        if (value != null && URL_EXPRESSIONS.contains(expression)) {
            return normalizer.normalize(value.toString());
        }

        return null;
    
<no_super_class>