class ImmutablePipeline implements Pipeline {

    @Override
    public void validate() {
        stageExpressions.stream()
                .map(expression -> expression.replaceFirst(
                        functionExpression.getPrefix() + FunctionExpression.SEPARATOR, ""))
                .forEach(expression -> {
                    if (!functionExpression.supports(expression)) {
                        throw PlaceholderFunctionUnknownException.newBuilder(expression).build();
                    }
                });
    }

      ImmutablePipeline(final FunctionExpression functionExpression, final List<String> stageExpressions);

}