BVAL-170: improve speed of message interpolation when the pattern clearly cannot contain an EL expression; thanks to Thomas Andraschko
diff --git a/bval-jsr/src/main/java/org/apache/bval/el/ELFacade.java b/bval-jsr/src/main/java/org/apache/bval/el/ELFacade.java
index 3248f8a..40797de 100644
--- a/bval-jsr/src/main/java/org/apache/bval/el/ELFacade.java
+++ b/bval-jsr/src/main/java/org/apache/bval/el/ELFacade.java
@@ -61,25 +61,26 @@
     @Override
     public String interpolate(final String message, final Map<String, Object> annotationParameters,
         final Object validatedValue) {
-        try {
-            if (EvaluationType.IMMEDIATE.regex.matcher(message).find()) {
-                final BValELContext context = new BValELContext();
-                final VariableMapper variables = context.getVariableMapper();
-                annotationParameters.forEach(
-                    (k, v) -> variables.setVariable(k, expressionFactory.createValueExpression(v, Object.class)));
-
-                variables.setVariable("validatedValue",
-                    expressionFactory.createValueExpression(validatedValue, Object.class));
-
-                // Java Bean Validation does not support EL expressions that look like JSP "deferred" expressions
-                return expressionFactory.createValueExpression(context,
-                    EvaluationType.DEFERRED.regex.matcher(message).replaceAll("\\$0"), String.class).getValue(context)
-                    .toString();
+        if (message.contains("${") || message.contains("#{")) {
+            try {
+                if (EvaluationType.IMMEDIATE.regex.matcher(message).find()) {
+                    final BValELContext context = new BValELContext();
+                    final VariableMapper variables = context.getVariableMapper();
+                    annotationParameters.forEach(
+                        (k, v) -> variables.setVariable(k, expressionFactory.createValueExpression(v, Object.class)));
+    
+                    variables.setVariable("validatedValue",
+                        expressionFactory.createValueExpression(validatedValue, Object.class));
+    
+                    // Java Bean Validation does not support EL expressions that look like JSP "deferred" expressions
+                    return expressionFactory.createValueExpression(context,
+                        EvaluationType.DEFERRED.regex.matcher(message).replaceAll("\\$0"), String.class).getValue(context)
+                        .toString();
+                }
+            } catch (final Exception e) {
+                // no-op
             }
-        } catch (final Exception e) {
-            // no-op
         }
-
         return message;
     }