class ImmutableFunctionExpression implements FunctionExpression {

    @Override
    public boolean supports(final String expressionName) {

        // it is sufficient that the passed in name starts with the function name and an opening parentheses,
        // e.g.: default('foo'). the function validates itself whether the remaining part is valid.
        return SUPPORTED.stream()
                .map(PipelineFunction::getName)
                .anyMatch(psfName -> expressionName.startsWith(psfName + "("));
    }

}