@Override
    public String fromObjectToExpression(Object value) {
        FEELFnResult<String> invoke = codeFunction.invoke(value);
        return invoke.getOrElseThrow(feelEvent -> new IllegalArgumentException("This should not happen",
                                                                               feelEvent.getSourceException()));
    }
@Test
    public void fromObjectToExpression() {
        assertThat(expressionEvaluator.fromObjectToExpression("Test")).isEqualTo("\"Test\"");
        assertThat(expressionEvaluator.fromObjectToExpression(false)).isEqualTo("false");
        assertThat(expressionEvaluator.fromObjectToExpression(BigDecimal.valueOf(1))).isEqualTo("1");
        assertThat(expressionEvaluator.fromObjectToExpression(LocalDate.of(2019, 5, 13))).isEqualTo("date( \"2019-05-13\" )");
        assertThat(expressionEvaluator.fromObjectToExpression(null)).isEqualTo("null");
    }