protected boolean isAnMVELExpression(String rawValue) {
        /* NOT COLLECTIONS CASE */
        if (rawValue.trim().startsWith(MVEL_ESCAPE_SYMBOL)) {
            return true;
        }
        /* COLLECTION CASE */
        Optional<JsonNode> optionalNode = JsonUtils.convertFromStringToJSONNode(rawValue);
        return optionalNode.filter(
                jsonNode -> jsonNode.isTextual() && jsonNode.asText().trim().startsWith(MVEL_ESCAPE_SYMBOL)).isPresent();
    }
@Test
    public void isAnMVELExpression() {
        ExpressionEvaluatorFactory ruleEvaluatorFactory = ExpressionEvaluatorFactory.create(classLoader, ScenarioSimulationModel.Type.RULE);
        assertThat(ruleEvaluatorFactory.isAnMVELExpression("10")).isFalse();
        assertThat(ruleEvaluatorFactory.isAnMVELExpression(MVEL_ESCAPE_SYMBOL + "10")).isTrue();
        assertThat(ruleEvaluatorFactory.isAnMVELExpression("     " + MVEL_ESCAPE_SYMBOL + " 10")).isTrue();
        assertThat(ruleEvaluatorFactory.isAnMVELExpression(new TextNode(MVEL_ESCAPE_SYMBOL + " 10").textValue())).isTrue();
        assertThat(ruleEvaluatorFactory.isAnMVELExpression(new TextNode("     " + MVEL_ESCAPE_SYMBOL + " 10").textValue())).isTrue();
        assertThat(ruleEvaluatorFactory.isAnMVELExpression(new TextNode("10").textValue())).isFalse();
    }