static Object actualCoerceValue(DMNType requiredType, Object valueToCoerce) {
        Object toReturn = valueToCoerce;
        if (!requiredType.isCollection() && valueToCoerce instanceof Collection &&
                ((Collection) valueToCoerce).size() == 1) {
            // spec defines that "a=[a]", i.e., singleton collections should be treated as the single element
            // and vice-versa
            return ((Collection) valueToCoerce).toArray()[0];
        }
        if (valueToCoerce instanceof LocalDate localDate &&
                requiredType instanceof SimpleTypeImpl simpleType &&
                simpleType.getFeelType() == BuiltInType.DATE_TIME) {
            return DateTimeEvalHelper.coerceDateTime(localDate);
        }
        return toReturn;
    }
@Test
    void actualCoerceValueNotConverted() {
        Object value = BigDecimal.valueOf(1L);
        DMNType requiredType = new SimpleTypeImpl("http://www.omg.org/spec/DMN/20180521/FEEL/",
                                                  "number",
                                                  null,
                                                  false,
                                                  null,
                                                  null,
                                                  null,
                                                  BuiltInType.NUMBER);
        Object retrieved = CoerceUtil.actualCoerceValue(requiredType, value);
        assertNotNull(retrieved);
        assertEquals(value, retrieved);
    }